{"id":21893,"date":"2026-06-30T14:28:31","date_gmt":"2026-06-30T12:28:31","guid":{"rendered":"https:\/\/www.drugshortage.ch\/?page_id=21893"},"modified":"2026-06-30T14:34:22","modified_gmt":"2026-06-30T12:34:22","slug":"statistiques","status":"publish","type":"page","link":"https:\/\/www.drugshortage.ch\/index.php\/statistiques\/","title":{"rendered":"Statistiques"},"content":{"rendered":"\n<!-- ============================================================\n     drugshortage.ch Graphiques d'analyse\n     Visible publiquement \u2014 Version fran\u00e7aise\n     ============================================================ -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.0\/dist\/chart.umd.min.js\"><\/script>\n<style>\n  #aw-outer { width:100%; box-sizing:border-box; font-family:'Segoe UI',Arial,sans-serif; font-size:13px; color:#2d3748; }\n  .aw-header { margin-bottom:20px; }\n  .aw-header h2 { font-size:18px; font-weight:700; color:#1a202c; margin-bottom:4px; }\n  .aw-header p  { font-size:13px; color:#718096; }\n  .aw-meta { font-size:11px; color:#a0aec0; margin-top:4px; }\n\n  \/* Onglets *\/\n  .aw-tabs { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:20px; border-bottom:2px solid #e2e8f0; padding-bottom:0; }\n  .aw-tab {\n    padding:8px 16px; border:none; background:none; font-size:12px; font-weight:600;\n    color:#718096; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-2px;\n    transition:all .15s; border-radius:6px 6px 0 0;\n  }\n  .aw-tab:hover { color:#2d3748; background:#f7fafc; }\n  .aw-tab.active { color:#e53e3e; border-bottom-color:#e53e3e; background:#fff; }\n\n  \/* Boutons de p\u00e9riode *\/\n  .aw-range { display:flex; gap:6px; margin-bottom:16px; flex-wrap:wrap; }\n  .aw-range-btn {\n    padding:5px 12px; border:1px solid #e2e8f0; border-radius:6px;\n    background:#fff; font-size:11px; font-weight:600; color:#718096; cursor:pointer;\n    transition:all .15s;\n  }\n  .aw-range-btn:hover { border-color:#e53e3e; color:#e53e3e; }\n  .aw-range-btn.active { background:#e53e3e; color:#fff; border-color:#e53e3e; }\n\n  \/* Cartes de graphiques *\/\n  .aw-chart-card {\n    background:#fff; border:1px solid #e2e8f0; border-radius:12px;\n    padding:20px 20px 16px; margin-bottom:20px; box-shadow:0 1px 4px rgba(0,0,0,.05);\n  }\n  .aw-chart-title { font-size:13px; font-weight:700; color:#2d3748; margin-bottom:14px; }\n  .aw-chart-wrap { position:relative; height:280px; }\n\n  \/* Chargement *\/\n  .aw-loading { text-align:center; padding:60px; color:#718096; }\n  .aw-spinner { display:inline-block; width:32px; height:32px; border:4px solid #e2e8f0; border-top-color:#e53e3e; border-radius:50%; animation:awspin .8s linear infinite; margin-bottom:12px; }\n  @keyframes awspin { to { transform:rotate(360deg); } }\n\n  \/* Panneau *\/\n  .aw-panel { display:none; }\n  .aw-panel.active { display:block; }\n<\/style>\n\n<div id=\"aw-outer\">\n  <div class=\"aw-header\">\n    <h2>&#x1f4ca; Analyses<\/h2>\n    <p>\u00c9volution temporelle des p\u00e9nuries de m\u00e9dicaments en Suisse<\/p>\n    <div class=\"aw-meta\" id=\"aw-meta\"><\/div>\n  <\/div>\n\n  <div id=\"aw-loading\" class=\"aw-loading\">\n    <div class=\"aw-spinner\"><\/div><br>Chargement des donn\u00e9es\u2026\n  <\/div>\n\n  <div id=\"aw-content\" style=\"display:none;\">\n\n    <!-- Onglets -->\n    <div class=\"aw-tabs\">\n      <button class=\"aw-tab active\" onclick=\"awTab(this,'zeitreihe')\">Vue d&#8217;ensemble<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'bwlwho')\">OFAE \/ OMS<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'dauer')\">Dur\u00e9e<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'sl')\">LS \/ G\u00e9n\u00e9riques<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'preis')\">Cat\u00e9gories de prix<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'ex')\">Prix ex-factory<\/button>\n      <button class=\"aw-tab\" onclick=\"awTab(this,'theoret')\">Prix th\u00e9orique<\/button>\n    <\/div>\n\n    <!-- P\u00e9riode -->\n    <div class=\"aw-range\">\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,30)\">30 jours<\/button>\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,90)\">90 jours<\/button>\n      <button class=\"aw-range-btn active\" onclick=\"awRange(this,180)\">6 mois<\/button>\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,365)\">1 an<\/button>\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,730)\">2 ans<\/button>\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,1825)\">5 ans<\/button>\n      <button class=\"aw-range-btn\" onclick=\"awRange(this,9999)\">Tout<\/button>\n    <\/div>\n\n    <!-- Panneau : Vue d'ensemble -->\n    <div class=\"aw-panel active\" id=\"panel-zeitreihe\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Nombre de produits en p\u00e9nurie<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-anzahl\"><\/canvas><\/div>\n      <\/div>\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">P\u00e9nuries en cours &amp; principes actifs concern\u00e9s<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-offen\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : OFAE\/OMS -->\n    <div class=\"aw-panel\" id=\"panel-bwlwho\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Seulement OFAE \/ Seulement OMS \/ OFAE et OMS \/ Sans attribution<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-bwlwho\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : Dur\u00e9e -->\n    <div class=\"aw-panel\" id=\"panel-dauer\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Dur\u00e9e des p\u00e9nuries<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-dauer\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : LS \/ G\u00e9n\u00e9riques -->\n    <div class=\"aw-panel\" id=\"panel-sl\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">LS \/ Hors LS<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-sl\"><\/canvas><\/div>\n      <\/div>\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Original \/ G\u00e9n\u00e9rique \/ Listes A-D<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-gen\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : Prix public -->\n    <div class=\"aw-panel\" id=\"panel-preis\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Cat\u00e9gories de prix public<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-preis\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : Prix ex-factory -->\n    <div class=\"aw-panel\" id=\"panel-ex\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Cat\u00e9gories de prix ex-factory<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-ex\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Panneau : Prix th\u00e9orique -->\n    <div class=\"aw-panel\" id=\"panel-theoret\">\n      <div class=\"aw-chart-card\">\n        <div class=\"aw-chart-title\">Cat\u00e9gories de prix public th\u00e9orique<\/div>\n        <div class=\"aw-chart-wrap\"><canvas id=\"chart-theoret\"><\/canvas><\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nconst AW_API = \"https:\/\/www.drugshortage.ch\/api\/api_auswertung.php\";\n\n\/\/ Couleurs\nconst COLORS = {\n  red:    '#e53e3e', redL:  'rgba(229,62,62,.35)',\n  blue:   '#3182ce', blueL: 'rgba(49,130,206,.35)',\n  green:  '#38a169', greenL:'rgba(56,161,105,.35)',\n  orange: '#dd6b20', orangeL:'rgba(221,107,32,.35)',\n  purple: '#805ad5', purpleL:'rgba(128,90,213,.35)',\n  teal:   '#319795', tealL:  'rgba(49,151,149,.35)',\n  pink:   '#d53f8c', pinkL:  'rgba(213,63,140,.35)',\n  gray:   '#718096', grayL:  'rgba(113,128,150,.35)',\n  navy:   '#2b6cb0', navyL:  'rgba(43,108,176,.35)',\n};\n\nconst PALETTE = Object.values(COLORS).filter((_,i) => i % 2 === 0);\n\n\/\/ Convertit une couleur hex en cha\u00eene rgba avec l'alpha donn\u00e9\nfunction hexToRgba(hex, alpha) {\n  const r = parseInt(hex.slice(1,3), 16);\n  const g = parseInt(hex.slice(3,5), 16);\n  const b = parseInt(hex.slice(5,7), 16);\n  return `rgba(${r},${g},${b},${alpha})`;\n}\n\nlet awData = null;\nlet awDays = 180;\nconst awCharts = {};\n\n\/\/ Options de base pour TOUS les graphiques (communes, \u00e9tendues par graphique)\nfunction awBaseOptions(stacked) {\n  return {\n    responsive: true,\n    maintainAspectRatio: false,\n    interaction: { mode: 'index', intersect: false },\n    plugins: {\n      legend: { position: 'bottom', labels: { boxWidth: 12, font: { size: 11 } } },\n      tooltip: {\n        bodyFont: { size: 11 },\n        titleFont: { size: 11 },\n        \/\/ Affiche le total cumul\u00e9 dans l'infobulle\n        callbacks: stacked ? {\n          footer: function(items) {\n            const total = items.reduce((s, i) => s + (i.parsed.y || 0), 0);\n            return 'Total : ' + total;\n          }\n        } : {}\n      }\n    },\n    scales: {\n      x: {\n        ticks: { maxTicksLimit: 10, font: { size: 10 } },\n        grid: { display: false }\n      },\n      y: {\n        stacked: stacked,\n        ticks: { font: { size: 10 } },\n        grid: { color: '#f0f0f0' }\n      }\n    },\n    elements: {\n      point: { radius: 0, hitRadius: 10 },\n      line: { tension: 0.3, borderWidth: 1.5 }\n    }\n  };\n}\n\nfunction awFilter(arr) {\n  if (!arr || !arr.length) return [];\n  return arr.slice(-awDays);\n}\n\n\/\/ Format de date pour la Suisse romande : JJ.MM.AAAA\nfunction isoVersFr(s) {\n  if (!s) return '';\n  const p = s.substring(0,10).split('-');\n  if (p.length < 3) return s;\n  return p[2] + '.' + p[1] + '.' + p[0];\n}\n\nfunction isoVersFrHeure(s) {\n  if (!s) return '';\n  const clean = s.substring(0,16).replace('T',' ');\n  const spaceIdx = clean.indexOf(' ');\n  const datPart = spaceIdx > 0 ? clean.substring(0, spaceIdx) : clean;\n  const heurePart = spaceIdx > 0 ? clean.substring(spaceIdx+1) : '';\n  const dat = datPart.split('-');\n  if (dat.length < 3) return s;\n  return dat[2] + '.' + dat[1] + '.' + dat[0] + (heurePart ? ' ' + heurePart : '');\n}\n\nfunction awLabels(arr) {\n  return awFilter(arr).map(r => isoVersFr(r.datum));\n}\n\n\/\/ Constructeur de jeu de donn\u00e9es pour graphiques EMPIL\u00c9S (fill: true, axe y empil\u00e9)\nfunction awDs(arr, key, label, color, colorL) {\n  return {\n    label,\n    data: awFilter(arr).map(r => r[key]),\n    borderColor: color,\n    backgroundColor: colorL,\n    fill: true,\n  };\n}\n\n\/\/ Cr\u00e9e un graphique : stacked=true \u2192 aires empil\u00e9es, stacked=false \u2192 normal\nfunction awMakeChart(id, datasets, labels, stacked = true) {\n  if (awCharts[id]) { awCharts[id].destroy(); }\n  const ctx = document.getElementById(id);\n  if (!ctx) return;\n  awCharts[id] = new Chart(ctx, {\n    type: 'line',\n    data: { labels, datasets },\n    options: awBaseOptions(stacked)\n  });\n}\n\nfunction awBuild() {\n  if (!awData) return;\n  const d = awData;\n\n  \/\/ Vue d'ensemble \u2013 une seule s\u00e9rie \u2192 pas d'empilement n\u00e9cessaire, mais avec remplissage\n  const lblZ = awLabels(d.zeitreihe);\n  awMakeChart('chart-anzahl', [\n    awDs(d.zeitreihe, 'anzahl', 'Produits en p\u00e9nurie', COLORS.red, COLORS.redL),\n  ], lblZ, false);\n\n  \/\/ P\u00e9nuries en cours + principes actifs : 2 indicateurs ind\u00e9pendants \u2192 PAS empil\u00e9s\n  awMakeChart('chart-offen', [\n    awDs(d.zeitreihe, 'offen',      'P\u00e9nuries en cours',              COLORS.blue,   COLORS.blueL),\n    awDs(d.zeitreihe, 'wirkstoffe', 'Principes actifs \/ combinaisons', COLORS.orange, COLORS.orangeL),\n  ], lblZ, false);\n\n  \/\/ OFAE\/OMS \u2013 empil\u00e9 : la somme = nombre total de p\u00e9nuries\n  const lblB = awLabels(d.bwlWho);\n  awMakeChart('chart-bwlwho', [\n    awDs(d.bwlWho, 'nurBwl',        'Seulement OFAE',    COLORS.red,    COLORS.redL),\n    awDs(d.bwlWho, 'nurWho',        'Seulement OMS',     COLORS.blue,   COLORS.blueL),\n    awDs(d.bwlWho, 'bwlUndWho',     'OFAE et OMS',       COLORS.purple, COLORS.purpleL),\n    awDs(d.bwlWho, 'ohneZuordnung', 'Sans attribution',  COLORS.gray,   COLORS.grayL),\n  ], lblB, true);\n\n  \/\/ Dur\u00e9e \u2013 empil\u00e9\n  const lblD = awLabels(d.dauer);\n  awMakeChart('chart-dauer', [\n    awDs(d.dauer, 'lt2w',    '< 2 semaines',         COLORS.green,  COLORS.greenL),\n    awDs(d.dauer, 'w2bis6',  '2\u20136 semaines',         COLORS.teal,   COLORS.tealL),\n    awDs(d.dauer, 'w6bis26', '6 sem. \u2013 \u00bd ann\u00e9e',     COLORS.blue,   COLORS.blueL),\n    awDs(d.dauer, 'm6bis12', '\u00bd \u2013 1 ann\u00e9e',          COLORS.orange, COLORS.orangeL),\n    awDs(d.dauer, 'y1bis2',  '1\u20132 ans',              COLORS.pink,   COLORS.pinkL),\n    awDs(d.dauer, 'gt2y',    '> 2 ans',              COLORS.red,    COLORS.redL),\n  ], lblD, true);\n\n  \/\/ LS \u2013 empil\u00e9\n  const lblSL = awLabels(d.slVerteilung);\n  awMakeChart('chart-sl', [\n    awDs(d.slVerteilung, 'sl',      'LS',      COLORS.blue, COLORS.blueL),\n    awDs(d.slVerteilung, 'nichtSl', 'Hors LS', COLORS.gray, COLORS.grayL),\n  ], lblSL, true);\n\n  \/\/ G\u00e9n\u00e9rique\/Original \u2013 empil\u00e9\n  const lblG = awLabels(d.genOriginal);\n  awMakeChart('chart-gen', [\n    awDs(d.genOriginal, 'original',  'Original avec alt. g\u00e9n\u00e9rique', COLORS.blue,   COLORS.blueL),\n    awDs(d.genOriginal, 'generikum', 'G\u00e9n\u00e9rique',                    COLORS.green,  COLORS.greenL),\n    awDs(d.genOriginal, 'ohneAlt',   'Original sans alt. g\u00e9n\u00e9rique', COLORS.gray,   COLORS.grayL),\n    awDs(d.genOriginal, 'listeA',    'Liste A',                      COLORS.red,    COLORS.redL),\n    awDs(d.genOriginal, 'listeB',    'Liste B',                      COLORS.orange, COLORS.orangeL),\n    awDs(d.genOriginal, 'listeC',    'Liste C',                      COLORS.purple, COLORS.purpleL),\n    awDs(d.genOriginal, 'listeD',    'Liste D',                      COLORS.teal,   COLORS.tealL),\n  ], lblG, true);\n\n  \/\/ Prix public \u2013 empil\u00e9\n  const lblP = awLabels(d.preisPubl);\n  const preisPublLabels = ['0\u20139.59','9.60\u201320.29','20.30\u201328.79','28.80\u201332.79','32.80\u201349.99','50\u201369.99','70\u201399.99','>100','Sans prix'];\n  awMakeChart('chart-preis', preisPublLabels.map((lbl, i) => ({\n    label: 'CHF ' + lbl,\n    data: awFilter(d.preisPubl).map(r => r['p'+i]),\n    borderColor: PALETTE[i % PALETTE.length],\n    backgroundColor: hexToRgba(PALETTE[i % PALETTE.length], 0.35),\n    fill: true,\n  })), lblP, true);\n\n  \/\/ Prix ex-factory \u2013 empil\u00e9\n  const lblE = awLabels(d.preisEx);\n  const exLabels = ['0\u20134.99','5\u201310.99','11\u201314.99','15\u201324.99','25\u201349.99','50\u201369.99','70\u201399.99','>100','Non disponible'];\n  awMakeChart('chart-ex', exLabels.map((lbl, i) => ({\n    label: 'CHF ' + lbl,\n    data: awFilter(d.preisEx).map(r => r['e'+i]),\n    borderColor: PALETTE[i % PALETTE.length],\n    backgroundColor: hexToRgba(PALETTE[i % PALETTE.length], 0.35),\n    fill: true,\n  })), lblE, true);\n\n  \/\/ Prix th\u00e9orique \u2013 empil\u00e9\n  const lblT = awLabels(d.preisTheoret);\n  const theoretLabels = ['0\u20139.59','9.60\u201320.29','20.30\u201328.79','28.80\u201332.79','32.80\u201349.99','50\u201369.99','70\u201399.99','>100','Non calculable'];\n  awMakeChart('chart-theoret', theoretLabels.map((lbl, i) => ({\n    label: 'CHF ' + lbl,\n    data: awFilter(d.preisTheoret).map(r => r['t'+i]),\n    borderColor: PALETTE[i % PALETTE.length],\n    backgroundColor: hexToRgba(PALETTE[i % PALETTE.length], 0.35),\n    fill: true,\n  })), lblT, true);\n}\n\nfunction awTab(btn, panel) {\n  document.querySelectorAll('.aw-tab').forEach(b => b.classList.remove('active'));\n  document.querySelectorAll('.aw-panel').forEach(p => p.classList.remove('active'));\n  btn.classList.add('active');\n  document.getElementById('panel-' + panel).classList.add('active');\n}\n\nfunction awRange(btn, days) {\n  document.querySelectorAll('.aw-range-btn').forEach(b => b.classList.remove('active'));\n  btn.classList.add('active');\n  awDays = days;\n  awBuild();\n}\n\nasync function ladeDaten() {\n  try {\n    const res = await fetch(AW_API, {headers: {'X-Requested-With': 'XMLHttpRequest'}});\n    const d   = await res.json();\n    if (d.fehler) {\n      document.getElementById('aw-loading').innerHTML =\n        \"<div style='color:#c53030;'>&#x26a0;&#xfe0f; \" + d.fehler + \"<\/div>\";\n      return;\n    }\n    awData = d;\n    document.getElementById('aw-loading').style.display = 'none';\n    document.getElementById('aw-content').style.display = 'block';\n    if (d._meta) {\n      document.getElementById('aw-meta').textContent =\n        '\u00c9tat : ' + isoVersFr(d._meta.datum) + ' \u00b7 Mis \u00e0 jour : ' + isoVersFrHeure(d._meta.erstelltAm || '');\n    }\n    awBuild();\n  } catch(err) {\n    document.getElementById('aw-loading').innerHTML =\n      \"<div style='color:#c53030;'>Erreur de chargement : \" + err + \"<\/div>\";\n  }\n}\n\ndocument.addEventListener('DOMContentLoaded', ladeDaten);\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>&#x1f4ca; Analyses \u00c9volution temporelle des p\u00e9nuries de m\u00e9dicaments en Suisse Chargement des donn\u00e9es\u2026 Vue d&#8217;ensemble OFAE \/ OMS Dur\u00e9e LS \/ G\u00e9n\u00e9riques Cat\u00e9gories de prix Prix ex-factory Prix th\u00e9orique 30 jours 90 jours 6 mois 1 an 2 ans 5 ans Tout Nombre de produits en p\u00e9nurie P\u00e9nuries en cours &amp; principes actifs concern\u00e9s Seulement&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_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":""},"class_list":["post-21893","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21893","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=21893"}],"version-history":[{"count":2,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21893\/revisions"}],"predecessor-version":[{"id":21895,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21893\/revisions\/21895"}],"wp:attachment":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=21893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}