Правило (16) показує синтаксичну структуру слота, де l1,l2 – термінальні символи, які визначають границі слоту, Рij – ядро слоту,
– термінальні рядки, – залежні слоти з аналогічною структурою: . (16)Правила (17-21) показують варіанти структури слота. Додаткові знаки „*” і „!” вказують на обов’язковість підстановки одного зі значень замість нетермінального символу. Знак „&” вказує на можливість підстановки декількох значень нетермінального символу одночасно. Знак розширеної нотації формальних граматик „+” означає обов’язкову підстановку одного або декількох значень замість нетермінального символу.
(17) (18) (19) (20) . (21)Правила (22-23) описують варіант залежності слотів у шаблоні (слоти Уik і Уil залежать від Уij) у разі обов’язкової та необов’язкової клінічної характеристики. Відповідні правила для формул (19)-(20) будуються аналогічним чином.
(22) (23)Правило (24) визначає варіанти значень нетермінального символу, якими можуть бути як термінальні символи, так і певна кількість шаблонів-значень (
) . (24)Шаблон-значення може бути організований з m-1 слотів-атрибутів, де m – кількість нетермінальних символів в алфавіті, які визначають клінічні характеристики діагнозу
. (25)Отже, модель синтаксичної складової класифікації формується множиною граматик, кожна з яких є компактним записом усіх варіантів визначеного діагнозу.
Таким чином, описана модель визначає синтаксичну складову слоту клінічної характеристики, її компоненти, їх порядок у слоті та у фреймі: залежні слоти; нетермінальні символи; термінальні рядки, що можуть існувати перед клінічною характеристикою, після неї, та взагалі після слоту; правила трансформації.
Модель семантичної складової класифікації формується на базі дескриптивної логіки, що дозволяє віднести мову опису класифікації до формалізованих мов, визначити її переваги і недоліки, можливі шляхи розвитку. Дана модель зводиться до термінологічної аксіоми спадкоємства, а також до набору конструкторів концептів клінічного діагнозу (табл. 1,2).Таким чином, логіку класифікації клінічних діагнозів віднесено до підмножини мов без можливості використання оператора “обмеження на існування”.
Таблиця 1
Конструктори концептів клінічної класифікації діагнозів
Оператор | Нотація дескрипційної логіки |
Вершина сіті | |
За межами сіті | |
Кон’юнкція | |
Імплікація | |
Обмеження на значення | |
Обмеження на мінімальне число значень | |
Обмеження на максимальне число значень |
Таблиця 2
Відповідність конструкторів концептів запропонованої класифікації
Спрощена Нотація | Приклад | Нотація логіки | Опис |
*Axis | {*F}фаза захворювання | Необов'язкова клінічна характе-ристика діагнозу | |
{*Axis1{*Axis2}} | {*T{*F}} | Характеристика F може бути задана, якщо задана характе-ристика T | |
Axis& | {*O&}ускладнення | Можливість завдання декількох значень характеристики одночасно | |
!Axis | {!T}ст. важкості | Обов'язкова характеристика |
Формалізмом, здатним описати семантично-синтаксичну модель клінічного діагнозу, є фреймова і, відповідно, об’єктно-орієнтована мови опису знань. Фреймова модель класифікації є композицією наступних складових: аксіом та переліку конструкторів, здатних описати фрейм-концепт(табл.1,2); структури слоту з визначенням відповідних граней (табл.3); функціональної складової класифікації, яка може бути визначена як набір команд мови керування класифікацією та базується на перших двох складових. Основу функціонального рівня класифікації складають команди управління фреймовою мережею класифікації на основі описаної структури. Серед особливостей відзначимо наявність команд завдання абстрактних фреймів, які складаються з певної множини слотів характеристик, успадкування від абстрактних фреймів тощо. Так, процес успадкування від абстрактного фрейму формально описується як правило:
, де F − абстрактний фрейм, C − фрейм, F.S – множина слотів супер-фрейму, Copy – предикат, що описує процес копіювання відповідної частини мережі, яка пов’язана з успадкованим слотом, GT – предикат, який описує синтаксичну трансформацію термінів при успадкуванні на основі описаних правил GTRules для даного слоту.Таблиця 3
Загальна структура слоту
Ім’я грані слоту | Опис грані слоту |
SuperSlot | Слот, від якого наслідується даний |
MemberSlot | Ідентифікатор слоту |
SlotIsDependentOf | Слот, від якого даний залежить |
ValueClass | Ім’я концепту (фрейму), з яким задається відношення |
Cardinality.Min | Обмеження на мінімальну кількість значень |
Cardinality.Max | Обмеження на максимальну кількість значень |
OrderInFrame | Порядок слоту у фреймі |
OrderInSlot | Порядок підпорядкованого слоту в слоті |
DirectionForOrderInSlot | Покажчик напрямку місцезнаходження підпорядкованого слоту в слоті |
TerminalString1 | Термінальний рядок перед клінічною характеристикою |
TerminalString2 | Термінальний рядок за клінічною характеристикою |
TerminalString3 | Термінальний рядок, який стоїть за слотом у фреймі |
Перехід до об’єктно-орієнтованої моделі здійснюється наступним чином: структурна частина отриманої фреймової репрезентації відображається на даталогічну модель, а функціональна − на об’єктно-орієнтовану модель, яка описує контур керування класифікацією.
Концептуальна модель класифікації надана на рис. 1. Основою класифікації є композиція класів Frame та Slot, що відповідає за репрезентацію фреймової мережі клінічних діагнозів. Особливістю моделі є використання циклічного зв’язку на базі шаблону Composite, що дозволяє репрезентувати мережу з необмеженою кількістю рівнів ієрархії „частина-ціле”. Залежність слотів у рамках фрейму (конструктор імплікації слотів) визначається циклічним зв’язком класу Slot, що дозволяє задати нескінчену кількість вкладених слотів. Класи AFrameFrame та AFrameSlot відповідають за реалізацію механізму успадкування фреймів-концептів від абстрактних фреймів, при цьому передбачається можливість реалізації часткового успадкування. Важливою особливістю при реалізації успадкування є існування механізму граматичної трансформації філерів визначеного слоту, при якому зі значенням слоту абстрактного фрейму можуть бути пов’язані схеми граматичної трансформації, які визначаються композицією класів GT, GTItem, GTTypeID: клас GT визначає схему трансформації; клас GTItem визначає елементарну трансформацію в рамках фрейму-значення; GTType визначає тип трансформації. Елементарною трансформацією можна вважати заміну вказаних маркерів (Marker) в значенні атрибуту TS0 відповідного фрейму на фразу (Description) за визначеною схемою. Клас Axis відповідає за репрезентацію осей класифікації, тісно пов’язаних з визначенням слотів фреймів. Класи ICD, ICDFrame відповідають за зв’язок з МКХ-10.
Структура таблиці „фрейми” складається з наступних атрибутів: ID - ідентифікатор фрейму; SlotID - ідентифікатор слоту, значенням якого є фрейм; Element - номер характеристики даного класу для даного слоту; TS0 - значення у випадку примітивного концепту або термінальний рядок символів, який передує першому слоту, у разі комплексного, Note - додатковий атрибут для більш детального опису значення характеристики. Структура таблиці „слот” еквівалентна таблиці 3 з доданням атрибуту FrameID, який визначає до якого фрейму відноситься даний слот.
Визначено умови та вимоги до функціональної складової класифікації, які зведено до чотирьох пакетів: робота з класифікацією, робота з базою пацієнтів, взаємодія з іншими термінологічними системами і пошук та аналіз даних по пацієнтам. Побудовано алгоритми та класи керування класифікацією, основними з яких є: CClassificationEntry (репрезентує суб-мережу визначеного фрейму), СNotation(відповідає за нотацію), CCode (відповідає за репрезентацію ієрархічного коду), CFrameValue(відповідає за роботу з фреймом-значенням слоту), CDecoder(відповідає за декодування коду клінічного діагнозу) тощо. Алгоритми пов’язані з обробкою мережі та базуються на використанні механізмів рекурсії, яка виконується логікою програми (переклад на рівень БД не є реальним).