:root{
–ink:#13242e; –ink-soft:#3c4f59; –muted:#7b8a91;
–paper:#f7f5f0; –surface:#ffffff; –surface-2:#f1eee7;
–line:#e1ddd2; –line-strong:#c9c4b6;
–teal:#0e7c86; –teal-deep:#0a5860; –teal-wash:#e3f0f0;
–amber:#a9711a; –amber-wash:#f6ecd8;
–grid-on:#0e7c86; –shadow:0 1px 2px rgba(19,36,46,.06),0 8px 24px -12px rgba(19,36,46,.18);
–r:10px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
font-family:’Inter’,-apple-system,BlinkMacSystemFont,’Segoe UI’,sans-serif;
background:var(–paper); color:var(–ink); -webkit-font-smoothing:antialiased;
line-height:1.5;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.mono{font-family:’IBM Plex Mono’,ui-monospace,monospace}
.eyebrow{font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(–muted)}
/* ===== APP BAR ===== */
header.appbar{
position:sticky;top:0;z-index:50;background:rgba(247,245,240,.92);
backdrop-filter:blur(10px);border-bottom:1px solid var(–line);
}
.bar-inner{max-width:1320px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:20px}
.brand{display:flex;flex-direction:column;line-height:1.1;cursor:pointer;flex-shrink:0}
.brand b{font-family:’Space Grotesk’,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.01em}
.brand span{font-family:’IBM Plex Mono’,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(–teal)}
/* altitude toggle (signature) */
.altitude{display:flex;align-items:center;gap:0;background:var(–surface-2);border:1px solid var(–line);border-radius:999px;padding:3px;position:relative}
.altitude button{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 16px;border-radius:999px;transition:color .25s}
.altitude button .k{font-family:’Space Grotesk’,sans-serif;font-weight:600;font-size:12px;letter-spacing:.02em}
.altitude button .s{font-family:’IBM Plex Mono’,monospace;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(–muted)}
.altitude .pill{position:absolute;top:3px;bottom:3px;border-radius:999px;background:var(–ink);transition:left .32s cubic-bezier(.6,.05,.1,1),width .32s cubic-bezier(.6,.05,.1,1);z-index:1}
.altitude button[data-on=”1″]{color:#fff}
.altitude button[data-on=”1″] .s{color:rgba(255,255,255,.6)}
.search{margin-left:auto;position:relative;flex:1;max-width:380px}
.search input{width:100%;font-family:’Inter’,sans-serif;font-size:13.5px;padding:9px 12px 9px 34px;border:1px solid var(–line-strong);border-radius:999px;background:var(–surface);color:var(–ink);outline:none;transition:border-color .2s,box-shadow .2s}
.search input:focus{border-color:var(–teal);box-shadow:0 0 0 3px var(–teal-wash)}
.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(–muted)}
.search-results{position:absolute;top:46px;left:0;right:0;background:var(–surface);border:1px solid var(–line);border-radius:var(–r);box-shadow:var(–shadow);max-height:420px;overflow:auto;display:none;z-index:60}
.search-results.show{display:block}
.sr-group{padding:6px 0}
.sr-head{font-family:’IBM Plex Mono’,monospace;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(–muted);padding:6px 14px 4px}
.sr-item{display:flex;align-items:center;gap:9px;padding:7px 14px;font-size:13.5px;cursor:pointer}
.sr-item:hover,.sr-item.active{background:var(–teal-wash)}
.sr-item .tag{margin-left:auto;font-family:’IBM Plex Mono’,monospace;font-size:9px;color:var(–muted);text-transform:uppercase;letter-spacing:.08em}
.sr-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
/* ===== BREADCRUMB ===== */
.crumbs{max-width:1320px;margin:0 auto;padding:10px 22px 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12.5px}
.crumbs a,.crumbs span{font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:.02em}
.crumbs a{color:var(–muted)}
.crumbs a:hover{color:var(–teal)}
.crumbs .sep{color:var(–line-strong)}
.crumbs .here{color:var(–ink);font-weight:500}
main{max-width:1320px;margin:0 auto;padding:18px 22px 80px}
/* ===== HERO / SECTION HEADS ===== */
.vhead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:6px 0 18px;flex-wrap:wrap}
.vhead h1{font-family:’Space Grotesk’,sans-serif;font-weight:700;font-size:clamp(24px,3.4vw,38px);letter-spacing:-.02em;margin:4px 0 0;line-height:1.05}
.vhead .lede{color:var(–ink-soft);font-size:14.5px;max-width:560px;margin-top:8px}
.stat-row{display:flex;gap:26px;flex-shrink:0}
.stat{text-align:right}
.stat b{font-family:’Space Grotesk’,sans-serif;font-size:26px;font-weight:700;display:block;line-height:1}
.stat span{font-family:’IBM Plex Mono’,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(–muted)}
/* ===== CONTROLS ===== */
.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.chipfilter{font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:.03em;padding:6px 11px;border:1px solid var(–line-strong);border-radius:999px;background:var(–surface);color:var(–ink-soft);transition:all .15s}
.chipfilter:hover{border-color:var(–teal)}
.chipfilter[data-on=”1″]{background:var(–ink);color:#fff;border-color:var(–ink)}
/* ===== MACRO MATRIX ===== */
.matrix-wrap{border:1px solid var(–line);border-radius:var(–r);overflow:auto;background:var(–surface);box-shadow:var(–shadow);max-height:74vh}
table.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}
table.matrix th,table.matrix td{padding:0}
.mx-corner{position:sticky;left:0;top:0;z-index:5;background:var(–surface);border-right:1px solid var(–line);border-bottom:1px solid var(–line-strong)}
.mx-colhead{position:sticky;top:0;z-index:3;background:var(–surface);border-bottom:1px solid var(–line-strong);height:150px;vertical-align:bottom;cursor:pointer;border-left:1px solid var(–line)}
.mx-colhead .rot{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;font-family:’Inter’,sans-serif;font-weight:500;font-size:11.5px;padding:8px 0 10px;color:var(–ink-soft);max-height:138px;overflow:hidden;text-overflow:ellipsis;margin:0 auto;transition:color .15s}
.mx-colhead:hover .rot{color:var(–teal)}
.mx-colhead .dom{display:block;writing-mode:vertical-rl;transform:rotate(180deg);font-family:’IBM Plex Mono’,monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(–muted);margin:0 auto 4px}
.mx-rowhead{position:sticky;left:0;z-index:2;background:var(–surface);border-right:1px solid var(–line-strong);border-bottom:1px solid var(–line);padding:0 14px;text-align:left;cursor:pointer;min-width:210px;max-width:210px}
.mx-rowhead .cn{font-weight:500;font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 0 8px}
.mx-rowhead:hover .cn{color:var(–teal)}
tr:hover .mx-rowhead{background:var(–teal-wash)}
.mx-cell{border-bottom:1px solid var(–line);border-left:1px solid var(–line);text-align:center;cursor:pointer;height:34px;transition:background .12s}
.mx-cell:hover{background:var(–surface-2)}
.mx-cell.on{background:var(–teal-wash)}
.mx-cell.on:hover{background:#cfe6e6}
.mx-cell .mk{display:inline-block;width:9px;height:9px;border-radius:2px;background:var(–grid-on)}
.mx-rowhead .flag{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(–amber);margin-right:6px;vertical-align:middle}
tr.hl-col-target{}
.legend{display:flex;gap:18px;align-items:center;margin-top:12px;flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(–muted)}
/* ===== CARDS / GRIDS ===== */
.grid{display:grid;gap:12px}
.grid.cards{grid-template-columns:repeat(auto-fill,minmax(248px,1fr))}
.card{background:var(–surface);border:1px solid var(–line);border-radius:var(–r);padding:15px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer}
.card:hover{border-color:var(–teal);transform:translateY(-2px);box-shadow:var(–shadow)}
.card h3{font-family:’Space Grotesk’,sans-serif;font-size:15.5px;font-weight:600;margin:0 0 3px;letter-spacing:-.01em}
.card .meta{font-family:’IBM Plex Mono’,monospace;font-size:10.5px;color:var(–muted);letter-spacing:.03em}
.card .cov{margin-top:11px;display:flex;flex-wrap:wrap;gap:5px}
.minichip{font-size:10.5px;font-family:’IBM Plex Mono’,monospace;padding:3px 7px;border-radius:5px;background:var(–surface-2);color:var(–ink-soft);letter-spacing:.01em}
.minichip.more{background:transparent;color:var(–muted)}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(–line-strong);background:var(–surface);transition:all .15s;cursor:pointer}
.chip:hover{border-color:var(–teal);background:var(–teal-wash)}
.chip .n{font-family:’IBM Plex Mono’,monospace;font-size:10.5px;color:var(–muted)}
.chip.teal{background:var(–teal);color:#fff;border-color:var(–teal)}
.chip.teal .n{color:rgba(255,255,255,.7)}
.chip.lg{font-size:14px;padding:9px 16px}
/* company profile */
.profile-head{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start;background:var(–surface);border:1px solid var(–line);border-radius:var(–r);padding:22px 24px;box-shadow:var(–shadow);margin-bottom:22px}
.profile-head .pid{flex:1;min-width:240px}
.profile-head h1{font-family:’Space Grotesk’,sans-serif;font-size:30px;font-weight:700;margin:6px 0 4px;letter-spacing:-.02em;line-height:1.05}
.profile-head .corr{font-size:13px;color:var(–amber);font-family:’IBM Plex Mono’,monospace}
.profile-head .row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:13px;color:var(–ink-soft)}
.profile-head .row a{color:var(–teal);border-bottom:1px solid var(–teal-wash)}
.badge{font-family:’IBM Plex Mono’,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:6px}
.badge.ok{background:var(–teal-wash);color:var(–teal-deep)}
.badge.warn{background:var(–amber-wash);color:var(–amber)}
.note{font-size:13px;color:var(–ink-soft);background:var(–surface-2);border-left:3px solid var(–line-strong);padding:9px 13px;border-radius:0 6px 6px 0;margin-top:14px}
.section{margin:26px 0}
.section-head{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.section-head h2{font-family:’Space Grotesk’,sans-serif;font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em}
.section-head .ct{font-family:’IBM Plex Mono’,monospace;font-size:11px;color:#fff;background:var(–ink);padding:2px 8px;border-radius:999px}
.section-head .alt{margin-left:auto;font-family:’IBM Plex Mono’,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(–muted)}
/* micro product groups within company */
.pgroup{background:var(–surface);border:1px solid var(–line);border-radius:var(–r);padding:14px 16px;margin-bottom:11px}
.pgroup .ph{display:flex;align-items:center;gap:9px;margin-bottom:9px;cursor:pointer}
.pgroup .ph b{font-family:’Space Grotesk’,sans-serif;font-size:14px;font-weight:600}
.pgroup .ph .arrow{margin-left:auto;color:var(–teal);font-size:12px;font-family:’IBM Plex Mono’,monospace}
.pgroup .plist{display:flex;flex-wrap:wrap;gap:6px}
/* micro view: taxonomy + matrix */
.split{display:grid;grid-template-columns:1fr;gap:22px}
.cat{background:var(–surface);border:1px solid var(–line);border-radius:var(–r);overflow:hidden;margin-bottom:12px}
.cat .ch{background:var(–surface-2);padding:10px 15px;font-family:’Space Grotesk’,sans-serif;font-weight:600;font-size:13.5px;border-bottom:1px solid var(–line);display:flex;align-items:center;gap:9px}
.cat .ch .n{font-family:’IBM Plex Mono’,monospace;font-size:10px;color:var(–muted);margin-left:auto}
.prow{display:flex;align-items:center;gap:12px;padding:9px 15px;border-bottom:1px solid var(–line);cursor:pointer;transition:background .12s}
.prow:last-child{border-bottom:none}
.prow:hover{background:var(–teal-wash)}
.prow .pname{font-size:13.5px;flex:1}
.prow .makers{display:flex;align-items:center;gap:6px}
.prow .cnt{font-family:’IBM Plex Mono’,monospace;font-size:11px;color:var(–teal-deep);background:var(–teal-wash);padding:2px 8px;border-radius:999px}
.prow .cnt.zero{color:var(–muted);background:var(–surface-2)}
.prow .go{color:var(–teal);font-family:’IBM Plex Mono’,monospace;font-size:11px;opacity:0;transition:opacity .15s}
.prow:hover .go{opacity:1}
/* drill banner */
.drill{display:flex;align-items:center;gap:14px;background:linear-gradient(100deg,var(–ink),var(–teal-deep));color:#fff;border-radius:var(–r);padding:16px 20px;margin:18px 0;cursor:pointer;transition:transform .15s,box-shadow .15s}
.drill:hover{transform:translateY(-2px);box-shadow:0 12px 30px -14px rgba(14,124,134,.6)}
.drill .zi{font-family:’IBM Plex Mono’,monospace;font-size:34px;line-height:1;font-weight:600;opacity:.85}
.drill .dt b{font-family:’Space Grotesk’,sans-serif;font-size:16px;display:block}
.drill .dt span{font-size:12.5px;opacity:.82}
.drill .arr{margin-left:auto;font-size:22px}
.drill.up{background:linear-gradient(100deg,#33474f,#5a6b71)}
/* empty / misc */
.empty{text-align:center;padding:60px 20px;color:var(–muted)}
.empty b{display:block;font-family:’Space Grotesk’,sans-serif;font-size:18px;color:var(–ink-soft);margin-bottom:6px}
.backlink{display:inline-flex;align-items:center;gap:7px;font-family:’IBM Plex Mono’,monospace;font-size:11px;letter-spacing:.04em;color:var(–teal);margin-bottom:6px;cursor:pointer}
.kbd{font-family:’IBM Plex Mono’,monospace;font-size:10px;border:1px solid var(–line-strong);border-radius:4px;padding:1px 5px;color:var(–muted);background:var(–surface)}
footer{max-width:1320px;margin:0 auto;padding:24px 22px 50px;border-top:1px solid var(–line);color:var(–muted);font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer .mono{font-size:10.5px;letter-spacing:.05em}
@media (max-width:720px){
.bar-inner{flex-wrap:wrap;gap:12px}
.search{order:3;max-width:none;flex-basis:100%}
.altitude button{padding:6px 12px}
.profile-head h1{font-size:24px}
main{padding:14px 14px 70px}
.bar-inner{padding:12px 14px}
.crumbs{padding:10px 14px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
const DATA = {“macro”: {“specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Radiology / Diagnostic Imaging”, “Interventional Radiology / Neurovascular”, “Neurology / Neuro Devices”, “Orthopedic Surgery / Spine”, “ENT / Otolaryngology”, “Ophthalmology”, “Ob-Gyn / Neonatal / Reproductive”, “Urology”, “Endoscopy / Gastroenterology”, “General Surgery / Laparoscopy / OR”, “Robotics / Image-Guided Surgery”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”, “Wound Care / Biosurgery / Hemostasis”, “In Vitro Diagnostics / Molecular Diagnostics”, “Renal / Dialysis”, “Temperature Management / Emergency Care”, “Oncology Diagnostics / Devices”, “Endocrinology / Diabetes Devices”], “domains”: {“Cardiac Surgery / Cardiothoracic”: “Cardiovascular”, “Interventional Cardiology & Vascular”: “Cardiovascular”, “Electrophysiology / CRM”: “Cardiovascular”, “Radiology / Diagnostic Imaging”: “Imaging”, “Interventional Radiology / Neurovascular”: “Imaging / Interventional”, “Orthopedic Surgery / Spine”: “Surgery”, “ENT / Otolaryngology”: “Surgery”, “Ophthalmology”: “Surgery”, “Ob-Gyn / Neonatal / Reproductive”: “Surgery / Women’s Health”, “Urology”: “Surgery”, “Endoscopy / Gastroenterology”: “Surgery / GI”, “General Surgery / Laparoscopy / OR”: “Surgery”, “Robotics / Image-Guided Surgery”: “Surgery / Robotics”, “Respiratory / Anesthesia / ICU”: “Critical Care”, “Infusion / Drug Delivery”: “Infusion / Medication Delivery”, “Wound Care / Biosurgery / Hemostasis”: “Surgical Adjuncts / Wound”, “In Vitro Diagnostics / Molecular Diagnostics”: “Diagnostics”, “Renal / Dialysis”: “Renal”, “Temperature Management / Emergency Care”: “Emergency / Temperature”, “Oncology Diagnostics / Devices”: “Oncology”, “Endocrinology / Diabetes Devices”: “Endocrinology”}, “companies”: [{“name”: “Abbott”, “corrected”: “Abbott”, “website”: “https://www.abbott.com”, “hq”: “IL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “In Vitro Diagnostics / Molecular Diagnostics”, “Endocrinology / Diabetes Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.abbott.com”}, {“name”: “Agilent Technologies”, “corrected”: “Agilent Technologies”, “website”: “https://www.agilent.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.agilent.com”}, {“name”: “Alcon”, “corrected”: “Alcon”, “website”: “https://www.alcon.com”, “hq”: “TX”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ophthalmology”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.alcon.com”}, {“name”: “AngioDynamics”, “corrected”: “AngioDynamics”, “website”: “https://www.angiodynamics.com”, “hq”: “NY”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”], “notes”: “”, “source”: “https://www.angiodynamics.com”}, {“name”: “Artivion”, “corrected”: “Artivion”, “website”: “https://www.artivion.com”, “hq”: “GA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”], “notes”: “”, “source”: “https://www.artivion.com”}, {“name”: “AtriCure”, “corrected”: “AtriCure”, “website”: “https://www.atricure.com”, “hq”: “OH”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Electrophysiology / CRM”], “notes”: “”, “source”: “https://www.atricure.com”}, {“name”: “Avanos Medical”, “corrected”: “Avanos Medical”, “website”: “https://www.avanos.com”, “hq”: “GA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.avanos.com”}, {“name”: “Axogen”, “corrected”: “Axogen”, “website”: “https://www.axogeninc.com”, “hq”: “FL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.axogeninc.com”}, {“name”: “Axonics Modulation Tech”, “corrected”: “Boston Scientific (Axonics)”, “website”: “https://www.bostonscientific.com”, “hq”: “MA”, “status”: “Acquired by Boston Scientific in 2024; consolidate into Boston Scientific.”, “review”: “Updated”, “specialties”: [“Ob-Gyn / Neonatal / Reproductive”, “Urology”], “notes”: “Sacral neuromodulation and pelvic-health products should be treated as Boston Scientific portfolio.”, “source”: “https://www.prnewswire.com/news-releases/boston-scientific-closes-acquisition-of-axonics-inc-302307088.html”}, {“name”: “B. Braun Medical”, “corrected”: “B. Braun Medical”, “website”: “https://www.bbraun.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.bbraun.com”}, {“name”: “Baxter International”, “corrected”: “Baxter International”, “website”: “https://www.baxter.com”, “hq”: “IL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”, “Renal / Dialysis”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.baxter.com”}, {“name”: “Becton Dickinson (BD)”, “corrected”: “BD”, “website”: “https://www.bd.com”, “hq”: “NJ”, “status”: “BD completed combination of Biosciences & Diagnostic Solutions business with Waters in 2026; BD remains medtech, but IVD row requires Waters split review.”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”, “In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Consider adding Waters as separate diagnostics successor row if maintaining IVD market coverage.”, “source”: “https://news.bd.com/2026-02-09-BD-Completes-Combination-of-Biosciences-Diagnostic-Solutions-Business-with-Waters-Corporation”}, {“name”: “Bio-Rad Laboratories”, “corrected”: “Bio-Rad Laboratories”, “website”: “https://www.bio-rad.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “”, “source”: “https://www.bio-rad.com”}, {“name”: “Biotronik Inc.”, “corrected”: “Biotronik Inc.”, “website”: “https://www.biotronik.com”, “hq”: “OR”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Electrophysiology / CRM”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.biotronik.com”}, {“name”: “Boston Scientific”, “corrected”: “Boston Scientific”, “website”: “https://www.bostonscientific.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Interventional Radiology / Neurovascular”, “Urology”, “Endoscopy / Gastroenterology”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.bostonscientific.com”}, {“name”: “Canon Medical Systems”, “corrected”: “Canon Medical Systems”, “website”: “https://global.medical.canon”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Radiology / Diagnostic Imaging”], “notes”: “”, “source”: “https://global.medical.canon”}, {“name”: “Cardinal Health”, “corrected”: “Cardinal Health”, “website”: “https://www.cardinalhealth.com”, “hq”: “OH”, “status”: “Scope review: distributor/manufacturer mix; not all mapped categories represent proprietary devices.”, “review”: “Needs review”, “specialties”: [“General Surgery / Laparoscopy / OR”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “Distributor/manufacturer mix; separate distributor status may be cleaner. Keep if macromap includes medtech distribution and medical products; otherwise separate as distributor/supply-chain.”, “source”: “https://newsroom.cardinalhealth.com/2024-03-18-Cardinal-Health-completes-acquisition-of-Specialty-Networks-and-its-PPS-Analytics-platform”}, {“name”: “Centinel Spine”, “corrected”: “Centinel Spine”, “website”: “https://www.centinelspine.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”], “notes”: “”, “source”: “https://www.centinelspine.com”}, {“name”: “Cochlear Limited”, “corrected”: “Cochlear Limited”, “website”: “https://www.cochlear.com”, “hq”: “CO”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“ENT / Otolaryngology”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.cochlear.com”}, {“name”: “ConMed”, “corrected”: “ConMed”, “website”: “https://www.conmed.com”, “hq”: “FL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”, “Endoscopy / Gastroenterology”, “General Surgery / Laparoscopy / OR”], “notes”: “”, “source”: “https://www.conmed.com”}, {“name”: “ConvaTec Group PLC”, “corrected”: “ConvaTec Group PLC”, “website”: “https://www.convatec.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“General Surgery / Laparoscopy / OR”, “Wound Care / Biosurgery / Hemostasis”], “notes”: “”, “source”: “https://www.convatec.com”}, {“name”: “Cook Medical”, “corrected”: “Cook Medical”, “website”: “https://www.cookmedical.com”, “hq”: “IN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”, “Orthopedic Surgery / Spine”, “Urology”, “Endoscopy / Gastroenterology”], “notes”: “”, “source”: “https://www.cookmedical.com”}, {“name”: “CooperSurgical”, “corrected”: “CooperSurgical”, “website”: “https://www.coopersurgical.com”, “hq”: “CT”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ob-Gyn / Neonatal / Reproductive”], “notes”: “”, “source”: “https://www.coopersurgical.com”}, {“name”: “CooperVision”, “corrected”: “CooperVision”, “website”: “https://www.coopervision.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ophthalmology”], “notes”: “”, “source”: “https://www.coopervision.com”}, {“name”: “Cordis”, “corrected”: “Cordis”, “website”: “https://www.cordis.com”, “hq”: “FL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.cordis.com”}, {“name”: “CVRx, Inc.”, “corrected”: “CVRx, Inc.”, “website”: “https://www.cvrx.com”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Electrophysiology / CRM”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.cvrx.com”}, {“name”: “Danaher”, “corrected”: “Danaher”, “website”: “https://www.danaher.com/”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Needs review”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Parent/company platform; map by subsidiaries if the file requires operating-company precision. Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.danaher.com/”}, {“name”: “DiaSorin Inc”, “corrected”: “DiaSorin Inc”, “website”: “https://www.diasorin.com”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.diasorin.com”}, {“name”: “Dräger”, “corrected”: “Dräger”, “website”: “https://www.draeger.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “Temperature Management / Emergency Care”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.draeger.com”}, {“name”: “Edwards Lifesciences”, “corrected”: “Edwards Lifesciences”, “website”: “https://www.edwards.com”, “hq”: “CA”, “status”: “Critical Care product group sold to BD in 2024; Edwards remains focused on structural heart/cardiovascular technologies.”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”], “notes”: “Do not map Edwards to critical-care monitoring unless using historical pre-sale view.”, “source”: “https://www.edwards.com/newsroom/news/2024-09-03-edwards-lifesciences-completes-sale-of-critical-ca”}, {“name”: “Endologix”, “corrected”: “Endologix”, “website”: “https://www.endologix.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”], “notes”: “”, “source”: “https://www.endologix.com”}, {“name”: “Fresenius Medical Care”, “corrected”: “Fresenius Medical Care”, “website”: “https://www.freseniusmedicalcare.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “Renal / Dialysis”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.freseniusmedicalcare.com”}, {“name”: “GE HealthCare”, “corrected”: “GE HealthCare”, “website”: “https://www.gehealthcare.com”, “hq”: “IL”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Radiology / Diagnostic Imaging”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.gehealthcare.com”}, {“name”: “Getinge”, “corrected”: “Getinge”, “website”: “https://www.getinge.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.getinge.com”}, {“name”: “Glaukos”, “corrected”: “Glaukos”, “website”: “https://www.glaukos.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ophthalmology”], “notes”: “”, “source”: “https://www.glaukos.com”}, {“name”: “Globus Medical”, “corrected”: “Globus Medical”, “website”: “https://www.globusmedical.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”], “notes”: “”, “source”: “https://www.globusmedical.com”}, {“name”: “Gore Medical”, “corrected”: “Gore Medical”, “website”: “https://www.goremedical.com”, “hq”: “AZ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”], “notes”: “”, “source”: “https://www.goremedical.com”}, {“name”: “Haemonetics”, “corrected”: “Haemonetics”, “website”: “https://www.haemonetics.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.haemonetics.com”}, {“name”: “Hologic”, “corrected”: “Hologic”, “website”: “https://www.hologic.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Radiology / Diagnostic Imaging”, “Ob-Gyn / Neonatal / Reproductive”, “In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.hologic.com”}, {“name”: “ICU Medical”, “corrected”: “ICU Medical”, “website”: “https://www.icumed.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Endoscopy / Gastroenterology”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.icumed.com”}, {“name”: “Illumina”, “corrected”: “Illumina”, “website”: “https://www.illumina.com/”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.illumina.com/”}, {“name”: “Impulse Dynamics”, “corrected”: “Impulse Dynamics”, “website”: “https://www.impulse-dynamics.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “”, “source”: “https://www.impulse-dynamics.com”}, {“name”: “Inari Medical”, “corrected”: “Stryker (Inari Medical)”, “website”: “https://www.stryker.com”, “hq”: “MI”, “status”: “Acquired by Stryker in 2025; map to Stryker peripheral vascular / venous thromboembolism.”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Interventional Radiology / Neurovascular”], “notes”: “Consolidate under Stryker for current market view.”, “source”: “https://www.stryker.com/us/en/about/news/2025/stryker-completes-acquisition-of-inari-medical-inc.html”}, {“name”: “Inspire Medical Systems”, “corrected”: “Inspire Medical Systems”, “website”: “https://www.inspiresleep.com”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”], “notes”: “”, “source”: “https://www.inspiresleep.com”}, {“name”: “Integra LifeSciences”, “corrected”: “Integra LifeSciences”, “website”: “https://www.integralife.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.integralife.com”}, {“name”: “Integrum AB”, “corrected”: “Integrum AB”, “website”: “https://integrum.se”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Wound Care / Biosurgery / Hemostasis”], “notes”: “”, “source”: “https://integrum.se”}, {“name”: “Intuitive Surgical”, “corrected”: “Intuitive Surgical”, “website”: “https://www.intuitive.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ob-Gyn / Neonatal / Reproductive”, “Urology”, “General Surgery / Laparoscopy / OR”, “Robotics / Image-Guided Surgery”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.intuitive.com”}, {“name”: “iRhythm Technologies”, “corrected”: “iRhythm Technologies”, “website”: “https://www.irhythmtech.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.irhythmtech.com”}, {“name”: “Johnson & Johnson MedTech”, “corrected”: “Johnson & Johnson MedTech”, “website”: “https://www.jnjmedtech.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Orthopedic Surgery / Spine”, “General Surgery / Laparoscopy / OR”, “Respiratory / Anesthesia / ICU”, “Wound Care / Biosurgery / Hemostasis”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.jnjmedtech.com”}, {“name”: “Laborie”, “corrected”: “Laborie”, “website”: “https://www.laborie.com/”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ob-Gyn / Neonatal / Reproductive”, “Urology”], “notes”: “”, “source”: “https://www.laborie.com/”}, {“name”: “Mainstay Medical”, “corrected”: “Mainstay Medical”, “website”: “https://www.mainstaymedical.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Neurology / Neuro Devices”], “notes”: “”, “source”: “https://www.mainstaymedical.com”}, {“name”: “Masimo”, “corrected”: “Masimo”, “website”: “https://www.masimo.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Neurology / Neuro Devices”], “notes”: “”, “source”: “https://www.masimo.com”}, {“name”: “MED-EL”, “corrected”: “MED-EL”, “website”: “https://www.medel.com”, “hq”: “NC”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“ENT / Otolaryngology”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.medel.com”}, {“name”: “Medtronic”, “corrected”: “Medtronic”, “website”: “https://www.medtronic.com”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Orthopedic Surgery / Spine”, “ENT / Otolaryngology”, “Endoscopy / Gastroenterology”, “General Surgery / Laparoscopy / OR”, “Robotics / Image-Guided Surgery”, “Respiratory / Anesthesia / ICU”, “Endocrinology / Diabetes Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.medtronic.com”}, {“name”: “Merit Medical Systems”, “corrected”: “Merit Medical Systems”, “website”: “https://www.merit.com”, “hq”: “UT”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Neurology / Neuro Devices”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “”, “source”: “https://www.merit.com”}, {“name”: “Natus Medical”, “corrected”: “Natus Medical”, “website”: “https://www.natus.com”, “hq”: “WI”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Ob-Gyn / Neonatal / Reproductive”, “In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.natus.com”}, {“name”: “Nevro”, “corrected”: “Nevro”, “website”: “https://www.nevro.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.nevro.com”}, {“name”: “NuVasive, Inc.”, “corrected”: “Globus Medical (NuVasive)”, “website”: “https://www.globusmedical.com”, “hq”: “PA”, “status”: “Merged with Globus Medical in 2023; consolidate into Globus Medical spine/orthopedic surgery.”, “review”: “Updated”, “specialties”: [“Neurology / Neuro Devices”, “Orthopedic Surgery / Spine”, “Robotics / Image-Guided Surgery”], “notes”: “Use Globus Medical as current public company/owner for NuVasive spine assets.”, “source”: “https://www.investors.globusmedical.com/node/12061/pdf”}, {“name”: “Olympus Medical Systems”, “corrected”: “Olympus Medical Systems”, “website”: “https://medical.olympusamerica.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”, “ENT / Otolaryngology”, “Urology”, “Endoscopy / Gastroenterology”, “General Surgery / Laparoscopy / OR”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://medical.olympusamerica.com”}, {“name”: “Orthofix”, “corrected”: “Orthofix”, “website”: “https://www.orthofix.com”, “hq”: “TX”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Endocrinology / Diabetes Devices”], “notes”: “”, “source”: “https://www.orthofix.com”}, {“name”: “OrthoPediatrics”, “corrected”: “OrthoPediatrics”, “website”: “https://www.orthopediatrics.com”, “hq”: “IN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”], “notes”: “”, “source”: “https://www.orthopediatrics.com”}, {“name”: “Penumbra”, “corrected”: “Penumbra”, “website”: “https://www.penumbrainc.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”, “ENT / Otolaryngology”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.penumbrainc.com”}, {“name”: “PerkinElmer”, “corrected”: “Revvity”, “website”: “https://www.revvity.com”, “hq”: “MA”, “status”: “PerkinElmer life-sciences and diagnostics business rebranded as Revvity in 2023.”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Replace PerkinElmer row with Revvity for diagnostics/life-sciences portion.”, “source”: “https://news.revvity.com/press-announcements/press-releases/press-release-details/2023/Launching-Revvity-A-Scientific-Solutions-Company-Powering-Innovation-from-Discovery-to-Cure/default.aspx”}, {“name”: “Philips Healthcare”, “corrected”: “Philips Healthcare”, “website”: “https://www.philips.com/healthcare”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Radiology / Diagnostic Imaging”, “Interventional Radiology / Neurovascular”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.philips.com/healthcare”}, {“name”: “PROCEPT BioRobotics”, “corrected”: “PROCEPT BioRobotics”, “website”: “https://www.procept-biorobotics.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Radiology / Diagnostic Imaging”, “Respiratory / Anesthesia / ICU”], “notes”: “”, “source”: “https://www.procept-biorobotics.com”}, {“name”: “Profound Medical Inc.”, “corrected”: “Profound Medical Inc.”, “website”: “https://profoundmedical.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Urology”, “Robotics / Image-Guided Surgery”], “notes”: “”, “source”: “https://profoundmedical.com”}, {“name”: “QIAGEN”, “corrected”: “QIAGEN”, “website”: “https://www.qiagen.com”, “hq”: “MD”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.qiagen.com”}, {“name”: “QuidelOrtho”, “corrected”: “QuidelOrtho”, “website”: “https://www.quidelortho.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.quidelortho.com”}, {“name”: “ResMed”, “corrected”: “ResMed”, “website”: “https://www.resmed.com”, “hq”: “CA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.resmed.com”}, {“name”: “Roche Diagnostics”, “corrected”: “Roche Diagnostics”, “website”: “https://diagnostics.roche.com/ph/en/home.html”, “hq”: “IN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Respiratory / Anesthesia / ICU”, “In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”, “Endocrinology / Diabetes Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://diagnostics.roche.com/ph/en/home.html”}, {“name”: “Siemens Healthineers”, “corrected”: “Siemens Healthineers”, “website”: “https://www.siemens-healthineers.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Radiology / Diagnostic Imaging”, “In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”, “Endocrinology / Diabetes Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.siemens-healthineers.com”}, {“name”: “Smith & Nephew Inc”, “corrected”: “Smith & Nephew Inc”, “website”: “https://www.smith-nephew.com/en/”, “hq”: “TN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Radiology / Diagnostic Imaging”, “In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “”, “source”: “https://www.smith-nephew.com/en/”}, {“name”: “Solventum”, “corrected”: “Solventum”, “website”: “https://www.solventum.com”, “hq”: “MN”, “status”: “Independent company after 3M health care spin-off in 2024.”, “review”: “Updated”, “specialties”: [“General Surgery / Laparoscopy / OR”, “Wound Care / Biosurgery / Hemostasis”], “notes”: “Add checkmarks for wound care, surgical/OR solutions, and infection-prevention-adjacent hospital products.”, “source”: “https://investors.3m.com/news-events/press-releases/detail/1835/3m-completes-spin-off-of-solventum”}, {“name”: “SonaCare Medical”, “corrected”: “SonaCare Medical”, “website”: “https://sonacaremedical.com”, “hq”: “NC”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Orthopedic Surgery / Spine”, “General Surgery / Laparoscopy / OR”, “Wound Care / Biosurgery / Hemostasis”], “notes”: “”, “source”: “https://sonacaremedical.com”}, {“name”: “STERIS”, “corrected”: “STERIS”, “website”: “https://www.steris.com”, “hq”: “OH”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Urology”], “notes”: “”, “source”: “https://www.steris.com”}, {“name”: “Stryker”, “corrected”: “Stryker”, “website”: “https://www.stryker.com”, “hq”: “MI”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Radiology / Neurovascular”, “Orthopedic Surgery / Spine”, “Endoscopy / Gastroenterology”, “General Surgery / Laparoscopy / OR”, “Robotics / Image-Guided Surgery”, “Respiratory / Anesthesia / ICU”, “Temperature Management / Emergency Care”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.stryker.com”}, {“name”: “Teleflex Inc.”, “corrected”: “Teleflex Inc.”, “website”: “https://www.teleflex.com”, “hq”: “PA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Orthopedic Surgery / Spine”, “Urology”, “General Surgery / Laparoscopy / OR”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.teleflex.com”}, {“name”: “Terumo”, “corrected”: “Terumo”, “website”: “https://www.terumo.com”, “hq”: “NJ”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”, “Urology”, “Respiratory / Anesthesia / ICU”, “Infusion / Drug Delivery”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.terumo.com”}, {“name”: “Thermo Fisher Scientific”, “corrected”: “Thermo Fisher Scientific”, “website”: “https://www.thermofisher.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Interventional Radiology / Neurovascular”, “In Vitro Diagnostics / Molecular Diagnostics”, “Oncology Diagnostics / Devices”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.thermofisher.com”}, {“name”: “TransMedics”, “corrected”: “TransMedics”, “website”: “https://www.transmedics.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “”, “source”: “https://www.transmedics.com”}, {“name”: “Urologix”, “corrected”: “Urologix”, “website”: “https://www.urologix.com”, “hq”: “MN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Interventional Cardiology & Vascular”], “notes”: “”, “source”: “https://www.urologix.com”}, {“name”: “Vilex”, “corrected”: “Vilex”, “website”: “https://www.vilex.com”, “hq”: “TN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Urology”], “notes”: “”, “source”: “https://www.vilex.com”}, {“name”: “XVIVO Perfusion”, “corrected”: “XVIVO Perfusion”, “website”: “https://www.xvivogroup.com/”, “hq”: “CO”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Respiratory / Anesthesia / ICU”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.xvivogroup.com/”}, {“name”: “Zimmer Biomet”, “corrected”: “Zimmer Biomet”, “website”: “https://www.zimmerbiomet.com”, “hq”: “IN”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Orthopedic Surgery / Spine”, “Robotics / Image-Guided Surgery”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.zimmerbiomet.com”}, {“name”: “ZOLL Medical”, “corrected”: “ZOLL Medical”, “website”: “https://www.zoll.com”, “hq”: “MA”, “status”: “Active / no major corporate change flagged in this audit”, “review”: “Updated”, “specialties”: [“Interventional Cardiology & Vascular”, “Electrophysiology / CRM”, “Orthopedic Surgery / Spine”, “Respiratory / Anesthesia / ICU”, “Temperature Management / Emergency Care”], “notes”: “Added/confirmed missing specialty checkmarks based on current hospital-device portfolio.”, “source”: “https://www.zoll.com”}, {“name”: “LivaNova”, “corrected”: “LivaNova”, “website”: “https://www.livanova.com”, “hq”: “TX”, “status”: “Active global medtech company; U.S. operating presence in Houston. Current core portfolio includes cardiopulmonary, neuromodulation and OSA therapy.”, “review”: “Added 2026”, “specialties”: [“Cardiac Surgery / Cardiothoracic”, “Neurology / Neuro Devices”, “Respiratory / Anesthesia / ICU”], “notes”: “Added as high-priority hospital medtech company. Mapped to cardiac surgery/cardiopulmonary, neuromodulation, and respiratory/OSA-related device coverage; not mapped as broad current CRM.”, “source”: “https://www.livanova.com/en-us/about-us”}, {“name”: “Waters Corporation”, “corrected”: “Waters Corporation”, “website”: “https://www.waters.com”, “hq”: “MA”, “status”: “Active; combined with BD’s Biosciences & Diagnostic Solutions businesses in Feb 2026.”, “review”: “Added 2026”, “specialties”: [“In Vitro Diagnostics / Molecular Diagnostics”], “notes”: “Added to preserve current 2026 IVD/diagnostics coverage after BD’s Biosciences & Diagnostic Solutions combination with Waters.”, “source”: “https://ir.waters.com/News–Events/newsroom/news-details/2026/Waters-Completes-Combination-with-BDs-Biosciences–Diagnostic-Solutions-Businesses/default.aspx”}, {“name”: “Dexcom”, “corrected”: “Dexcom”, “website”: “https://www.dexcom.com”, “hq”: “CA”, “status”: “Active diabetes-device company focused on glucose sensing and continuous glucose monitoring.”, “review”: “Added 2026”, “specialties”: [“Endocrinology / Diabetes Devices”], “notes”: “Added for endocrine/diabetes device coverage, especially continuous glucose monitoring.”, “source”: “https://www.dexcom.com/en-us/about-dexcom”}, {“name”: “Insulet”, “corrected”: “Insulet”, “website”: “https://www.insulet.com”, “hq”: “MA”, “status”: “Active diabetes-device company; Omnipod provides wearable tubeless insulin pump therapy.”, “review”: “Added 2026”, “specialties”: [“Infusion / Drug Delivery”, “Endocrinology / Diabetes Devices”], “notes”: “Added for endocrine/diabetes and infusion/drug-delivery coverage via tubeless insulin pump systems.”, “source”: “https://www.insulet.com/”}, {“name”: “Tandem Diabetes Care”, “corrected”: “Tandem Diabetes Care”, “website”: “https://www.tandemdiabetes.com”, “hq”: “CA”, “status”: “Active diabetes-device company with insulin pumps and automated insulin delivery systems.”, “review”: “Added 2026”, “specialties”: [“Infusion / Drug Delivery”, “Endocrinology / Diabetes Devices”], “notes”: “Added for endocrine/diabetes and infusion/drug-delivery coverage via insulin pumps and automated insulin delivery.”, “source”: “https://www.tandemdiabetes.com/”}, {“name”: “Elekta”, “corrected”: “Elekta”, “website”: “https://www.elekta.com”, “hq”: “GA”, “status”: “Active cancer-care technology company; North American operations in Georgia; portfolio includes radiation therapy, stereotactic radiosurgery, brachytherapy and oncology software.”, “review”: “Added 2026”, “specialties”: [“Neurology / Neuro Devices”, “Oncology Diagnostics / Devices”], “notes”: “Added for radiation oncology and stereotactic radiosurgery / brain-disorder treatment device coverage.”, “source”: “https://www.elekta.com/products/radiation-therapy/”}, {“name”: “Accuray”, “corrected”: “Accuray”, “website”: “https://www.accuray.com”, “hq”: “CA”, “status”: “Active radiotherapy/radiosurgery company with CyberKnife and Radixact radiation therapy platforms.”, “review”: “Added 2026”, “specialties”: [“Robotics / Image-Guided Surgery”, “Oncology Diagnostics / Devices”], “notes”: “Added for radiation oncology and image-guided/robotic radiosurgery coverage.”, “source”: “https://www.accuray.com/”}, {“name”: “Enovis”, “corrected”: “Enovis”, “website”: “https://www.enovis.com”, “hq”: “DE”, “status”: “Active medtech/orthopedics company headquartered in Wilmington, Delaware.”, “review”: “Added 2026”, “specialties”: [“Orthopedic Surgery / Spine”, “Robotics / Image-Guided Surgery”], “notes”: “Added for orthopedic reconstructive implants and orthopedic digital/AR navigation technology.”, “source”: “https://enovis.com/surgical”}, {“name”: “Acumed”, “corrected”: “Acumed”, “website”: “https://www.acumed.net”, “hq”: “OR”, “status”: “Active orthopedic fixation company with extremity, CMF, hip/pelvis, shoulder, chest wall and neurosurgery product categories.”, “review”: “Added 2026”, “specialties”: [“Orthopedic Surgery / Spine”], “notes”: “Added for orthopedic trauma/extremity fixation coverage.”, “source”: “https://www.acumed.net/products/”}, {“name”: “Medacta”, “corrected”: “Medacta”, “website”: “https://www.medacta.com”, “hq”: “TN”, “status”: “Active orthopedic and spine medical-device company; U.S. headquarters in Franklin, Tennessee.”, “review”: “Added 2026”, “specialties”: [“Orthopedic Surgery / Spine”, “Robotics / Image-Guided Surgery”], “notes”: “Added for orthopedic joint replacement, spine, sports medicine and augmented-reality surgical support coverage.”, “source”: “https://www.medacta.com/EN/about-us”}]}, “micro”: {“ent”: {“title”: “Otolaryngology (ENT)”, “categories”: [{“name”: “Ear / Otology & Audiology”, “products”: [“Cochlear implants”, “Middle ear implants”, “Bone conduction implants”, “Hearing diagnostics”, “Audiology accessories”]}, {“name”: “Nose & Sinus / Rhinology”, “products”: [“Sinus surgery instruments”, “Balloon sinus dilation”, “Nasal endoscopy”, “Turbinate reduction”, “Hemostasis / nasal packing”]}, {“name”: “Throat, Larynx, Airway & Sleep”, “products”: [“Laryngoscopes”, “Videolaryngoscopy”, “Flexible & rigid laryngoscopes”, “Stroboscopy systems”, “Laryngeal surgical tools”, “Vocal fold implants”, “Airway management devices”, “Sleep apnea devices”, “Ablation / laser systems for laryngeal lesions”]}, {“name”: “ENT Navigation & Surgical Systems”, “products”: [“ENT Navigation / Image Guidance”, “ENT Powered Instruments (Drills, Shavers)”]}, {“name”: “ENT Imaging”, “products”: [“CT / Imaging for ENT Diagnosis”]}], “companies”: [{“name”: “Canon Medical Systems”, “website”: “https://global.medical.canon”, “location”: “CA”, “products”: [“CT / Imaging for ENT Diagnosis”]}, {“name”: “Cochlear Limited”, “website”: “https://www.cochlear.com”, “location”: “CO”, “products”: [“Cochlear implants”, “Bone conduction implants”, “Audiology accessories”]}, {“name”: “GE HealthCare”, “website”: “https://www.gehealthcare.com”, “location”: “IL”, “products”: [“CT / Imaging for ENT Diagnosis”]}, {“name”: “Inspire Medical Systems”, “website”: “https://www.inspiresleep.com”, “location”: “MN”, “products”: [“Sleep apnea devices”]}, {“name”: “Integra LifeSciences”, “website”: “https://www.integralife.com”, “location”: “NJ”, “products”: [“Sinus surgery instruments”, “Balloon sinus dilation”, “Nasal endoscopy”, “Laryngoscopes”, “Flexible & rigid laryngoscopes”, “Laryngeal surgical tools”, “ENT Navigation / Image Guidance”]}, {“name”: “MED-EL”, “website”: “https://www.medel.com”, “location”: “NC”, “products”: [“Cochlear implants”, “Middle ear implants”, “Bone conduction implants”, “Audiology accessories”]}, {“name”: “Medtronic”, “website”: “https://www.medtronic.com”, “location”: “MN”, “products”: [“Sinus surgery instruments”, “Balloon sinus dilation”, “Turbinate reduction”, “ENT Navigation / Image Guidance”, “ENT Powered Instruments (Drills, Shavers)”]}, {“name”: “Natus Medical”, “website”: “https://www.natus.com”, “location”: “WI”, “products”: [“Hearing diagnostics”, “Audiology accessories”]}, {“name”: “Olympus Medical Systems”, “website”: “https://medical.olympusamerica.com”, “location”: “MA”, “products”: [“Sinus surgery instruments”, “Nasal endoscopy”, “Turbinate reduction”, “Laryngoscopes”, “Flexible & rigid laryngoscopes”, “Stroboscopy systems”, “Laryngeal surgical tools”, “Ablation / laser systems for laryngeal lesions”, “ENT Powered Instruments (Drills, Shavers)”]}, {“name”: “Philips Healthcare”, “website”: “https://www.philips.com/healthcare”, “location”: “MA”, “products”: [“Sleep apnea devices”, “CT / Imaging for ENT Diagnosis”]}, {“name”: “ResMed”, “website”: “https://www.resmed.com”, “location”: “CA”, “products”: [“Sleep apnea devices”]}, {“name”: “Siemens Healthineers”, “website”: “https://www.siemens-healthineers.com”, “location”: “PA”, “products”: [“CT / Imaging for ENT Diagnosis”]}, {“name”: “Smith & Nephew Inc”, “website”: “https://www.smith-nephew.com/en/”, “location”: “TN”, “products”: [“Turbinate reduction”, “Laryngeal surgical tools”, “Ablation / laser systems for laryngeal lesions”]}, {“name”: “Stryker”, “website”: “https://www.stryker.com”, “location”: “MI”, “products”: [“Sinus surgery instruments”, “Hemostasis / nasal packing”, “ENT Navigation / Image Guidance”, “ENT Powered Instruments (Drills, Shavers)”]}, {“name”: “Teleflex Inc.”, “website”: “https://www.teleflex.com”, “location”: “PA”, “products”: [“Laryngoscopes”, “Videolaryngoscopy”, “Airway management devices”]}]}, “ortho”: {“title”: “Medical Devices Micromap 2026 — Orthopedic”, “categories”: [{“name”: “Joint Replacement & Reconstruction”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Hip and Knee”]}, {“name”: “Spine”, “products”: [“Spinal Surgery and Spinal Rehabilitation”]}, {“name”: “Trauma, Fixation & Cranio-Maxillofacial”, “products”: [“Trauma / Fixation”, “Cranio-Maxillo-Facial”, “Dental”, “Dental Membranes & Biomaterials”, “Dental Implants”]}, {“name”: “Supports, Bracing & Prosthetics”, “products”: [“Orthopedic Supports & Braces”, “Prosthesis”]}, {“name”: “Arthroscopy & Sports Medicine”, “products”: [“Arthroscopy”]}, {“name”: “Computer-Assisted / Robot-Assisted Orthopedics”, “products”: [“Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”]}, {“name”: “Orthopedic Blood Management”, “products”: [“Orthopedic Autotransfusion”]}, {“name”: “Orthobiologics & Biomaterials”, “products”: [“Orthopedic Biologics”, “Growth Factors / Bioactives”, “Orthopedic Biomaterials”]}], “companies”: [{“name”: “Acumed”, “website”: “https://www.acumed.net”, “location”: “OR”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Trauma / Fixation”, “Cranio-Maxillo-Facial”]}, {“name”: “B. Braun Medical”, “website”: “https://www.bbraun.com”, “location”: “PA”, “products”: [“Hip and Knee”, “Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”]}, {“name”: “Centinel Spine”, “website”: “https://www.centinelspine.com”, “location”: “PA”, “products”: [“Spinal Surgery and Spinal Rehabilitation”]}, {“name”: “ConMed”, “website”: “https://www.conmed.com”, “location”: “FL”, “products”: [“Shoulder and Elbow”, “Hip and Knee”, “Arthroscopy”]}, {“name”: “Enovis”, “website”: “https://www.enovis.com”, “location”: “DE”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Hip and Knee”, “Orthopedic Supports & Braces”]}, {“name”: “Globus Medical”, “website”: “https://www.globusmedical.com”, “location”: “PA”, “products”: [“Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Orthopedic Biomaterials”]}, {“name”: “Globus Medical (NuVasive)”, “website”: “https://www.globusmedical.com”, “location”: “PA”, “products”: [“Spinal Surgery and Spinal Rehabilitation”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”]}, {“name”: “Haemonetics”, “website”: “https://www.haemonetics.com”, “location”: “MA”, “products”: [“Orthopedic Autotransfusion”]}, {“name”: “Integra LifeSciences”, “website”: “https://www.integralife.com”, “location”: “NJ”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Orthopedic Biomaterials”]}, {“name”: “Integrum AB”, “website”: “https://integrum.se”, “location”: “CA”, “products”: [“Prosthesis”]}, {“name”: “Johnson & Johnson MedTech”, “website”: “https://www.jnjmedtech.com”, “location”: “NJ”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Hip and Knee”, “Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”, “Cranio-Maxillo-Facial”, “Arthroscopy”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Orthopedic Biomaterials”]}, {“name”: “Medacta”, “website”: “https://www.medacta.com”, “location”: “TN”, “products”: [“Shoulder and Elbow”, “Hip and Knee”, “Spinal Surgery and Spinal Rehabilitation”, “Arthroscopy”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”]}, {“name”: “Medtronic”, “website”: “https://www.medtronic.com”, “location”: “MN”, “products”: [“Spinal Surgery and Spinal Rehabilitation”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Growth Factors / Bioactives”, “Orthopedic Biomaterials”]}, {“name”: “Orthofix”, “website”: “https://www.orthofix.com”, “location”: “TX”, “products”: [“Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”, “Orthopedic Supports & Braces”, “Orthopedic Biologics”, “Growth Factors / Bioactives”, “Orthopedic Biomaterials”]}, {“name”: “OrthoPediatrics”, “website”: “https://www.orthopediatrics.com”, “location”: “IN”, “products”: [“Foot and Ankle”, “Hip and Knee”, “Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”]}, {“name”: “Smith & Nephew Inc”, “website”: “https://www.smith-nephew.com/en/”, “location”: “TN”, “products”: [“Shoulder and Elbow”, “Hip and Knee”, “Trauma / Fixation”, “Arthroscopy”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Orthopedic Biomaterials”]}, {“name”: “Stryker”, “website”: “https://www.stryker.com”, “location”: “MI”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Hip and Knee”, “Spinal Surgery and Spinal Rehabilitation”, “Trauma / Fixation”, “Cranio-Maxillo-Facial”, “Dental”, “Arthroscopy”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Orthopedic Biomaterials”]}, {“name”: “Vilex”, “website”: “https://www.vilex.com”, “location”: “TN”, “products”: [“Foot and Ankle”, “Trauma / Fixation”]}, {“name”: “Zimmer Biomet”, “website”: “https://www.zimmerbiomet.com”, “location”: “IN”, “products”: [“Shoulder and Elbow”, “Hand and Wrist”, “Foot and Ankle”, “Hip and Knee”, “Arthroscopy”, “Computer-Assisted / Robot-Assisted Orthopedics”, “Navigation”, “Orthopedic Biologics”, “Orthopedic Biomaterials”]}]}, “ophthal”: {“title”: “Ophthalmology Micromap 2026”, “categories”: [{“name”: “Vision Correction & Eye Care”, “products”: [“Contact Lenses and Solutions”, “Eye Care Products”, “Dry Eye”, “Eye Health”, “Eye Hygiene”]}, {“name”: “Ophthalmic Surgery & Procedure Technology”, “products”: [“Cataract Surgery”, “Vitreoretinal Surgery”, “LASIK”, “Refractive Technology”]}, {“name”: “Audit Notes”, “products”: [“Coverage Summary”, “Primary Source URL(s)”]}], “companies”: [{“name”: “Alcon”, “website”: “https://www.alcon.com”, “location”: “TX”, “products”: [“Contact Lenses and Solutions”, “Eye Care Products”, “Dry Eye”, “Eye Health”, “Eye Hygiene”, “Cataract Surgery”, “Vitreoretinal Surgery”, “LASIK”, “Refractive Technology”]}, {“name”: “B. Braun Medical”, “website”: “https://www.bbraun.com”, “location”: “PA”, “products”: [“Cataract Surgery”, “Vitreoretinal Surgery”]}, {“name”: “CooperVision”, “website”: “https://www.coopervision.com”, “location”: “CA”, “products”: [“Contact Lenses and Solutions”, “Dry Eye”, “Eye Health”]}, {“name”: “Glaukos”, “website”: “https://www.glaukos.com”, “location”: “CA”, “products”: [“Eye Health”]}, {“name”: “Johnson & Johnson MedTech”, “website”: “https://www.jnjmedtech.com”, “location”: “NJ”, “products”: [“Contact Lenses and Solutions”, “Dry Eye”, “Eye Health”, “Cataract Surgery”, “LASIK”, “Refractive Technology”]}, {“name”: “Natus Medical”, “website”: “https://www.natus.com”, “location”: “WI”, “products”: [“Eye Health”]}]}, “obgyn”: {“title”: “Medical Devices Micromap 2026 — OB-Gyne / Neonatal”, “categories”: [{“name”: “Endometrial & Uterine Procedures”, “products”: [“Endometrial Ablation”, “Hysteroscopic Resection Systems”, “Uterine Morcellation Devices”, “Hysteroscopy Visualization & Fluid Management”, “Uterine Balloon Tamponade Systems”]}, {“name”: “Laparoscopic Gynecologic Surgery”, “products”: [“Laparoscopic Energy Devices”, “Laparoscopic Visualization Systems”, “Access / Trocar Systems”, “Laparoscopic Suturing / Stapling Systems”, “Insufflation Devices”]}, {“name”: “Pelvic Floor & Urogynecology Surgery”, “products”: [“Pelvic Floor Repair Mesh / Instruments”, “Vaginal / Urethral Sling Systems”]}, {“name”: “Obstetric OR Devices”, “products”: [“Cesarean Section Instruments”, “Obstetric Hemorrhage Devices”]}, {“name”: “Neonatal OR & Acute Care Devices”, “products”: [“Neonatal Warmers / OR Incubators”, “Neonatal Ventilation Systems”]}], “companies”: [{“name”: “Boston Scientific”, “website”: “https://www.bostonscientific.com”, “location”: “MA”, “products”: [“Pelvic Floor Repair Mesh / Instruments”, “Vaginal / Urethral Sling Systems”]}, {“name”: “ConMed”, “website”: “https://www.conmed.com”, “location”: “FL”, “products”: [“Laparoscopic Energy Devices”, “Access / Trocar Systems”, “Insufflation Devices”]}, {“name”: “Cook Medical”, “website”: “https://www.cookmedical.com”, “location”: “IN”, “products”: [“Uterine Balloon Tamponade Systems”, “Obstetric Hemorrhage Devices”]}, {“name”: “CooperSurgical”, “website”: “https://www.coopersurgical.com”, “location”: “CT”, “products”: [“Uterine Morcellation Devices”, “Hysteroscopy Visualization & Fluid Management”, “Laparoscopic Visualization Systems”, “Access / Trocar Systems”, “Cesarean Section Instruments”, “Obstetric Hemorrhage Devices”]}, {“name”: “Dräger”, “website”: “https://www.draeger.com”, “location”: “PA”, “products”: [“Neonatal Warmers / OR Incubators”, “Neonatal Ventilation Systems”]}, {“name”: “GE HealthCare”, “website”: “https://www.gehealthcare.com”, “location”: “IL”, “products”: [“Neonatal Warmers / OR Incubators”]}, {“name”: “Hologic”, “website”: “https://www.hologic.com”, “location”: “MA”, “products”: [“Endometrial Ablation”, “Hysteroscopic Resection Systems”, “Hysteroscopy Visualization & Fluid Management”, “Laparoscopic Energy Devices”]}, {“name”: “Intuitive Surgical”, “website”: “https://www.intuitive.com”, “location”: “CA”, “products”: [“Laparoscopic Visualization Systems”]}, {“name”: “Johnson & Johnson MedTech”, “website”: “https://www.jnjmedtech.com”, “location”: “NJ”, “products”: [“Laparoscopic Energy Devices”, “Access / Trocar Systems”, “Laparoscopic Suturing / Stapling Systems”, “Cesarean Section Instruments”]}, {“name”: “Medtronic”, “website”: “https://www.medtronic.com”, “location”: “MN”, “products”: [“Laparoscopic Energy Devices”, “Access / Trocar Systems”, “Laparoscopic Suturing / Stapling Systems”]}, {“name”: “Olympus Medical Systems”, “website”: “https://medical.olympusamerica.com”, “location”: “MA”, “products”: [“Hysteroscopic Resection Systems”, “Hysteroscopy Visualization & Fluid Management”, “Laparoscopic Visualization Systems”, “Access / Trocar Systems”, “Insufflation Devices”]}]}}, “macroToMicro”: {“ENT / Otolaryngology”: “ent”, “Orthopedic Surgery / Spine”: “ortho”, “Ophthalmology”: “ophthal”, “Ob-Gyn / Neonatal / Reproductive”: “obgyn”}};
/* ============ INDEXES ============ */
const M = DATA.macro, MI = DATA.micro, M2 = DATA.macroToMicro;
const microToMacro = Object.fromEntries(Object.entries(M2).map(([a,b])=>[b,a]));
const companyByName = {};
M.companies.forEach(c=>{ companyByName[c.name]=c; if(c.corrected) companyByName[c.corrected]=companyByName[c.corrected]||c; });
const microLabels = {ent:’ENT / Otolaryngology’,ortho:’Orthopedic’,ophthal:’Ophthalmology’,obgyn:’OB-Gyn / Neonatal’};
// company -> count of macro specialties; specialty -> companies
const specToCompanies = {};
M.specialties.forEach(s=>specToCompanies[s]=[]);
M.companies.forEach(c=>c.specialties.forEach(s=>specToCompanies[s]&&specToCompanies[s].push(c.name)));
// micro: product -> makers, within each specialty
const microIndex = {};
Object.entries(MI).forEach(([k,sp])=>{
const prodMakers={}; const allProducts=[];
sp.categories.forEach(cat=>cat.products.forEach(p=>{prodMakers[p]=[];allProducts.push({cat:cat.name,product:p});}));
sp.companies.forEach(co=>co.products.forEach(p=>{ if(prodMakers[p]) prodMakers[p].push(co.name); }));
microIndex[k]={prodMakers,allProducts,companyByName:Object.fromEntries(sp.companies.map(c=>[c.name,c]))};
});
// which micro specialties a company appears in (with products)
function microProfileFor(name){
const out=[];
Object.entries(MI).forEach(([k,sp])=>{
const co = sp.companies.find(c=>c.name===name || c.name===(companyByName[name]&&companyByName[name].name));
if(co && co.products.length) out.push({key:k,label:microLabels[k],products:co.products});
});
return out;
}
/* ============ ROUTER ============ */
let state={view:’macro’};
function go(view,p={}){ state={view,…p}; const h=’#’+view+(Object.keys(p).length?’/’+encodeURIComponent(JSON.stringify(p)):”); if(location.hash!==h) history.pushState(state,”,h); render(); window.scrollTo({top:0,behavior:’smooth’}); closeSearch();}
window.addEventListener(‘popstate’,e=>{ if(e.state){state=e.state;render();} else {state={view:’macro’};render();} });
/* ============ HELPERS ============ */
function el(t,a={},…kids){const e=document.createElement(t);for(const[k,v]of Object.entries(a)){if(k===’class’)e.className=v;else if(k===’html’)e.innerHTML=v;else if(k.startsWith(‘on’))e.addEventListener(k.slice(2),v);else e.setAttribute(k,v);}kids.flat().forEach(c=>e.appendChild(typeof c===’string’?document.createTextNode(c):c));return e;}
function clear(n){while(n.firstChild)n.removeChild(n.firstChild);}
const ALT={macro:’macro’,specialty:’macro’,company:’both’,micro:’micro’,product:’micro’};
function setAltitude(){
const pill=document.getElementById(‘altpill’),btns=document.querySelectorAll(‘#altitude button’);
const a=ALT[state.view]; btns.forEach(b=>b.dataset.on=(a===’both’||b.dataset.alt===a)?’1′:’0′);
const macroB=btns[0],microB=btns[1];
if(a===’macro’){pill.style.left=’3px’;pill.style.width=(macroB.offsetWidth)+’px’;}
else if(a===’micro’){pill.style.left=(macroB.offsetWidth+3)+’px’;pill.style.width=(microB.offsetWidth)+’px’;}
else {pill.style.left=’3px’;pill.style.width=(macroB.offsetWidth+microB.offsetWidth)+’px’;}
}
function crumbs(items){
const c=document.getElementById(‘crumbs’);clear(c);
items.forEach((it,i)=>{
if(i)c.appendChild(el(‘span’,{class:’sep’},’/’));
if(it.go) c.appendChild(el(‘a’,{onclick:it.go},it.label));
else c.appendChild(el(‘span’,{class:’here’},it.label));
});
}
/* ============ VIEWS ============ */
function render(){
setAltitude();
const app=document.getElementById(‘app’);clear(app);
({macro:viewMacro,specialty:viewSpecialty,company:viewCompany,micro:viewMicro,product:viewProduct}[state.view]||viewMacro)(app);
document.getElementById(‘foot-counts’).textContent=`${M.companies.length} companies · ${M.specialties.length} specialties · ${Object.keys(MI).length} micro deep-dives`;
}
/* —- MACRO: coverage matrix —- */
let macroFilter=null;
function viewMacro(app){
crumbs([{label:’Macro landscape’}]);
const companies=[…M.companies].sort((a,b)=>a.name.localeCompare(b.name));
const totalChecks=M.companies.reduce((s,c)=>s+c.specialties.length,0);
app.appendChild(el(‘div’,{class:’vhead’},
el(‘div’,{},
el(‘div’,{class:’eyebrow’},’Altitude · Macro’),
el(‘h1′,{},’Hospital device landscape’),
el(‘p’,{class:’lede’},’Every company against every specialty. Click a column to enter a specialty, a row to open a company, or any cell to jump in. Four specialties drop to micro-level product detail.’)
),
el(‘div’,{class:’stat-row’},
el(‘div’,{class:’stat’},el(‘b’,{},String(M.companies.length)),el(‘span’,{},’Companies’)),
el(‘div’,{class:’stat’},el(‘b’,{},String(M.specialties.length)),el(‘span’,{},’Specialties’)),
el(‘div’,{class:’stat’},el(‘b’,{},String(totalChecks)),el(‘span’,{},’Coverage marks’))
)
));
// domain filters
const domains=[…new Set(M.specialties.map(s=>M.domains[s]||’Other’))];
const ctrl=el(‘div’,{class:’controls’});
ctrl.appendChild(el(‘button’,{class:’chipfilter’,[‘data-on’]:macroFilter?’0′:’1′,onclick:()=>{macroFilter=null;render();}},’All domains’));
domains.forEach(d=>ctrl.appendChild(el(‘button’,{class:’chipfilter’,[‘data-on’]:macroFilter===d?’1′:’0′,onclick:()=>{macroFilter=macroFilter===d?null:d;render();}},d)));
app.appendChild(ctrl);
const specs=M.specialties.filter(s=>!macroFilter||(M.domains[s]||’Other’)===macroFilter);
const wrap=el(‘div’,{class:’matrix-wrap’});
const table=el(‘table’,{class:’matrix’});
// header
const thead=el(‘thead’),hr=el(‘tr’);
hr.appendChild(el(‘th’,{class:’mx-corner mx-rowhead’,style:’cursor:default’},el(‘span’,{class:’eyebrow’,style:’padding-left:0′},’Company \\ Specialty’)));
specs.forEach(s=>{
const hasMicro=M2[s];
const th=el(‘th’,{class:’mx-colhead’,onclick:()=>go(‘specialty’,{spec:s})});
th.appendChild(el(‘span’,{class:’dom’},(M.domains[s]||”).split(‘ / ‘)[0]));
th.appendChild(el(‘div’,{class:’rot’},(hasMicro?’▾ ‘:”)+s));
hr.appendChild(th);
});
thead.appendChild(hr);table.appendChild(thead);
const tb=el(‘tbody’);
companies.forEach(c=>{
const tr=el(‘tr’);
const rh=el(‘th’,{class:’mx-rowhead’,onclick:()=>go(‘company’,{name:c.name})});
const cn=el(‘span’,{class:’cn’});
if(c.review&&/needs/i.test(c.review))cn.appendChild(el(‘span’,{class:’flag’,title:’Needs review’}));
cn.appendChild(document.createTextNode(c.name));
rh.appendChild(cn);tr.appendChild(rh);
specs.forEach(s=>{
const on=c.specialties.includes(s);
const td=el(‘td’,{class:’mx-cell’+(on?’ on’:”),title:c.name+’ — ‘+s,onclick:()=>on?go(‘specialty’,{spec:s}):go(‘company’,{name:c.name})});
if(on)td.appendChild(el(‘span’,{class:’mk’}));
tr.appendChild(td);
});
tb.appendChild(tr);
});
table.appendChild(tb);wrap.appendChild(table);app.appendChild(wrap);
app.appendChild(el(‘div’,{class:’legend’},
el(‘span’,{},el(‘span’,{class:’mk’,style:’width:10px;height:10px;border-radius:2px;background:var(–grid-on);display:inline-block’}),’Active in specialty’),
el(‘span’,{},el(‘span’,{class:’flag’,style:’position:static;display:inline-block’}),’Corporate status needs review’),
el(‘span’,{},el(‘span’,{style:’font-family:IBM Plex Mono,monospace’},’▾’),’Has micro-level product detail’)
));
}
/* —- MACRO SPECIALTY —- */
function viewSpecialty(app){
const s=state.spec, names=specToCompanies[s]||[], micro=M2[s];
crumbs([{label:’Macro’,go:()=>go(‘macro’)},{label:s}]);
app.appendChild(el(‘div’,{class:’vhead’},
el(‘div’,{},
el(‘div’,{class:’eyebrow’},(M.domains[s]||’Specialty’)),
el(‘h1’,{},s),
el(‘p’,{class:’lede’},names.length+’ companies hold a position here’+(micro?’. This specialty has full micro-level product mapping — drop down to see exactly who makes what.’:’.’))
),
el(‘div’,{class:’stat-row’},el(‘div’,{class:’stat’},el(‘b’,{},String(names.length)),el(‘span’,{},’Companies’)))
));
if(micro){
const sp=MI[micro];
app.appendChild(el(‘div’,{class:’drill’,onclick:()=>go(‘micro’,{key:micro})},
el(‘div’,{class:’zi’},’▾’),
el(‘div’,{class:’dt’},el(‘b’,{},’Zoom to micro — product detail’),
el(‘span’,{},sp.categories.reduce((n,c)=>n+c.products.length,0)+’ products across ‘+sp.categories.length+’ categories · ‘+sp.companies.length+’ mapped companies’)),
el(‘div’,{class:’arr’},’→’)
));
}
app.appendChild(el(‘div’,{class:’section-head’},el(‘h2′,{},’Companies in this specialty’),el(‘span’,{class:’ct’},String(names.length))));
const grid=el(‘div’,{class:’grid cards’});
names.map(n=>companyByName[n]).filter(Boolean).sort((a,b)=>a.name.localeCompare(b.name)).forEach(c=>grid.appendChild(companyCard(c,s)));
app.appendChild(grid);
}
function companyCard(c,highlightSpec){
const card=el(‘div’,{class:’card’,onclick:()=>go(‘company’,{name:c.name})});
card.appendChild(el(‘h3’,{},c.name));
card.appendChild(el(‘div’,{class:’meta’},[c.hq,c.specialties.length+’ specialties’].filter(Boolean).join(‘ · ‘)));
const cov=el(‘div’,{class:’cov’});
const ordered=[…c.specialties].sort((a,b)=>(a===highlightSpec?-1:b===highlightSpec?1:0));
ordered.slice(0,4).forEach(s=>cov.appendChild(el(‘span’,{class:’minichip’,style:s===highlightSpec?’background:var(–teal-wash);color:var(–teal-deep)’:”},s.split(‘ / ‘)[0])));
if(c.specialties.length>4)cov.appendChild(el(‘span’,{class:’minichip more’},’+’+(c.specialties.length-4)));
card.appendChild(cov);
return card;
}
/* —- COMPANY (the bridge) —- */
function viewCompany(app){
const c=companyByName[state.name];
if(!c){app.appendChild(el(‘div’,{class:’empty’},el(‘b’,{},’Company not found’)));return;}
crumbs([{label:’Macro’,go:()=>go(‘macro’)},{label:c.name}]);
const head=el(‘div’,{class:’profile-head’});
const pid=el(‘div’,{class:’pid’});
pid.appendChild(el(‘div’,{class:’eyebrow’},’Company’));
pid.appendChild(el(‘h1’,{},c.name));
if(c.corrected&&c.corrected!==c.name)pid.appendChild(el(‘div’,{class:’corr’},’→ now mapped as ‘+c.corrected));
const row=el(‘div’,{class:’row’});
if(c.website)row.appendChild(el(‘a’,{href:c.website,target:’_blank’,rel:’noopener’},c.website.replace(/^https?:\/\//,”)));
if(c.hq)row.appendChild(el(‘span’,{},’HQ · ‘+c.hq));
if(c.review)row.appendChild(el(‘span’,{class:’badge ‘+(/needs/i.test(c.review)?’warn’:’ok’)},c.review));
pid.appendChild(row);
if(c.status)pid.appendChild(el(‘div’,{class:’note’},c.status));
head.appendChild(pid);
app.appendChild(head);
// MACRO footprint
app.appendChild(el(‘div’,{class:’section-head’},
el(‘h2′,{},’Macro footprint’),el(‘span’,{class:’ct’},String(c.specialties.length)),
el(‘span’,{class:’alt’},’Altitude · Macro’)));
const chips=el(‘div’,{class:’chips’});
if(!c.specialties.length)chips.appendChild(el(‘div’,{class:’empty’,style:’padding:14px’},’No macro specialties marked.’));
c.specialties.forEach(s=>{
const ch=el(‘div’,{class:’chip’+(M2[s]?’ teal’:”),onclick:()=>go(‘specialty’,{spec:s})},s);
if(M2[s])ch.appendChild(el(‘span’,{class:’n’},’▾ micro’));
chips.appendChild(ch);
});
app.appendChild(chips);
// MICRO products
const micro=microProfileFor(c.name);
app.appendChild(el(‘div’,{class:’section-head’,style:’margin-top:28px’},
el(‘h2′,{},’Micro products’),el(‘span’,{class:’ct’},String(micro.reduce((n,m)=>n+m.products.length,0))),
el(‘span’,{class:’alt’},’Altitude · Micro’)));
if(!micro.length){
app.appendChild(el(‘div’,{class:’note’},’No micro-level product detail mapped for this company yet. Micro mapping currently covers ENT, Orthopedic, Ophthalmology and OB-Gyn / Neonatal.’));
} else {
micro.forEach(m=>{
const g=el(‘div’,{class:’pgroup’});
g.appendChild(el(‘div’,{class:’ph’,onclick:()=>go(‘micro’,{key:m.key})},
el(‘b’,{},m.label),
el(‘span’,{class:’minichip’},m.products.length+’ products’),
el(‘span’,{class:’arrow’},’open specialty →’)));
const pl=el(‘div’,{class:’plist’});
m.products.forEach(p=>pl.appendChild(el(‘span’,{class:’chip’,style:’font-size:12px;padding:6px 12px’,onclick:(e)=>{e.stopPropagation();go(‘product’,{key:m.key,product:p});}},p)));
g.appendChild(pl);
app.appendChild(g);
});
}
if(c.notes)app.appendChild(el(‘div’,{class:’note’,style:’margin-top:20px’},’Note · ‘+c.notes));
}
/* —- MICRO SPECIALTY —- */
let microCompanyMode=false;
function viewMicro(app){
const k=state.key, sp=MI[k], idx=microIndex[k], macroName=microToMacro[k];
crumbs([{label:’Macro’,go:()=>go(‘macro’)},{label:macroName||microLabels[k],go:macroName?()=>go(‘specialty’,{spec:macroName}):null},{label:’Micro’}]);
const nProd=sp.categories.reduce((n,c)=>n+c.products.length,0);
app.appendChild(el(‘div’,{class:’vhead’},
el(‘div’,{},
el(‘div’,{class:’eyebrow’},’Altitude · Micro’),
el(‘h1’,{},microLabels[k]),
el(‘p’,{class:’lede’},’Product-level map. Click any product to see its makers, or any company to open its full profile.’)
),
el(‘div’,{class:’stat-row’},
el(‘div’,{class:’stat’},el(‘b’,{},String(nProd)),el(‘span’,{},’Products’)),
el(‘div’,{class:’stat’},el(‘b’,{},String(sp.companies.length)),el(‘span’,{},’Companies’))
)
));
if(macroName)app.appendChild(el(‘div’,{class:’drill up’,onclick:()=>go(‘specialty’,{spec:macroName})},
el(‘div’,{class:’zi’},’▴’),
el(‘div’,{class:’dt’},el(‘b’,{},’Back up to macro’),el(‘span’,{},’See ‘+macroName+’ across the full landscape’)),
el(‘div’,{class:’arr’},’→’)));
const ctrl=el(‘div’,{class:’controls’});
ctrl.appendChild(el(‘button’,{class:’chipfilter’,[‘data-on’]:microCompanyMode?’0′:’1′,onclick:()=>{microCompanyMode=false;render();}},’By product’));
ctrl.appendChild(el(‘button’,{class:’chipfilter’,[‘data-on’]:microCompanyMode?’1′:’0′,onclick:()=>{microCompanyMode=true;render();}},’By company’));
app.appendChild(ctrl);
if(!microCompanyMode){
sp.categories.forEach(cat=>{
const box=el(‘div’,{class:’cat’});
box.appendChild(el(‘div’,{class:’ch’},cat.name,el(‘span’,{class:’n’},cat.products.length+’ products’)));
cat.products.forEach(p=>{
const makers=idx.prodMakers[p]||[];
const r=el(‘div’,{class:’prow’,onclick:()=>go(‘product’,{key:k,product:p})});
r.appendChild(el(‘div’,{class:’pname’},p));
r.appendChild(el(‘span’,{class:’cnt’+(makers.length?”:’ zero’)},makers.length+(makers.length===1?’ maker’:’ makers’)));
r.appendChild(el(‘span’,{class:’go’},’view →’));
box.appendChild(r);
});
app.appendChild(box);
});
} else {
app.appendChild(el(‘div’,{class:’section-head’},el(‘h2′,{},’Companies mapped here’),el(‘span’,{class:’ct’},String(sp.companies.length))));
const grid=el(‘div’,{class:’grid cards’});
[…sp.companies].sort((a,b)=>a.name.localeCompare(b.name)).forEach(co=>{
const card=el(‘div’,{class:’card’,onclick:()=>go(‘company’,{name:co.name})});
card.appendChild(el(‘h3’,{},co.name));
card.appendChild(el(‘div’,{class:’meta’},(co.location||”)+’ · ‘+co.products.length+’ products’));
const cov=el(‘div’,{class:’cov’});
co.products.slice(0,5).forEach(p=>cov.appendChild(el(‘span’,{class:’minichip’},p)));
if(co.products.length>5)cov.appendChild(el(‘span’,{class:’minichip more’},’+’+(co.products.length-5)));
card.appendChild(cov);
grid.appendChild(card);
});
app.appendChild(grid);
}
}
/* —- MICRO PRODUCT —- */
function viewProduct(app){
const k=state.key, p=state.product, sp=MI[k], idx=microIndex[k];
const makers=idx.prodMakers[p]||[];
const cat=sp.categories.find(c=>c.products.includes(p));
const macroName=microToMacro[k];
crumbs([{label:’Macro’,go:()=>go(‘macro’)},{label:microLabels[k]+’ · Micro’,go:()=>go(‘micro’,{key:k})},{label:p}]);
app.appendChild(el(‘div’,{class:’vhead’},
el(‘div’,{},
el(‘div’,{class:’eyebrow’},(cat?cat.name+’ · ‘:”)+’Product’),
el(‘h1’,{},p),
el(‘p’,{class:’lede’},makers.length?(makers.length+’ mapped ‘+(makers.length===1?’company makes’:’companies make’)+’ this product.’):’No mapped companies make this product yet.’)
),
el(‘div’,{class:’stat-row’},el(‘div’,{class:’stat’},el(‘b’,{},String(makers.length)),el(‘span’,{},’Makers’)))
));
app.appendChild(el(‘div’,{class:’chips’,style:’margin-bottom:24px’},
el(‘div’,{class:’chip’,onclick:()=>go(‘micro’,{key:k})},’▴ All ‘+microLabels[k]+’ products’),
macroName?el(‘div’,{class:’chip’,onclick:()=>go(‘specialty’,{spec:macroName})},’⤒ ‘+macroName+’ (macro)’):document.createTextNode(”)
));
app.appendChild(el(‘div’,{class:’section-head’},el(‘h2′,{},’Who makes it’),el(‘span’,{class:’ct’},String(makers.length))));
if(!makers.length){app.appendChild(el(‘div’,{class:’note’},’No companies in the current mapping are marked for this product.’));return;}
const grid=el(‘div’,{class:’grid cards’});
makers.map(n=>companyByName[n]).filter(Boolean).sort((a,b)=>a.name.localeCompare(b.name)).forEach(c=>grid.appendChild(companyCard(c)));
// fall back for any micro-only name
makers.filter(n=>!companyByName[n]).forEach(n=>grid.appendChild(el(‘div’,{class:’card’,onclick:()=>go(‘company’,{name:n})},el(‘h3’,{},n))));
app.appendChild(grid);
}
/* ============ MICRO PICKER ============ */
function openMicroPicker(){
const app=document.getElementById(‘app’);clear(app);
state={view:’micro_pick’};setAltitude();
crumbs([{label:’Macro’,go:()=>go(‘macro’)},{label:’Choose a micro map’}]);
app.appendChild(el(‘div’,{class:’vhead’},el(‘div’,{},
el(‘div’,{class:’eyebrow’},’Altitude · Micro’),
el(‘h1′,{},’Pick a specialty to zoom into’),
el(‘p’,{class:’lede’},’Micro-level product detail is mapped for these four specialties. The rest of the landscape lives at macro altitude.’))));
const grid=el(‘div’,{class:’grid cards’});
Object.entries(MI).forEach(([k,sp])=>{
const nProd=sp.categories.reduce((n,c)=>n+c.products.length,0);
const card=el(‘div’,{class:’card’,onclick:()=>go(‘micro’,{key:k})});
card.appendChild(el(‘div’,{class:’eyebrow’,style:’margin-bottom:4px’},’Micro deep-dive’));
card.appendChild(el(‘h3’,{},microLabels[k]));
card.appendChild(el(‘div’,{class:’meta’},nProd+’ products · ‘+sp.companies.length+’ companies · ‘+sp.categories.length+’ categories’));
grid.appendChild(card);
});
app.appendChild(grid);
}
/* ============ SEARCH ============ */
const searchIndex=[];
M.companies.forEach(c=>searchIndex.push({type:’company’,label:c.name,sub:c.hq||”,color:’var(–ink)’,go:()=>go(‘company’,{name:c.name})}));
M.specialties.forEach(s=>searchIndex.push({type:’specialty’,label:s,sub:M.domains[s]||”,color:’var(–teal)’,go:()=>go(‘specialty’,{spec:s})}));
Object.entries(MI).forEach(([k,sp])=>sp.categories.forEach(cat=>cat.products.forEach(p=>searchIndex.push({type:’product’,label:p,sub:microLabels[k],color:’var(–amber)’,go:()=>go(‘product’,{key:k,product:p})}))));
const qel=document.getElementById(‘q’),srel=document.getElementById(‘sr’);
let srActive=-1,srItems=[];
qel.addEventListener(‘input’,()=>{
const v=qel.value.trim().toLowerCase();
if(!v){closeSearch();return;}
const hits=searchIndex.filter(x=>x.label.toLowerCase().includes(v)).slice(0,40);
renderSearch(hits);
});
qel.addEventListener(‘keydown’,e=>{
if(!srel.classList.contains(‘show’))return;
if(e.key===’ArrowDown’){e.preventDefault();srActive=Math.min(srActive+1,srItems.length-1);highlightSR();}
else if(e.key===’ArrowUp’){e.preventDefault();srActive=Math.max(srActive-1,0);highlightSR();}
else if(e.key===’Enter’){e.preventDefault();if(srItems[srActive])srItems[srActive].go();}
else if(e.key===’Escape’){closeSearch();qel.blur();}
});
document.addEventListener(‘click’,e=>{if(!e.target.closest(‘.search’))closeSearch();});
function renderSearch(hits){
clear(srel);srItems=hits;srActive=hits.length?0:-1;
if(!hits.length){srel.appendChild(el(‘div’,{class:’sr-item’,style:’color:var(–muted)’},’No matches’));srel.classList.add(‘show’);return;}
const groups={company:[],specialty:[],product:[]};
hits.forEach(h=>groups[h.type].push(h));
const titles={company:’Companies’,specialty:’Specialties (macro)’,product:’Products (micro)’};
[‘company’,’specialty’,’product’].forEach(t=>{
if(!groups[t].length)return;
const g=el(‘div’,{class:’sr-group’});g.appendChild(el(‘div’,{class:’sr-head’},titles[t]));
groups[t].forEach(h=>{
const it=el(‘div’,{class:’sr-item’,onclick:h.go},
el(‘span’,{class:’sr-dot’,style:’background:’+h.color}),
el(‘span’,{},h.label),
el(‘span’,{class:’tag’},h.sub));
h._node=it;g.appendChild(it);
});
srel.appendChild(g);
});
srel.classList.add(‘show’);highlightSR();
}
function highlightSR(){srItems.forEach((h,i)=>h._node&&h._node.classList.toggle(‘active’,i===srActive));}
function closeSearch(){srel.classList.remove(‘show’);}
/* ============ INIT ============ */
(function init(){
if(location.hash.length>1){
try{const[,view,p]=location.hash.match(/^#([^/]+)(?:\/(.*))?$/);state={view,…(p?JSON.parse(decodeURIComponent(p)):{})};}
catch(e){state={view:’macro’};}
}
render();
window.addEventListener(‘resize’,setAltitude);
})();