проще перед группировкой (сортировкой) подготовить строки
например вырезать из них слова
детск(ий|ая|ое)
<?php
$names = [
'Абдоминальная хирургия',
'Бариатрическая хирургия',
'Бариатрическая хирургия',
'Венерологическая клиника',
'Детская клиника',
'Дерматология',
'Детская урология',
'Детский тест',
'Детское тесто',
];
$result = [];
foreach ($names as $name) {
$l = mb_strtoupper(mb_substr(
trim(preg_replace('!детск(ий|ая|ое)!usi', '', $name)),
0, 1
));
$result[$l][] = ['NAME' => $name];
}
print_r($result);
...
[У] => Array
(
[0] => Array
(
[NAME] => Детская урология
)
)
[Т] => Array
(
[0] => Array
(
[NAME] => Детский тест
)
[1] => Array
(
[NAME] => Детское тесто
)
)