// Adds dimensions UUID, Author and Topic into GA4
Saturday, July 18, 2026
28.3 C
Singapore

Thomson Medical Group set to pump S$5.5 billion to build Johor Bay super project in SEZ

SINGAPORE: Singapore-listed Thomson Medical Group is set to pump S$5.5 billion to launch Johor Bay, a mixed-use development comprising a private hospital as well as commercial and residential properties.

The project, which is touted to be one of the largest of its kind in Southeast Asia, will span 10.52 hectares within the Johor Bahru-Singapore Special Economic Zone.

The core feature of the planned development will be a 1,000-bed private hospital that will house specialist wards, elderly care facilities, and a dedicated life science building to support medical research.

In addition to healthcare facilities, Johor Bay will include luxury residences, five-star hotels, as well as commercial and lifestyle areas.

Johor Bay is set to be built just 1.2 kilometres from the upcoming Bukit Chagar MRT station and only minutes from the Johor-Singapore Causeway and the regional ferry terminal.

Thomson Medical indicates that the scale and integrated nature of Johor Bay will position it as a significant hub for healthcare and lifestyle development in the region.

- Advertisement -

Hot this week

‘New HDB feature?’: Singaporean complains Fernvale fitness corner has become a ‘neighbourhood laundry rack’

"Since when did outdoor exercise equipment become a communal clothes drying rack? Shirts, shorts, towels and other laundry were hanging across multiple pieces of gym equipment, making it difficult,...

TikToker says uncertainty, not attitude, is driving cynicism among many Singaporeans

A social media discussion on cynicism has sparked debate over AI, graduate employment, economic uncertainty and why many people feel increasingly sceptical about the future in Singapore and beyond.

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks