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

Cranial Reconstruction

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

Osteomesh®

PC11

PC17

PC18

PC22

Personalised Implants

Customised based on anatomical region and patient's needs

Contact a Representative

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.