{"id":21723,"date":"2026-06-10T23:19:38","date_gmt":"2026-06-10T21:19:38","guid":{"rendered":"https:\/\/www.drugshortage.ch\/?page_id=21723"},"modified":"2026-06-17T21:47:03","modified_gmt":"2026-06-17T19:47:03","slug":"lieferengpassvergleich-ch-de-aut-fr","status":"publish","type":"page","link":"https:\/\/www.drugshortage.ch\/index.php\/lieferengpassvergleich-ch-de-aut-fr\/","title":{"rendered":"Lieferengpassvergleich International"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Datenquellen : CH: Drugshortage.ch; DE: parmnet-bund.de ; AT: BASG; FR: ANSM; IT: AIFA; ES :AEMPS; BE: Pharmastatut: FI: FIMEA; HU: OGYEY SK: SUKL <br>CZ: SUKLSK, SL: JAZMP; SE: L\u00e4kemedelsverket; NO: DMP; LV: ZVA; LT: VVKT; <br>Hinweis : die Daten aus Deutschland stammen aus freiwilligen Meldungen von Firmen. \u00d6sterreich, Italien, Spanien, Belgien, Finnland, Ungarn, die Slowakei Tschechien, Slowenien, Schweden, Norwegen; Lettland und Frankreich haben verbindlichere Meldesysteme. Die Lieferengp\u00e4sse in Frankreich sind aggregiert (d.h. die Z\u00e4hlung ist nicht pro Produkt, sondern pro Wirkstoff). Die Details geben Auskunft. Effektiv direkt vergleichbar sind \u00d6sterreich, Italien, Spanien, Belgien, Finnland, Ungarn, die Slowakei, Tschechien, Slowenien, Schweden Norwegen, Lettland und die Schweiz, da die Daten in hoher Granularit\u00e4t und Zuverl\u00e4ssigkeit vorliegen. In anderen L\u00e4ndern Europas (z.B. D\u00e4nemark, Niederlande, D\u00e4nemark, Polen, Bulgarien, Rum\u00e4nien, Irland und England) sind die Daten bisher nicht offen abrufbar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WICHTIG : die Zahlen alleine sagen an sich nur aus, dass es Lieferengp\u00e4sse in den diversen L\u00e4ndern gibt. Die Schwere des Lieferengpasses ist vom Wirkstoff einerseits abh\u00e4ngig, aber auch von den m\u00f6glichen Alternativen im Land selber. Dies ist aus der nachfolgenden Zusammenstellung nicht zu lesen.<\/p>\n\n\n\n<!-- ============================================================\n     drugshortage.ch \u2013 Vergleich 16 L\u00e4nder, regional gruppiert\n     CH | AT IT | ES BE | HU SK CZ SI | LV LT FI SE NO | DE FR\n     ============================================================ -->\n<style>\n#vgl-outer { font-family:'Segoe UI',Arial,sans-serif; font-size:13px; color:#2d3748; max-width:1080px; }\n.vgl-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:16px; }\n.vgl-title { font-size:16px; font-weight:700; color:#1a202c; }\n.vgl-meta { font-size:11px; color:#a0aec0; }\n.vgl-summary { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }\n.vgl-stat { background:#f7fafc; border:1px solid #e2e8f0; border-radius:8px; padding:10px 18px; text-align:center; }\n.vgl-stat-val { font-size:22px; font-weight:700; color:#e53e3e; }\n.vgl-stat-lbl { font-size:11px; color:#718096; margin-top:2px; }\n.vgl-stat.blue .vgl-stat-val { color:#2b6cb0; }\n.vgl-stat.amber .vgl-stat-val { color:#d69e2e; }\n.vgl-stat.violet .vgl-stat-val { color:#6b46c1; }\n.vgl-stat.teal .vgl-stat-val { color:#319795; }\n.vgl-stat.orange .vgl-stat-val { color:#dd6b20; }\n.vgl-stat.pink .vgl-stat-val { color:#d53f8c; }\n.vgl-stat.cyan .vgl-stat-val { color:#0987a0; }\n.vgl-stat.green2 .vgl-stat-val { color:#2f855a; }\n.vgl-stat.red2 .vgl-stat-val { color:#c53030; }\n.vgl-stat.blue2 .vgl-stat-val { color:#2b6cb0; }\n.vgl-stat.slate .vgl-stat-val { color:#4a5568; }\n.vgl-stat.seagreen .vgl-stat-val { color:#2c7a7b; }\n.vgl-stat.indigo .vgl-stat-val { color:#4c51bf; }\n.vgl-stat.purple .vgl-stat-val { color:#9f7aea; }\n.vgl-stat.gold .vgl-stat-val { color:#b7791f; }\n.vgl-search { width:100%; max-width:300px; padding:7px 12px; border:1px solid #e2e8f0; border-radius:6px; font-size:13px; margin-bottom:14px; }\n.vgl-table { width:100%; border-collapse:collapse; font-size:12px; }\n.vgl-table th { background:#f7fafc; padding:8px 10px; text-align:left; border-bottom:2px solid #e2e8f0; font-size:11px; color:#718096; text-transform:uppercase; letter-spacing:.5px; cursor:pointer; user-select:none; }\n.vgl-table th:hover { background:#edf2f7; }\n.vgl-table td { padding:7px 10px; border-bottom:1px solid #f0f0f0; vertical-align:middle; }\n.vgl-table tr:hover td { background:#f7fafc; cursor:pointer; }\n.vgl-atc { font-family:monospace; font-weight:700; color:#2b6cb0; font-size:13px; }\n.vgl-wirkstoff { color:#2d3748; max-width:200px; }\n.vgl-wirkstoff small { color:#718096; display:block; font-size:10px; }\n.vgl-link { color:#2b6cb0; text-decoration:none; }\n.vgl-link:hover { text-decoration:underline; }\n.vgl-spinner { display:inline-block; width:18px; height:18px; border:2px solid #e2e8f0; border-top-color:#e53e3e; border-radius:50%; animation:vglspin .7s linear infinite; vertical-align:middle; margin-right:8px; }\n@keyframes vglspin { to { transform:rotate(360deg); } }\n\n\/* Detail-Modal *\/\n.vgl-modal { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.5); z-index:9999; overflow-y:auto; }\n.vgl-modal-box { background:#fff; border-radius:12px; max-width:1120px; margin:40px auto; padding:24px; }\n.vgl-modal-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }\n.vgl-modal-title { font-size:15px; font-weight:700; }\n.vgl-modal-close { background:none; border:none; font-size:20px; cursor:pointer; color:#718096; }\n.vgl-modal-cols { display:flex; flex-direction:column; gap:18px; }\n.vgl-modal-groupwrap { border-radius:8px; }\n.vgl-modal-grouptitle { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; padding:4px 0 8px; border-bottom:2px solid; margin-bottom:10px; }\n.vgl-modal-grouptitle.oblig { color:#276749; border-color:#38a169; }\n.vgl-modal-grouptitle.frei  { color:#975a16; border-color:#d69e2e; }\n.vgl-modal-cols-inner { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }\n.vgl-modal-groupwrap:last-child .vgl-modal-cols-inner { grid-template-columns:repeat(2,1fr); }\n@media(max-width:1100px) { .vgl-modal-cols-inner { grid-template-columns:repeat(4,1fr) !important; } }\n@media(max-width:800px) { .vgl-modal-cols-inner { grid-template-columns:repeat(3,1fr) !important; } }\n@media(max-width:600px) { .vgl-modal-cols-inner { grid-template-columns:1fr 1fr !important; } }\n@media(max-width:420px) { .vgl-modal-cols-inner { grid-template-columns:1fr !important; } }\n.vgl-modal-col { border:1px solid #e2e8f0; border-radius:8px; overflow:hidden; }\n.vgl-modal-col-header { padding:10px 14px; font-weight:700; font-size:12px; display:flex; align-items:center; gap:6px; }\n.vgl-modal-col-header.ch { background:#fff5f5; color:#c53030; }\n.vgl-modal-col-header.at { background:#fffaf0; color:#975a16; }\n.vgl-modal-col-header.it { background:#e6fffa; color:#234e52; }\n.vgl-modal-col-header.es { background:#fffaf0; color:#7b341e; }\n.vgl-modal-col-header.be { background:#fff5f7; color:#97266d; }\n.vgl-modal-col-header.hu { background:#f0fff4; color:#2f855a; }\n.vgl-modal-col-header.sk { background:#fff5f5; color:#9b2c2c; }\n.vgl-modal-col-header.cz { background:#ebf8ff; color:#2b6cb0; }\n.vgl-modal-col-header.si { background:#f7fafc; color:#4a5568; }\n.vgl-modal-col-header.lv { background:#faf5ff; color:#6b46c1; }\n.vgl-modal-col-header.lt { background:#fffaf0; color:#975a16; }\n.vgl-modal-col-header.fi { background:#e6fffa; color:#0987a0; }\n.vgl-modal-col-header.se { background:#e6fffa; color:#2c7a7b; }\n.vgl-modal-col-header.no { background:#ebf0ff; color:#4c51bf; }\n.vgl-modal-col-header.de { background:#ebf8ff; color:#2c5282; }\n.vgl-modal-col-header.fr { background:#faf5ff; color:#553c9a; }\n.vgl-modal-item { padding:8px 14px; border-top:1px solid #f0f0f0; font-size:12px; }\n.vgl-modal-item b { display:block; color:#2d3748; margin-bottom:2px; }\n.vgl-modal-item small { color:#718096; display:block; }\n.vgl-modal-empty { padding:16px; text-align:center; color:#a0aec0; font-size:12px; }\n.vgl-modal-ext { font-size:11px; color:#2b6cb0; }\n\n.vgl-grouprow th { background:#fff; border-bottom:none; padding-bottom:2px; font-size:10px; text-align:center; letter-spacing:.3px; }\n.vgl-group-oblig { color:#276749; border-bottom:2px solid #38a169 !important; }\n.vgl-group-frei  { color:#cbd5e0; border-bottom:1px solid #e2e8f0 !important; font-size:9px; font-weight:400; }\n.vgl-col-oblig { background:#f0fff4 !important; }\n.vgl-col-zusatz { background:#fafafa !important; width:34px; max-width:34px; padding:7px 4px !important; font-size:10px; color:#a0aec0; text-align:center; }\n.vgl-col-de { width:48px !important; max-width:48px !important; font-size:12px !important; }\nth.vgl-col-zusatz { color:#a0aec0 !important; font-size:13px; }\n.vgl-kreuz { color:#a0aec0; font-weight:700; font-size:12px; }\n.vgl-leer  { color:#e2e8f0; }\n<\/style>\n\n<div id=\"vgl-outer\">\n  <div class=\"vgl-header\">\n    <div>\n      <div class=\"vgl-title\">&#x1f1e8;&#x1f1ed; Lieferengp\u00e4sse \u2013 L\u00e4ndervergleich (16 L\u00e4nder)<\/div>\n      <div class=\"vgl-meta\" id=\"vgl-meta\">Wird geladen&#8230;<\/div>\n    <\/div>\n    <input class=\"vgl-search\" id=\"vgl-search\" type=\"text\" placeholder=\"ATC oder Wirkstoff suchen...\">\n  <\/div>\n\n  <div class=\"vgl-summary\" id=\"vgl-summary\">\n    <div style=\"padding:20px;color:#a0aec0;\"><span class=\"vgl-spinner\"><\/span> Lade Daten&#8230;<\/div>\n  <\/div>\n\n  <table class=\"vgl-table\" id=\"vgl-table\" style=\"display:none;\">\n    <thead>\n      <tr class=\"vgl-grouprow\">\n        <th colspan=\"2\"><\/th>\n        <th colspan=\"14\" class=\"vgl-group-oblig\">Meldesystem nach Packung \u00b7 obligatorisch<\/th>\n        <th colspan=\"2\" class=\"vgl-group-frei\" title=\"Freiwillige Meldung (DE) bzw. nur aggregierte Wirkstoffdaten (FR) \u2013 weniger zuverl\u00e4ssig\">Zusatz<\/th>\n        <th colspan=\"1\"><\/th>\n      <\/tr>\n      <tr>\n        <th onclick=\"vglSort('atc')\">ATC &#x2195;<\/th>\n        <th onclick=\"vglSort('wirkstoff')\">Wirkstoff &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlCH')\" class=\"vgl-col-oblig\">&#x1f1e8;&#x1f1ed; CH &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlAT')\" class=\"vgl-col-oblig\">&#x1f1e6;&#x1f1f9; AT &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlIT')\" class=\"vgl-col-oblig\">&#x1f1ee;&#x1f1f9; IT &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlES')\" class=\"vgl-col-oblig\">&#x1f1ea;&#x1f1f8; ES &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlBE')\" class=\"vgl-col-oblig\">&#x1f1e7;&#x1f1ea; BE &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlHU')\" class=\"vgl-col-oblig\">&#x1f1ed;&#x1f1fa; HU &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlSK')\" class=\"vgl-col-oblig\">&#x1f1f8;&#x1f1f0; SK &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlCZ')\" class=\"vgl-col-oblig\">&#x1f1e8;&#x1f1ff; CZ &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlSI')\" class=\"vgl-col-oblig\">&#x1f1f8;&#x1f1ee; SI &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlLV')\" class=\"vgl-col-oblig\">&#x1f1f1;&#x1f1fb; LV &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlLT')\" class=\"vgl-col-oblig\">&#x1f1f1;&#x1f1f9; LT &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlFI')\" class=\"vgl-col-oblig\">&#x1f1eb;&#x1f1ee; FI &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlSE')\" class=\"vgl-col-oblig\">&#x1f1f8;&#x1f1ea; SE &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlNO')\" class=\"vgl-col-oblig\">&#x1f1f3;&#x1f1f4; NO &#x2195;<\/th>\n        <th onclick=\"vglSort('anzahlDE')\" class=\"vgl-col-zusatz vgl-col-de\" title=\"Deutschland \u2013 freiwillige Herstellermeldung\">&#x1f1e9;&#x1f1ea;<\/th>\n        <th onclick=\"vglSort('anzahlFR')\" class=\"vgl-col-zusatz\" title=\"Frankreich \u2013 nur aggregierte Wirkstoffdaten\">&#x1f1eb;&#x1f1f7;<\/th>\n        <th>Detail<\/th>\n      <\/tr>\n    <\/thead>\n    <tbody id=\"vgl-body\"><\/tbody>\n  <\/table>\n<\/div>\n\n<!-- Detail Modal -->\n<div class=\"vgl-modal\" id=\"vgl-modal\" onclick=\"if(event.target===this)vglCloseModal()\">\n  <div class=\"vgl-modal-box\">\n    <div class=\"vgl-modal-header\">\n      <div class=\"vgl-modal-title\" id=\"vgl-modal-title\">Detail<\/div>\n      <button class=\"vgl-modal-close\" onclick=\"vglCloseModal()\">\u2715<\/button>\n    <\/div>\n    <div id=\"vgl-modal-loading\" style=\"text-align:center;padding:20px;color:#a0aec0;\">\n      <span class=\"vgl-spinner\"><\/span> Lade Details&#8230;\n    <\/div>\n    <div class=\"vgl-modal-cols\" id=\"vgl-modal-cols\" style=\"display:none;\"><\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst VGL_API = 'https:\/\/www.drugshortage.ch\/ds.php?a=vergleich_ch_de_at_fr_it_es_be_fi_hu_sk_cz_si_se_no_lv_lt';\n\/\/ Signierung erfolgt serverseitig in ds.php (Origin-geschuetzt). Kein Schluessel im Browser.\n\nlet vglData = [];\nlet vglSortKey = 'anzahlCH';\nlet vglSortDir = -1;\n\n\n\/\/ Regionale Reihenfolge der Packungs-L\u00e4nder + Metadaten\nconst VGL_LAENDER = [\n  {c:'ch', key:'anzahlCH', flag:'&#x1f1e8;&#x1f1ed;', name:'Schweiz',    color:'#e53e3e'},\n  {c:'at', key:'anzahlAT', flag:'&#x1f1e6;&#x1f1f9;', name:'\u00d6sterreich', color:'#b7791f'},\n  {c:'it', key:'anzahlIT', flag:'&#x1f1ee;&#x1f1f9;', name:'Italien',    color:'#319795'},\n  {c:'es', key:'anzahlES', flag:'&#x1f1ea;&#x1f1f8;', name:'Spanien',    color:'#dd6b20'},\n  {c:'be', key:'anzahlBE', flag:'&#x1f1e7;&#x1f1ea;', name:'Belgien',    color:'#d53f8c'},\n  {c:'hu', key:'anzahlHU', flag:'&#x1f1ed;&#x1f1fa;', name:'Ungarn',     color:'#2f855a'},\n  {c:'sk', key:'anzahlSK', flag:'&#x1f1f8;&#x1f1f0;', name:'Slowakei',   color:'#c53030'},\n  {c:'cz', key:'anzahlCZ', flag:'&#x1f1e8;&#x1f1ff;', name:'Tschechien', color:'#2b6cb0'},\n  {c:'si', key:'anzahlSI', flag:'&#x1f1f8;&#x1f1ee;', name:'Slowenien',  color:'#4a5568'},\n  {c:'lv', key:'anzahlLV', flag:'&#x1f1f1;&#x1f1fb;', name:'Lettland',   color:'#9f7aea'},\n  {c:'lt', key:'anzahlLT', flag:'&#x1f1f1;&#x1f1f9;', name:'Litauen',    color:'#b7791f'},\n  {c:'fi', key:'anzahlFI', flag:'&#x1f1eb;&#x1f1ee;', name:'Finnland',   color:'#0987a0'},\n  {c:'se', key:'anzahlSE', flag:'&#x1f1f8;&#x1f1ea;', name:'Schweden',   color:'#2c7a7b'},\n  {c:'no', key:'anzahlNO', flag:'&#x1f1f3;&#x1f1f4;', name:'Norwegen',   color:'#4c51bf'},\n];\n\nfunction vglEsc(s){ return (s||'').toString().replace(\/[<>&\"]\/g, c => ({'<':'&lt;','>':'&gt;','&':'&amp;','\"':'&quot;'}[c])); }\n\nasync function vglLaden() {\n  try {\n    const res = await fetch(VGL_API);\n    const txt = await res.text();\n    let d;\n    try { d = JSON.parse(txt); }\n    catch(e) {\n      document.getElementById('vgl-summary').innerHTML =\n        '&#x274c; Keine g\u00fcltige JSON-Antwort (HTTP ' + res.status + '). Anfang: <code style=\"font-size:10px\">' +\n        txt.substring(0,200).replace(\/<\/g,'&lt;') + '<\/code>';\n      return;\n    }\n    if (!d.ok) {\n      document.getElementById('vgl-summary').innerHTML =\n        '&#x274c; API-Fehler: ' + (d.error || 'unbekannt') + (d.detail ? ' \u2013 ' + d.detail : '');\n      return;\n    }\n    vglData = d.vergleich || [];\n\n    \/\/ Neutrale Meta-Zeile statt willk\u00fcrlicher CH\/DE\/AT\/FR\/IT-Auswahl\n    document.getElementById('vgl-meta').textContent =\n      vglData.length + ' ATC-Gruppen betroffen \u00b7 16 L\u00e4nder im Vergleich';\n\n    \/\/ Summary-Kacheln in regionaler Reihenfolge + DE\/FR am Schluss\n    const totalKey = {ch:'totalCH',at:'totalAT',it:'totalIT',es:'totalES',be:'totalBE',\n      hu:'totalHU',sk:'totalSK',cz:'totalCZ',si:'totalSI',lv:'totalLV',lt:'totalLT',fi:'totalFI',se:'totalSE',no:'totalNO'};\n    const cssClass = {ch:'',at:'amber',it:'teal',es:'orange',be:'pink',hu:'green2',sk:'red2',\n      cz:'blue2',si:'slate',lv:'purple',lt:'gold',fi:'cyan',se:'seagreen',no:'indigo'};\n    let sumHtml = `<div class=\"vgl-stat\"><div class=\"vgl-stat-val\">${vglData.length}<\/div><div class=\"vgl-stat-lbl\">ATC-Gruppen betroffen<\/div><\/div>`;\n    VGL_LAENDER.forEach(L => {\n      sumHtml += `<div class=\"vgl-stat ${cssClass[L.c]}\"><div class=\"vgl-stat-val\"${L.c==='ch'?' style=\"color:#e53e3e\"':''}>${d[totalKey[L.c]]||0}<\/div>`\n              + `<div class=\"vgl-stat-lbl\">${L.flag} ${L.c.toUpperCase()} (Packung)<\/div><\/div>`;\n    });\n    sumHtml += `<div class=\"vgl-stat blue\"><div class=\"vgl-stat-val\">${d.totalDE||0}<\/div><div class=\"vgl-stat-lbl\">&#x1f1e9;&#x1f1ea; DE (freiwillig)<\/div><\/div>`;\n    sumHtml += `<div class=\"vgl-stat violet\"><div class=\"vgl-stat-val\">${d.totalFR||0}<\/div><div class=\"vgl-stat-lbl\">&#x1f1eb;&#x1f1f7; FR (aggregiert)<\/div><\/div>`;\n    document.getElementById('vgl-summary').innerHTML = sumHtml;\n\n    vglRender();\n  } catch(e) {\n    document.getElementById('vgl-summary').innerHTML = '&#x274c; ' + e.toString();\n  }\n}\n\nfunction vglRender() {\n  const q = document.getElementById('vgl-search').value.toLowerCase();\n  let rows = vglData.filter(r =>\n    !q || r.atc.toLowerCase().includes(q) ||\n    (r.wirkstoff||'').toLowerCase().includes(q)\n  );\n  rows.sort((a,b) => vglSortDir * (\n    typeof a[vglSortKey] === 'number'\n      ? a[vglSortKey] - b[vglSortKey]\n      : (a[vglSortKey]||'').localeCompare(b[vglSortKey]||'')\n  ));\n\n  let html = '';\n  rows.forEach(r => {\n    const ws  = vglEsc((r.wirkstoff||'').split(';')[0].substring(0,38));\n    const wsAttr = (r.wirkstoff||'').replace(\/'\/g,\"\\\\'\").replace(\/\"\/g,'');\n    const deVal = r.anzahlDE || 0;\n    const deZahl = deVal > 0\n      ? '<b style=\"color:#2c5282\">' + deVal + '<\/b>'\n      : '<span class=\"vgl-leer\">\u2013<\/span>';\n    const frKreuz = (r.anzahlFR||0) > 0 ? '<span class=\"vgl-kreuz\">\u2717<\/span>' : '<span class=\"vgl-leer\">\u2013<\/span>';\n    \/\/ Packungs-L\u00e4nder-Zellen in regionaler Reihenfolge\n    let cells = '';\n    VGL_LAENDER.forEach(L => {\n      const val = r[L.key] || 0;\n      if (L.c === 'ch') {\n        cells += `<td class=\"vgl-col-oblig\"><b>${val}<\/b><\/td>`;\n      } else {\n        cells += `<td class=\"vgl-col-oblig\"><b style=\"color:${val>0?L.color:'#cbd5e0'}\">${val}<\/b><\/td>`;\n      }\n    });\n    html += `<tr onclick=\"vglDetail('${r.atc}','${wsAttr}')\">\n      <td><span class=\"vgl-atc\">${r.atc}<\/span><\/td>\n      <td class=\"vgl-wirkstoff\">${ws}<\/td>\n      ${cells}\n      <td class=\"vgl-col-zusatz vgl-col-de\" style=\"text-align:center\">${deZahl}<\/td>\n      <td class=\"vgl-col-zusatz\" style=\"text-align:center\">${frKreuz}<\/td>\n      <td><span style=\"font-size:18px;cursor:pointer;\" title=\"Detail anzeigen\">&#x1f50d;<\/span><\/td>\n    <\/tr>`;\n  });\n\n  document.getElementById('vgl-body').innerHTML = html || '<tr><td colspan=\"19\" style=\"text-align:center;color:#a0aec0;padding:20px;\">Keine Treffer<\/td><\/tr>';\n  document.getElementById('vgl-table').style.display = 'table';\n}\n\nfunction vglSort(key) {\n  if (vglSortKey === key) vglSortDir *= -1;\n  else { vglSortKey = key; vglSortDir = -1; }\n  vglRender();\n}\n\ndocument.getElementById('vgl-search').addEventListener('input', vglRender);\n\nasync function vglDetail(atc, wirkstoff) {\n  document.getElementById('vgl-modal-title').textContent = atc + ' \u2013 ' + wirkstoff.split(';')[0].substring(0,50);\n  document.getElementById('vgl-modal-loading').style.display = 'block';\n  document.getElementById('vgl-modal-cols').style.display = 'none';\n  document.getElementById('vgl-modal').style.display = 'block';\n  document.body.style.overflow = 'hidden';\n\n  try {\n    const res = await fetch(VGL_API + '&atc=' + encodeURIComponent(atc));\n    const d   = await res.json();\n\n    \/\/ --- L\u00e4nder-Detailspalten-Renderer ---\n    const esTipo = {\n      2:'Nur Krankenhaus', 3:'Arzt: Alternative pr\u00fcfen', 4:'Tempor\u00e4rer Engpass',\n      5:'Alternative verf\u00fcgbar', 6:'Alternative (Kombi) verf\u00fcgbar', 7:'Als Auslandsimport',\n      9:'Kontrollierte Verteilung', 10:'Ausnahmeimport genehmigt', 11:'OTC-Alternative',\n      12:'Kontingentiert an Spit\u00e4ler'\n    };\n\n    const renderer = {\n      ch: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firma)} \u00b7 GTIN: ${vglEsc(r.gtin)}<\/small>\n        <small>Status: ${vglEsc(r.status)}<\/small>\n        <small>Lieferdatum: ${vglEsc(r.lieferdatum)||'\u2013'} \u00b7 Erste Meldung: ${vglEsc(r.ersteMeldung)}<\/small>\n        ${r.bemerkungen ? '<small>Bem: ' + vglEsc(r.bemerkungen) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/www.drugshortage.ch\/?gtin=${vglEsc(r.gtin)}\" target=\"_blank\">&#x2197; drugshortage.ch<\/a><\/small>`,\n      at: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firma)}<\/small>\n        <small>Wirkstoffe: ${vglEsc(r.wirkstoffe)}<\/small>\n        <small>${vglEsc(r.staerke)||''} \u00b7 ${vglEsc(r.darreichung)||''}<\/small>\n        <small>Status: ${vglEsc(r.status)||'\u2013'}<\/small>\n        ${r.beginn ? '<small>Beginn: ' + vglEsc(r.beginn) + (r.wiederbelieferung ? ' \u00b7 Wiederbel.: ' + vglEsc(r.wiederbelieferung) : '') + '<\/small>' : ''}\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund) + '<\/small>' : ''}\n        ${r.parallelexport==='Ja' ? '<small>&#x26d4; Parallelexportverbot<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/medicineshortage.basg.gv.at\/vertriebseinschraenkungen\" target=\"_blank\">&#x2197; basg.gv.at<\/a><\/small>`,\n      it: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        <small>${vglEsc(r.forma)}<\/small>\n        <small>Grund: ${vglEsc(r.motivazioni)||'\u2013'}<\/small>\n        ${r.inizio ? '<small>Beginn: ' + vglEsc(r.inizio) + (r.fine ? ' \u00b7 Ende (gesch.): ' + vglEsc(r.fine) : '') + '<\/small>' : ''}\n        ${r.equivalente && r.equivalente.toLowerCase().startsWith('s') ? '<small>\u2713 \u00c4quivalent verf\u00fcgbar<\/small>' : ''}\n        ${r.suggerimenti ? '<small>AIFA: ' + vglEsc(r.suggerimenti.substring(0,90)) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/www.aifa.gov.it\/farmaci-carenti\" target=\"_blank\">&#x2197; aifa.gov.it<\/a><\/small>`,\n      es: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>CN: ${vglEsc(r.cn)}<\/small>\n        <small>Typ: ${esTipo[r.tipo] || ('Typ ' + vglEsc(r.tipo))}<\/small>\n        ${r.inicio ? '<small>Beginn: ' + vglEsc(r.inicio) + (r.fin ? ' \u00b7 Ende (gesch.): ' + vglEsc(r.fin) : '') + '<\/small>' : ''}\n        ${r.observ ? '<small>' + vglEsc(r.observ.substring(0,110)) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/cima.aemps.es\/cima\/publico\/listadesabastecimiento.html\" target=\"_blank\">&#x2197; cima.aemps.es<\/a><\/small>`,\n      be: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 CNK: ${vglEsc(r.cnk)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        <small>Status: ${vglEsc(r.statut)||'\u2013'}<\/small>\n        ${r.raison ? '<small>Grund: ' + vglEsc(r.raison) + '<\/small>' : ''}\n        ${r.impact ? '<small>Impact: ' + vglEsc(r.impact.substring(0,90)) + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gesch.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/pharmastatut.be\/human\/medical-products\/unavailable\" target=\"_blank\">&#x2197; pharmastatut.be<\/a><\/small>`,\n      hu: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 TK: ${vglEsc(r.tk)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund) + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gepl.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/ogyei.gov.hu\/gyogyszerhiany\" target=\"_blank\">&#x2197; ogyei.gov.hu<\/a><\/small>`,\n      sk: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 \u0160\u00daKL: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.bis ? '<small>G\u00fcltig bis: ' + vglEsc(r.bis) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/portal.sukl.sk\/PreruseniePublic\/?act=PrerusenieOznList\" target=\"_blank\">&#x2197; sukl.sk<\/a><\/small>`,\n      cz: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.doplnek)} \u00b7 S\u00daKL: ${vglEsc(r.code)}<\/small>\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund) + '<\/small>' : ''}\n        ${r.obnova ? '<small>Wiederaufnahme (gepl.): ' + vglEsc(r.obnova) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/prehledy.sukl.cz\/prehledy\/v1\/web\/vypadky\" target=\"_blank\">&#x2197; sukl.cz<\/a><\/small>`,\n      si: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 D\u0160: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.grund ? '<small>Meldung: ' + vglEsc(r.grund) + (r.verlaeng > 0 ? ' \u00b7 &#x21bb; Verl\u00e4ngerung' : '') + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gepl.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/www.jazmp.si\/humana-zdravila\/podatki-o-zdravilih\/zdravila-na-trgu\/\" target=\"_blank\">&#x2197; jazmp.si<\/a><\/small>`,\n      lv: r => `<b>${vglEsc(r.bezeichnung)}${r.staerke ? ' ' + vglEsc(r.staerke) : ''}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 ID: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.form ? '<small>' + vglEsc(r.form) + '<\/small>' : ''}\n        ${r.von ? '<small>Unterbrochen: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Wiederkehr (gepl.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        ${r.stock==='1' ? '<small>&#x2139; Restbestand im Gro\u00dfhandel<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/dati.zva.gov.lv\/zalu-registrs\/\" target=\"_blank\">&#x2197; zva.gov.lv<\/a><\/small>`,\n      lt: r => `<b>${vglEsc(r.bezeichnung)}${r.staerke ? ' ' + vglEsc(r.staerke) : ''}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 NPAKID: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.form ? '<small>' + vglEsc(r.form) + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gepl.): ' + vglEsc(r.bis) : ' \u00b7 Ende unbekannt') + '<\/small>' : ''}\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/vvkt.lrv.lt\/lt\/svarbi-informacija\/vaistu-tiekimo-sutrikimai-ir-isduoti-leidimai-tiekti-vaistus-pakuotemis-uzsienio-kalba\/\" target=\"_blank\">&#x2197; vvkt.lrv.lt<\/a><\/small>`,\n      fi: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 VNR: ${vglEsc(r.vnr)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gesch.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/fimea.fi\/laakehaut_ja_luettelot\/saatavuushairio-uusi\" target=\"_blank\">&#x2197; fimea.fi<\/a><\/small>`,\n      se: r => `<b>${vglEsc(r.bezeichnung)}${r.staerke ? ' ' + vglEsc(r.staerke) : ''}<\/b>\n        <small>${vglEsc(r.form)} \u00b7 Varunr: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund.substring(0,90)) + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende' + (r.prognos > 0 ? ' (Prognose)' : '') + ': ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/www.lakemedelsverket.se\/sv\/behandling-och-forskrivning\/forskrivning\/lakemedelstillganglighet\/sok-anmalda-forsaljningsuppehall\" target=\"_blank\">&#x2197; lakemedelsverket.se<\/a><\/small>`,\n      no: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firme)} \u00b7 Varenr: ${vglEsc(r.code)}<\/small>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        ${r.grund ? '<small>Grund: ' + vglEsc(r.grund) + '<\/small>' : ''}\n        ${r.von ? '<small>Beginn: ' + vglEsc(r.von) + (r.bis ? ' \u00b7 Ende (gepl.): ' + vglEsc(r.bis) : '') + '<\/small>' : ''}\n        ${r.tiltak ? '<small>Massnahme: ' + vglEsc(r.tiltak.substring(0,90)) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/www.dmp.no\/forsyningssikkerhet\/legemiddelmangel\/oversikt-over-legemiddelmangel---for-apotek\" target=\"_blank\">&#x2197; dmp.no<\/a><\/small>`,\n      de: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>${vglEsc(r.firma)}<\/small>\n        <small>Wirkstoffe: ${vglEsc(r.wirkstoffe)}<\/small>\n        <small>Engpass: ${vglEsc(r.beginn)} \u2013 ${vglEsc(r.ende)}<\/small>\n        <small>Grund: ${vglEsc(r.grund)}${r.krankenhaus==='ja' ? ' \u00b7 &#x1f3e5; KH-relevant' : ''}<\/small>\n        ${r.alternativ && r.alternativ!=='N\/A' ? '<small>Alternativ: ' + vglEsc(r.alternativ.substring(0,80)) + '<\/small>' : ''}\n        <small><a class=\"vgl-link vgl-modal-ext\" href=\"https:\/\/anwendungen.pharmnet-bund.de\/lieferengpassmeldungen\/faces\/jsp\/suche.jsf\" target=\"_blank\">&#x2197; pharmnet-bund.de<\/a><\/small>`,\n      fr: r => `<b>${vglEsc(r.bezeichnung)}<\/b>\n        <small>Wirkstoff: ${vglEsc(r.wirkstoffe)}<\/small>\n        <small>Status: ${vglEsc(r.status)||'\u2013'}<\/small>\n        ${r.debut ? '<small>Beginn: ' + vglEsc(r.debut) + '<\/small>' : ''}\n        ${r.maj ? '<small>Aktualisiert: ' + vglEsc(r.maj) + '<\/small>' : ''}\n        ${r.domaine ? '<small>Bereich: ' + vglEsc(r.domaine) + '<\/small>' : ''}\n        ${r.url ? '<small><a class=\"vgl-link vgl-modal-ext\" href=\"' + vglEsc(r.url) + '\" target=\"_blank\">&#x2197; ansm.sante.fr<\/a><\/small>' : ''}`,\n    };\n\n    const emptyMsg = {\n      ch:'Keine aktiven CH-Eintr\u00e4ge', at:'Keine aktiven AT-Meldungen', it:'Keine aktiven IT-Carenze',\n      es:'Keine aktiven ES-Engp\u00e4sse', be:'Keine aktiven BE-Engp\u00e4sse', hu:'Keine aktiven HU-Engp\u00e4sse',\n      sk:'Keine aktiven SK-Engp\u00e4sse', cz:'Keine aktiven CZ-Engp\u00e4sse', si:'Keine aktiven SI-Engp\u00e4sse',\n      lv:'Keine aktiven LV-Engp\u00e4sse', lt:'Keine aktiven LT-Engp\u00e4sse', fi:'Keine aktiven FI-Engp\u00e4sse', se:'Keine aktiven SE-Engp\u00e4sse',\n      no:'Keine aktiven NO-Engp\u00e4sse', de:'Keine aktiven DE-Meldungen', fr:'Keine aktiven FR-Engp\u00e4sse'\n    };\n\n    function buildCol(L) {\n      const list = d[L.c] || [];\n      let inner = list.map(r => `<div class=\"vgl-modal-item\">${renderer[L.c](r)}<\/div>`).join('');\n      if (!inner) inner = `<div class=\"vgl-modal-empty\">${emptyMsg[L.c]}<\/div>`;\n      return `<div class=\"vgl-modal-col\">\n        <div class=\"vgl-modal-col-header ${L.c}\">${L.flag} ${L.name} (${list.length})<\/div>\n        <div style=\"max-height:420px;overflow-y:auto;\">${inner}<\/div>\n      <\/div>`;\n    }\n\n    \/\/ Obligatorische Gruppe: regionale Reihenfolge\n    const obligHtml = VGL_LAENDER.map(buildCol).join('');\n    \/\/ Zusatz-Gruppe: DE, FR\n    const deL = {c:'de', flag:'&#x1f1e9;&#x1f1ea;', name:'Deutschland'};\n    const frL = {c:'fr', flag:'&#x1f1eb;&#x1f1f7;', name:'Frankreich'};\n    const zusatzHtml = buildCol(deL) + buildCol(frL);\n\n    document.getElementById('vgl-modal-cols').innerHTML = `\n      <div class=\"vgl-modal-groupwrap\">\n        <div class=\"vgl-modal-grouptitle oblig\">Meldesystem nach Packung \u00b7 obligatorisch<\/div>\n        <div class=\"vgl-modal-cols-inner\">${obligHtml}<\/div>\n      <\/div>\n      <div class=\"vgl-modal-groupwrap\">\n        <div class=\"vgl-modal-grouptitle frei\">Meldesystem freiwillig (DE) \u00b7 Daten aggregiert (FR)<\/div>\n        <div class=\"vgl-modal-cols-inner\">${zusatzHtml}<\/div>\n      <\/div>`;\n\n    document.getElementById('vgl-modal-loading').style.display = 'none';\n    document.getElementById('vgl-modal-cols').style.display = 'grid';\n  } catch(e) {\n    document.getElementById('vgl-modal-loading').innerHTML = '&#x274c; ' + e.toString();\n  }\n}\n\nfunction vglCloseModal() {\n  document.getElementById('vgl-modal').style.display = 'none';\n  document.body.style.overflow = '';\n}\n\nvglLaden();\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\">.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Datenquellen : CH: Drugshortage.ch; DE: parmnet-bund.de ; AT: BASG; FR: ANSM; IT: AIFA; ES :AEMPS; BE: Pharmastatut: FI: FIMEA; HU: OGYEY SK: SUKL CZ: SUKLSK, SL: JAZMP; SE: L\u00e4kemedelsverket; NO: DMP; LV: ZVA; LT: VVKT; Hinweis : die Daten aus Deutschland stammen aus freiwilligen Meldungen von Firmen. \u00d6sterreich, Italien, Spanien, Belgien, Finnland, Ungarn, die Slowakei&#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-21723","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21723","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=21723"}],"version-history":[{"count":29,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21723\/revisions"}],"predecessor-version":[{"id":21812,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21723\/revisions\/21812"}],"wp:attachment":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=21723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}