Empowering Natural Tissue Regeneration
You are currently viewing products that have obtained market authorisation in Singapore. To view products in a region where you are located, please visit Australia, European Union, or USA.
Singapore
You are currently viewing products that have obtained market authorisation in Singapore. To view products in a region where you are located, please visit Europe, Australia, or USA.
Singapore

Products

Off-the-shelf Implants

Osteomesh, Osteoplug, and Osteoplug-C are bone fillers made from polycaprolactone. Depending on where the bone defect exists in the craniofacial skeleton, a variety of off-the-shelf shapes and sizes are available. ​

Personalised Implants

In specific patient needs, our Patient Specific Implant solution is also available.

Products by Surgical Specialty

Cranial Reconstruction

PC11, PC22, PC23, PC24, PC17, PC18, PC60

Orbital Reconstruction

PC11

Oral-Facial Reconstruction & Augmentation

PC12, PC21, PC17, PC60

Dental

PC12, PC21

Orthopaedic Segmental Bone Reconstruction

PT25, PT60

Knee Preservation

PT41, PT60
Surgical Specialties
Neurosurgery
Craniofacial Surgery
Rhinoplasty
Dental Surgery
Scaffold Bone Filler
Our devices are made from polycaprolactone. Depending on location of the bone defect in the craniofacial skeleton, a variety of off-the-shelf shapes and sizes are available.
In specific patient needs, a customised bone filler is also available.
PC17
PC11
PC60
document.addEventListener('DOMContentLoaded', function () {
  const groups = document.querySelectorAll('[data-tabs]');

  groups.forEach(group => {
    const tablist = group.querySelector('[data-tablist]');
    const panelsRoot = group.querySelector('[data-panels]');
    if (!tablist || !panelsRoot) return;

    const tabs = Array.from(tablist.querySelectorAll('[role="tab"][data-tab]'));
    const panels = Array.from(panelsRoot.querySelectorAll('[role="tabpanel"][data-panel]'));
    if (!tabs.length || !panels.length) return;

    const panelMap = new Map(panels.map(p => [p.getAttribute('data-panel'), p]));

    function activate(target, pushHash = true, focusTab = true) {
      if (!panelMap.has(target)) return;
      panelsRoot.setAttribute('aria-busy', 'true');

      // Tabs
      tabs.forEach(tab => {
        const isActive = tab.getAttribute('data-tab') === target;
        tab.setAttribute('aria-selected', String(isActive));
        tab.tabIndex = isActive ? 0 : -1;
      });

      // Panels (both hidden attr + class, for robustness)
      panels.forEach(panel => {
        const match = panel.getAttribute('data-panel') === target;
        panel.classList.toggle('is-active', match);
        if (match) panel.removeAttribute('hidden');
        else panel.setAttribute('hidden', 'hidden');
      });

      // Scoped hash: #groupId=target
      if (pushHash && group.id) {
        const url = new URL(location.href);
        url.hash = `${group.id}=${target}`;
        history.replaceState(null, '', url);
      }

      if (focusTab) {
        const activeTab = tabs.find(t => t.getAttribute('data-tab') === target);
        if (activeTab) activeTab.focus({ preventScroll: true });
      }

      panelsRoot.removeAttribute('aria-busy');
    }

    // Clicks
    tablist.addEventListener('click', e => {
      const btn = e.target.closest('[role="tab"][data-tab]');
      if (!btn) return;
      e.preventDefault();
      activate(btn.getAttribute('data-tab'));
    });

    // Keyboard Left/Right/Home/End
    tablist.addEventListener('keydown', e => {
      const idx = tabs.findIndex(t => t.getAttribute('aria-selected') === 'true');
      if (idx < 0) return;
      let next = null;
      switch (e.key) {
        case 'ArrowLeft': next = (idx - 1 + tabs.length) % tabs.length; break;
        case 'ArrowRight': next = (idx + 1) % tabs.length; break;
        case 'Home': next = 0; break;
        case 'End': next = tabs.length - 1; break;
        default: return;
      }
      e.preventDefault();
      activate(tabs[next].getAttribute('data-tab'));
    });

    // Initial: #groupId=target → else first tab
    let initial = null;
    if (group.id && location.hash.includes(group.id + '=')) {
      const pair = location.hash.replace('#', '').split('&')
        .find(x => x.startsWith(group.id + '='));
      if (pair) initial = pair.split('=')[1];
    }
    if (!initial) initial = tabs[0].getAttribute('data-tab');

    // Prime state
    tabs.forEach(t => {
      const selected = t.getAttribute('data-tab') === initial;
      t.setAttribute('aria-selected', String(selected));
      t.tabIndex = selected ? 0 : -1;
    });
    panels.forEach(p => {
      const match = p.getAttribute('data-panel') === initial;
      p.classList.toggle('is-active', match);
      if (match) p.removeAttribute('hidden');
      else p.setAttribute('hidden', 'hidden');
    });
  });
});

Models Available

PC11
PC12
PC12 (Rectangular)
PC50
PC60
PT25
PC17
PC18
PC21
PC22
PC23
PC24
Osteopore’s Patient Specific Implant (PSI) is made specific to a patient’s needs, with the support of a qualified Healthcare Professional.

PT41

Contact a Representative

Disclaimer

Content on this site is intended for healthcare professionals in countries with applicable health authority product registrations. The content may not be approved for use in your specific region or country. Please review applicable product labeling for your country for indications and instructions prior to use. If not approved, please exit this site.
Click "Continue" to close this window and view the site's content.
Continue

Are you a Healthcare Professional?

The content of the Healthcare Professional pages is intended for a medical specialist audience only.
By using this site or downloading materials from the site, you agree to abide by the terms and conditions set forth in our Privacy Policy and Legal Notice.

No, I am not a Healthcare professional. Please take me to the Patient Care content, or the Homepage.