Если вам нужны только отдельные поля TypeId, это намного проще, чем это:
var types = Hospitals.Select(h => h.TypeId).Distinct();
Просто примечание к вашему исходному запросу: я часто нахожу, что синтаксис метода этих операций менее читабелен, чем понимание запроса. Конечно, все сводится к личному стилю, но до сих пор я не думаю, что когда-либо писал GroupBy () или Join () в синтаксисе метода; для меня это течет лучше:
var types = from h in Hospitals
group h by h.TypeId into types
select types.Key;