ПОДДЕРЖКА ПРИНЯТИЯ РЕШЕНИЙ НА ОСНОВЕ РУКОВОДСТВА
SUPPORT FOR MAKING DECISIONS BASED ON MANUAL

Область техники
Изобретение относится к поддержке принятия решений. Изобретение также относится к поддержке принятия решений на основании дерева решений.
Уровень техники
Клинические руководства могут содержать документы на основе свидетельств, которые оценивают результаты клинических исследований и обеспечивают рекомендации по лечению пациентов с определенными характеристиками и профилями заболевания. Правительства все больше принуждают к использованию руководств в клинической практике для предотвращения некомпетентности и стандартизации ухода в разных странах.
Клинические протоколы описывают производственный процесс, через который пациент проходит в больнице. Эти протоколы обычно основаны на руководстве. Руководства описывают, какое лечение может давать наилучший результат с учетом конкретного множества условий, тогда как протоколы описывают последовательность этапов, осуществляемых в отношении пациента. Известные усилия по формализации руководств не делают различий между понятиями руководств и протоколов. В результате, известные алгоритмы поддержки принятия решений нуждаются во входной информации о прошлой истории пациента. Обычно весьма непросто составить структурированный список историй, содержащий всю необходимую информацию.
Одной из целей здравоохранительной информатики является перенос знания из клинических руководств в место оказания медицинской помощи. Знание, внедренное в клинические руководства, можно использовать как источник информации для обеспечения поддержки принятия клинических решений (CDS), что позволяет давать рекомендации на основании этого знания, и выдавать предупреждения в случае отклонения от руководств.
В статье Riccardo Bellazzi и Blaz Zupan, “Predictive data mining in clinical medicine: Current issues and guidelines”, в International Journal of Medical Informatics том 77, изд. 2, стр. 81-97, февраль 2008, раскрыты способы добычи прогностических данных в клинической медицине с целью вывода моделей, которые могут использовать информацию конкретных пациентов для прогнозирования результата, представляющего интерес, и, таким образом, поддержки принятия клинических решений. Классификация с помощью дерева решений означает следование пути от корневого узла к листу, который также определяет результат и его вероятность. Кроме того, каждый путь в дереве решений можно рассматривать как правило принятия решения.
В EP 1089222 A1 раскрыт способ, устройство и промышленное изделие для обеспечения описания логики, используемой при определении результата на основании автоматической обработки данных. Способ содержит этапы иерархического применения нескольких критериев принятия решения к данным с целью принятия решения, при этом записи правила, определенного из применения каждого из критериев принятия решения к данным, и извлечения записанных правил. Промышленное изделие содержит устройство хранения данных, вещественно воплощающее инструкции для осуществления вышеизложенных этапов способа, и устройство содержит средство для осуществления этапов способа.
Сущность изобретения
Задачей изобретения является улучшенная поддержка принятия решений. Для решения этой задачи, первый аспект изобретения предусматривает систему, содержащую
блок пути для определения определенного пути через дерево решений, ведущего к определенному узлу рекомендации, содержащему определенную рекомендацию, причем дерево решений содержит узлы условия и узлы рекомендации, причем узел условия содержит условие, связанное с конкретной ветвью дерева решений, и при этом узел рекомендации содержит рекомендацию, связанную с одним или более условиями одного или более узлов условия на пути к узлу рекомендации, и при этом блок пути выполнен с возможностью учета условий узлов условия на пути посредством оценивания условий на основании ряда параметров;
блок объяснения для генерации объяснения причины для определенной рекомендации на основании, по меньшей мере, одного из узлов условия на пути, ведущем к узлу рекомендации;
блок ввода предложения для предоставления пользователю возможности указывать предложенное действие;
блок определения узла для определения узла рекомендации, рекомендация которого соответствует предложенному действию, причем упомянутый узел рекомендации далее именуется узлом предложенного действия;
блок пути предложения для определения пути через дерево решений, ведущего к узлу предложенного действия, причем упомянутый путь далее именуется предложенным путем; и
блок указания нарушения для указания пользователю, по меньшей мере, одного условия узла условия на предложенном пути, которое нарушается рядом параметров.
Посредством оценивания условий узлов дерева решений условия ввиду ряда параметров, дерево решений позволяет принимать решение на основании ряда параметров, и не нуждаются в моделировании истории, используемой в клиническом протоколе пациента, если эта информация не требуется для принятия решения. За счет обеспечения объяснения причины для рекомендации, на основании, по меньшей мере, одного из узлов условия на пути, ведущем к узлу рекомендации, пользователь может узнать, почему дана эта рекомендация. Это может повышать доверие пользователя к системе, и/или может позволять пользователю отказываться от рекомендованного хода действия в случае, когда причины для дачи рекомендации неубедительны.
Блок пути может быть выполнен с возможностью определения определенного пути через дерево решений от корневого узла до определенного узла рекомендации. Благодаря тому, что алгоритм начинается с заранее определенного корневого узла, можно легче обеспечивать путь.
Узел условия может содержать условие, которое определяет, разрешено ли пути пересекать узел условия. Это обеспечивает возможность гибко моделировать руководство в виде дерева решений. Например, условием является булево выражение, которое определяет, может ли путь проходить через этот узел условия к узлу рекомендации, или же следует определить другой путь, не пересекающий этот узел условия.
Блок пути может быть выполнен с возможностью идентификации множества путей, ведущих к множеству соответствующих узлов рекомендации, с учетом условий узлов условия на множестве путей. Таким образом, множество рекомендаций множества разных узлов рекомендации может быть применимо на основании данного ряда параметров. Такое может быть, если несколько узлов условия имеют условия, которые позволяют пути пересекать эти упомянутые узлы условия.
Система может содержать блок отчета для предоставления пользователю возможности создавать отчет. Система может дополнительно содержать блок параметров для определения ряда параметров на основании информации в отчете и/или информации в информационной записи. Пользователю не нужно изменять свое обычное рабочее поведение, поскольку он может создавать отчет без необходимости отдельно предоставлять информацию системе поддержки принятия решений. Кроме того, ряд параметров, и определенный путь и определенный узел рекомендации могут обновляться по мере написания отчета, чтобы система могла проактивно информировать пользователя об определенной рекомендации.
Система может дополнительно содержать блок присутствия для указания пользователю присутствия применимой рекомендации. Система может дополнительно содержать блок запроса рекомендации для предоставления пользователю возможности обеспечивать указание запроса. Система может дополнительно содержать блок отображения рекомендации для отображения определенной рекомендации пользователю в ответ на запрос. Это также позволяет пользователю меньше прерываться во время работы. Благодаря лишь указанию присутствия определенной рекомендации, и отображению самой рекомендации пользователю только по запросу пользователя, пользователь меньше отвлекается.
Для большинства клиницистов может быть нежелательно, чтобы приложения поддержки принятия клинических решений вмешивались в их обычную работу. Любые дополнительные клики или избыточность информации могут быть нежелательны, поскольку это может отвлекать их от работы. Благодаря сокрытию рекомендаций, с одновременным обеспечением указания наличия рекомендаций и, в необязательном порядке, количества имеющихся рекомендации, клиницист может принимать решение, просматривать ли рекомендации или просто игнорировать их.
Система может содержать блок запроса объяснения для предоставления пользователю возможности запрашивать объяснение причины для определенной рекомендации. Система может дополнительно содержать блок отображения объяснения для показа объяснения пользователю в ответ на запрос. Таким образом, пользователь узнает причины для рекомендации только, когда пользователю нужна такая информация. Это повышает эффективность производственного процесса и облегчает пользователю проверку рекомендаций.
Предложенную систему можно использовать для обнаружения любых ошибок или отклонений от руководства. Кроме того, за счет обеспечения указания нарушенного условия, пользователь узнает конкретные ограничения, которые нарушается рядом параметров.
Система может содержать детектор расхождения для обнаружения расхождения между путем, определенным блоком пути, и предложенным путем, и при этом блок указания нарушения выполнен с возможностью указания пользователю нарушенного условия узла условия в месте расхождения. Это обеспечивает четкое указание соответствующего нарушенного условия, которое не только релевантно предложенному действию, но и для рекомендации, определенной блоком пути.
Система может содержать генератор обучающих случаев для генерации обучающего случая путем выбора ряда параметров удовлетворяющих условиям узлов условия, вдоль пути через дерево решений к заранее определенному узлу рекомендации. Таким образом, обучающий случай можно генерировать для конкретной заранее определенной рекомендации.
Система может содержать
детектор различий для обнаружения различия между двумя деревьями решений путем идентификации узла решения или узла рекомендации в первом дереве решений, который имеет другое условие или другую рекомендацию в соответствующем узле второго дерева решений, или который не присутствует во втором дереве решений;
генератор обучающих путей для генерации пути через дерево решений, содержащего идентифицированный узел решения или узел рекомендации, причем упомянутый путь далее именуется обучающим путем;
причем генератор обучающих случаев выполнен с возможностью
использования обучающего пути в качестве пути для генерации обучающего случая.
Это позволяет системе автоматически генерировать обучающий случай, который предусматривает новые или измененные условия в новой версии руководства.
Система может содержать
блок подтверждения для предоставления пользователю возможности подтвердить рекомендацию;
блок выполнения для инициирования выполнения или планирования рекомендации или включения рекомендации в отчет, в ответ на подтверждение со стороны пользователя.
Это позволяет пользователю быстро реализовать рекомендацию. Даже когда клиницист знает рекомендация руководства, ему нужно документировать, какой тип лечения будет обеспечен совместно с некоторыми деталями, которые, вероятно, также описаны в самих руководствах. Запись этой информации дорого стоит и занимает много времени. Блок подтверждения и блок выполнения позволяют легко, например, в один клик, получать рекомендацию (или множество рекомендаций). Затем можно, по мере возможности, автоматически заполнять рекомендацию руководства. Таким образом, клиницисту не нужно вручную документировать стандартную информацию, которая уже описана в руководстве.
В другом аспекте, изобретение предусматривает рабочую станцию, содержащую описанную здесь систему.
В другом аспекте, изобретение предусматривает способ обеспечения поддержки принятия решений, содержащий
определение определенного пути через дерево решений, ведущего к определенному узлу рекомендации, содержащему определенную рекомендацию, причем дерево решений содержит узлы условия и узлы рекомендации, причем узел условия содержит условие, связанное с конкретной ветвью дерева решений, и при этом узел рекомендации содержит рекомендацию, связанную с одним или более условиями одного или более узлов условия на пути к узлу рекомендации, и при этом определение содержит учет условий узлов условия на пути посредством оценивания условий на основании ряда параметров;
генерацию объяснения причины для определенной рекомендации на основании, по меньшей мере, одного из узлов условия на пути, ведущем к узлу рекомендации;
разрешение пользователю указывать предложенное действие;
определение узла рекомендации, рекомендация которого соответствует предложенному действию, причем упомянутый узел рекомендации далее именуется узлом предложенного действия;
определение пути через дерево решений, ведущего к узлу предложенного действия, причем упомянутый путь далее именуется предложенным путем; и
указание пользователю, по меньшей мере, одного условия узла условия на предложенном пути, которое нарушается рядом параметров.
В другом аспекте, изобретение предусматривает компьютерный программный продукт, содержащий инструкции, предписывающие процессорной системе осуществлять здесь изложенный способ.
Специалистам в данной области техники очевидно, что два или более вышеупомянутых вариантов осуществления, реализаций и/или аспектов изобретения можно комбинировать любым способом, считающимся полезным.
Модификации и вариации рабочей станции, системы, способа, и/или компьютерного программного продукта, которые соответствуют описанным модификациям и вариациям системы, могут осуществляться специалистом в данной области техники на основании настоящего описания.
Краткое описание чертежей
Эти и другие аспекты изобретения явствуют из и будут пояснены далее со ссылкой на чертежи. Чертежи являются схематическими и могут не быть выполнены в масштабе. На всех фигурах аналогичные элементы указаны одинаковыми ссылочными позициями.
Фиг. 1 - схема дерева решений.
Фиг. 2 - блок-схема, демонстрирующая аспекты системы поддержки принятия решений.
Фиг. 3 - блок-схема, демонстрирующая аспекты генератора обучающих случаев.
Фиг. 4 - блок-схема операций способа поддержки принятия решений.
Фиг. 5 - схема дерева решений.
Фиг. 6 - схема дерева решений.
Фиг. 7 - схема дерева решений, применяемого к ряду параметров.
Фиг. 8 - схема дерева решений, применяемого к ряду параметров.
Фиг. 9 - схема дерева решений, применяемого к ряду параметров.
Подробное описание вариантов осуществления
Фиг. 1 иллюстрирует дерево 2 решений. Дерево решений имеет корневой узел 5, который может действовать как начальная точка пути через дерево решений. Узлы 3 условия, изображенные сплошными точками, являются узлами дерева решений, с которыми связано условие. Узлы 4 рекомендации, изображенные кружками, изображенные краевыми узлами дерева. Ребра соединяют разные виды узлов, для указания возможных маршрутов по узлам, через которые может быть проложен путь. Дерево решений можно моделировать как структуру графа и хранить в памяти компьютера.
Фиг. 2 иллюстрирует систему для поддержки принятия решений. Система может быть реализована на компьютерной системе, например автономном компьютере или рабочей станции, распределенной компьютерной системе или карманном устройстве. Систему можно также реализовать с использованием специализированной электронной схемы. Система может содержать устройство пользовательского ввода, например экран, чувствительный к прикосновению, указатель типа мышь и/или клавиатуру, позволяющее пользователю эксплуатировать систему. Система может дополнительно содержать микрофон для голосового ввода, при наличии подсистемы распознавания голоса. Система может дополнительно содержать дисплей для визуального вывода и/или громкоговоритель для вывода аудиосигнала, например, для вывода голоса. Система может дополнительно содержать интерфейс сетевой связи для осуществления связи с внешними источниками данных посредством сетевого соединения.
Система может содержать блок 10 пути, выполненный с возможностью определения пути через дерево 2 решений. Этот путь может далее именоваться определенным путем. Блок 10 пути выполнен с возможностью определения пути, ведущего к узлу 4 рекомендации. Этот узел 4 рекомендации, к которому ведет путь, далее именуется определенным узлом рекомендации. Узлы 4 рекомендации дерева 2 решений может содержать рекомендацию. Обычно дерево 2 решений можно представлять в памяти, где узлы 5, 3, 4 представлены посредством структур данных, причем структура данных узла 4 рекомендации может содержать представление рекомендации. Кроме того, структуры данных может содержать идентификаторы, например указатели или индексы, других узлов, с которыми они соединены посредством ребра 32 дерева 2 решений.
Дерево 2 решений может содержать узлы 3 условия и узлы 4 рекомендации. Каждый узел 3 условия может содержать условие, связанное с конкретной ветвью дерева 2 решений. Каждый узел 4 рекомендации может содержать рекомендацию, связанную с одним или более условиями одного или более узлов 3 условия на пути к узлу 4 рекомендации. Блок 10 пути может быть выполнен с возможностью учета условий узлов 3 условия вдоль пути путем применения условий к ряду параметров 1. Таким образом, путь определяется на основании условий узлов 3 условия и ряда параметров 1.
Система может дополнительно содержать блок 11 объяснения, выполненный с возможностью генерации объяснения причины для определенной рекомендации. Эту причину можно генерировать на основании, по меньшей мере, одного из узлов 3 условия на пути, ведущем к узлу 4 рекомендации. Например, когда определенный путь возможен только потому, что условие на конкретном узле 3 условия на определенном пути выполняется рядом параметров 1, это может давать начало “причине”. Такую причину можно генерировать как представление условия, включающее в себя, возможно, релевантные параметры из ряда параметров, в форме, которую пользователь системы легко может понять. Система может быть выполнена с возможностью автоматического или проактивного отображения объяснения, например, совместно с рекомендацией. Альтернативно, объяснение представляется пользователю только по запросу, что будет описано далее.
Блок 10 пути может быть выполнен с возможностью определения определенного пути через дерево 2 решений от корневого узла 5 до определенного узла 4 рекомендации. Один и тот же корневой узел 5 может быть начальной точкой для всех пригодных путей. Альтернативно, можно использовать множество начальных узлов, причем блок 10 пути может быть выполнен с возможностью совершения попытки определения пригодных путей, например, от каждого из начальных узлов.
Одним примером структуры для дерева решений является структура, в которой узел 3 условия содержит условие, которое определяет, разрешено ли пути пересекать узел 3 условия. Эта структура допускает существование множества пригодных путей, поскольку, начиная с любого конкретного узла, условия, связанные с более чем одним дочерним узлом условия, могут выполняться рядом параметров 1. Соответственно, блок 10 пути может быть выполнен с возможностью идентификации множества путей, ведущих к множеству соответствующих узлов 4 рекомендации, с учетом условий узлов 3 условия на множестве путей.
Другим примером структуры для дерева решений является структура, в которой узел 3 условия содержит условие, которое определяет, какой из множества дочерних узлов будет следующим узлом на пути. В таком случае, можно правильно найти только один путь.
Система может содержать блок 12 отчета, выполненный с возможностью предоставления пользователю возможности создавать отчет 6. Такой блок отчета может обеспечивать функциональные возможности для создания отчета, которые сами по себе известны в технике, включающие в себя функциональные соединения с существующей здравоохранительной информационной системой. Например, блок отчета может поддерживать операции редактирования и/или диктовку с автоматическим распознаванием речи.
Система может содержать блок 13 параметров, выполненный с возможностью определения ряда параметров на основании информации в отчете 6. Блок 13 параметров может быть выполнен с возможностью обновления ряда параметров при добавлении пользователем дополнительного содержания в отчет 6. Например, для извлечения информации, релевантной ряду параметров 12, можно использовать обработку естественного языка. Альтернативно, пользователю можно давать возможность обеспечивать информацию отчета в структурированном виде, с использованием, например, компьютеризированных форм. Блок 13 параметров, дополнительно или альтернативно, может быть выполнен с возможностью извлечения информации, релевантной ряду параметров 1, из информации в информационной записи 7. Такая информационная запись 7 может обеспечиваться здравоохранительной информационной системой и/или системой архивации и передачи изображений. Блок 13 параметров может быть выполнен с возможностью автоматического обновления ряда параметров 1 при обновлении информации в соответствующей информационной записи 7.
Система может содержать блок 14 присутствия, выполненный с возможностью указания присутствия определенной рекомендации пользователю. Блок присутствия может оперативно подключаться к блоку 13 параметров и блоку 10 пути таким образом, что, когда ряд параметров 1 обновляется блоком 13 параметров, блок 10 пути активируется для обновления определенного(ых) пути(ей), и когда определенный(е) путь(и) обновлены, указание присутствия определенной рекомендации также соответственно обновляется. Например, блок 14 присутствия может быть выполнен с возможностью обеспечения указания через элемент пользовательского интерфейса, который объединен с блоком 12 отчета.
Система может содержать блок 15 запроса рекомендации выполненный с возможностью предоставления пользователю возможности обеспечивать указание запроса. Такой запрос может указываться посредством любого известного устройства пользовательского ввода, например, команды мыши или клавиатуры.
Система может содержать блок 16 отображения рекомендации, выполненный с возможностью отображения определенной рекомендации пользователю в ответ на запрос. Таким образом, при наличии рекомендации, пользователю автоматически обеспечивается только их указание. Содержимое рекомендации обеспечивается пользователю только после того, как пользователь указывает запрос.
Система может содержать блок 17 запроса объяснения, выполненный с возможностью предоставления пользователю возможности запрашивать объяснение причины для определенной рекомендации. Блок 17 запроса объяснения может оперативно подключаться к блоку 18 отображения объяснения, который выполнен с возможностью показа объяснения пользователю в ответ на запрос. Объяснение может отображаться, например, в текстовой форме или графически или путем произнесения причины с использованием тексто-речевой обработки.
Система может содержать блок 19 ввода предложения, выполненный с возможностью предоставления пользователю возможности указывать предложенное действие. Такое указание может даваться, например, через электронную форму. Альтернативно, пользователь обеспечивает указание на естественном языке, например, в отчете. Обработку естественного языка можно использовать для извлечения предложенного действия.
Система может содержать блок 20 определения узла, выполненный с возможностью определения узла 30 рекомендации, рекомендация которого соответствует предложенному действию. Упомянутый узел 30 рекомендации может далее именоваться узлом 30 предложенного действия. Это можно делать, например, посредством алгоритма согласования выражений. Онтология, содержащая понятия, представляющие аспекты рекомендаций и действий можно использовать для согласования действий с соответствующими рекомендациями.
Система может содержать блок 21 пути предложения, выполненный с возможностью определения пути через дерево 2 решений, ведущего к узлу 30 предложенного действия. Упомянутый путь может далее именоваться предложенным путем. Например, блок 21 пути предложения может быть выполнен с возможностью определения пути, от корневого узла 5 к узлу 30 предложенного действия, с использованием, например, алгоритма кратчайшего пути.
Система может содержать блок 23 указания нарушения, выполненный с возможностью указания пользователю, по меньшей мере, одного условия узла 31 условия на предложенном пути, которое нарушается рядом параметров 1. Это можно делать посредством оценивания по одному из условий на предложенном пути относительно ряда параметров 1. При обнаружении нарушенного условия, можно генерировать представление на естественном языке или в другой удобной для человека форме.
Система может содержать детектор 22 расхождения, выполненный с возможностью обнаружения расхождения между путем, определенным блоком 10 пути, и предложенным путем. Блок 23 указания нарушения может быть выполнен с возможностью указания пользователю нарушенного условия узла 31 условия в месте расхождения. Таким образом, можно идентифицировать наиболее убедительную причину, поскольку условия далее по предложенному пути иногда не являются решающими для ошибки.
Система может содержать блок 27 подтверждения, выполненный с возможностью предоставления пользователю возможности подтвердить рекомендацию. Этот блок может быть реализован посредством элемента пользовательского интерфейса.
Система может содержать блок 28 выполнения, выполненный с возможностью инициирования выполнения или планирования рекомендации или включения рекомендации в отчет 6, в ответ на подтверждение со стороны пользователя. Этот блок 28 выполнения может быть реализован разнообразными способами, в зависимости от систем, с которыми соединена система поддержки принятия решений. Можно обеспечить соединение с инструментом планирования, который автоматически находит и резервирует доступный временной интервал для осуществления рекомендованного действия. Можно выдавать лабораторный заказ. Система может подключаться к какому-либо оборудованию для лечения пациента, например дыхательному оборудованию, чтобы влиять на дыхание. Блок 28 выполнения также может быть выполнен с возможностью включать в отчет 6 описание рекомендованного действия.
Фиг. 2 иллюстрирует некоторые аспекты системы, которые могут быть реализованы независимо от вышеописанных признаков или дополнительно к ним. Эти аспекты относятся к генерации обучающего случая. Для этого система может содержать генератор 24 обучающих случаев. Генератор 24 обучающих случаев может быть выполнен с возможностью приема указания узла 4 рекомендации и/или пути через дерево решений к узлу 4 рекомендации. Этот путь также может генерироваться автоматически, например, с использованием блока пути предложения. Генератор 24 обучающих случаев может быть выполнен с возможностью генерации обучающего случая путем выбора ряда параметров 8, удовлетворяющих условиям узлов условия, вдоль пути через дерево 2 решений к заранее определенному узлу 4 рекомендации. Генератор 24 обучающих случаев может дополнительно содержать генератор естественного языка для преобразования ряда параметров 8 в описание случая пациента.
Система может содержать детектор 25 различий, выполненный с возможностью приема двух деревьев решений, первого дерева 2 решений и второго дерева 9 решений. Эти деревья могут генерироваться вручную или автоматически внешней системой на основании двух версий руководства. Детектор 25 различий может быть выполнен с возможностью обнаружения различия между двумя деревьями 2, 9 решений путем идентификации узла 3 решения или узла 4 рекомендации в первом дереве 2 решений, который имеет другое условие или другую рекомендацию в соответствующем узле второго дерева 9 решений, или который не присутствует во втором дереве 9 решений. В результате, идентифицируется условие, которое по-разному применяется в обеих версиях руководства. Система может генерировать обучающий случай, который понуждает студента оценивать это условие.
Для этого система может содержать генератор 26 обучающих путей, выполненный с возможностью генерации пути через дерево 9 решений, содержащего идентифицированный узел решения или узел рекомендации. Упомянутый путь может далее именоваться обучающим путем. Генератор 24 обучающих случаев может быть выполнен с возможностью использования обучающего пути в качестве пути для генерации обучающего случая.
На Фиг. 4 показана блок-схема операций способа обеспечения поддержка принятия решений. Способ может содержать этап 101 определения пути через дерево решений, ведущего к определенному узлу рекомендации, содержащему определенную рекомендацию, причем дерево решений содержит узлы условия и узлы рекомендации, причем узел условия содержит условие, связанное с конкретной ветвью дерева решений, и при этом узел рекомендации содержит рекомендацию, связанную с одним или более условиями одного или более узлов условия на пути к узлу рекомендации, и при этом блок пути выполнен с возможностью учета условий узлов условия вдоль пути путем применения условий к ряду параметров.
Способ может дополнительно содержать этап 102 генерации объяснения причины для определенной рекомендации на основании, по меньшей мере, одного из узлов условия на пути, ведущем к узлу рекомендации.
Способ можно расширить и/или модифицировать на основании функциональных возможностей, раскрытых в этом описании. Способ может быть реализован посредством компьютерной программы.
Система поддержки принятия решений может содержать следующие элементы:
пользовательский интерфейс (UI) поддержки принятия решений: пользовательский интерфейс на основании элементов для обеспечения поддержки принятия решений на основе руководства;
формализм дерева решений: формализм для моделирования знания на основе руководства в виде дерева решений;
алгоритм рекомендации: алгоритм для обхода дерева решений для нахождения рекомендаций руководства;
алгоритм объяснения рекомендации: алгоритм для обеспечения объяснения для данной рекомендации;
метаданные рекомендации: метаданные из рекомендации в дереве решений для автоматического осуществления действия, которое иначе пришлось бы осуществлять пользователю.
Дерево решений представляет собой структуру данных на основе дерева, причем узел N в дереве может относиться к одному из следующих типов:
узел решения представляет узел, содержащий условие, напримерутверждение, которое может быть истинным, ложным или неизвестным (которое обычно преобразуется в ложное). Узел имеет текстовое описание решения, которое он представляет. Кроме того, он содержит формальное правило, которое берет в качестве входных данных множество характеристик пациента и выводит, выполняется ли это условие для данных характеристик. Каждый узел решения может иметь множество дочерних узлов и, таким образом, охватывает дерево решений. Например, формально говоря, для узла решения N:
описание: N.Description → String
правило: N.Rule(p1, p2, …) → {True,False, Unknown}
дочерние: N.Children → Set{Node}
Узел рекомендации представляет узел, который описывает рекомендацию по лечению из руководства. После текстовой рекомендации, узел может содержать метаданные для конкретных методов лечения (например, протоколы химиотерапии) или ссылки на документы (откуда происходят руководства) для лучшей интеграции в клиническое применение. Например, формально, для узла рекомендации N:
описание рекомендации: N.Recommendation → String
метаданные рекомендации: N.RecommendationData → Set{Data}
На Фиг. 5 графически показан пример клинического дерева решений на основании руководств по лечению рака легких. Каждый элемент, обозначенный в дереве текстом, представляет узел. Элементы, начинающиеся с “REC”, являются узлами рекомендации, другие элементы являются узлами решения. Например, узел “resectability=no” следует оценивать как истинный, если пациент имеет операбельную опухоль. в противном случае его следует оценивать как ложный. К узлу “REC: химиорадиотерапия” могут быть присоединены дополнительные метаданные, представляющие клинический протокол, дозировку и т.д., рекомендованные руководством. В необязательном порядке, он также имеет метаданные, относящиеся к первоначальному документу руководства и/или другим поддерживающим клиническим источникам, например результатам клинических испытаний или статьям, где описана эта рекомендация.
Алгоритм рекомендации может использовать экземпляр формализма дерева решений для нахождения рекомендаций, которые достижимы для определенного множества входных данных (или параметров 1). Алгоритм может действовать согласно следующим этапам:
Алгоритм начинается с пустого множества рекомендаций.
Алгоритм принимает узел N (первоначально корень дерева решений) и множество данных пациента Set{PD} (возраст, пол, характеристики заболевания и т.д.) в качестве входных данных.
Если N является узлом решения, он осуществляет следующие действия:
Алгоритм оценивает N.Rule(Set{PD}), который является правилом, связанным с узлом, на основании входных данных пациента.
Если правило дает оценку "истина", алгоритм будет рекурсивно обходить каждый узел в N.Children. Все они являются дочерними узлами текущего узла.
Если правило дает оценку "ложь", алгоритм закончит текущий обход, в том смысле, что на этом пути не будет добавлено никаких рекомендаций.
Таким образом, все достижимые пути с истинными правилами будут обойдены.
Если N является узлом рекомендации, то алгоритм добавляет текст рекомендации N.Recommendation, принадлежащий узлу, во множество рекомендаций.
Наконец, алгоритм возвращает множество рекомендаций. Все они являются рекомендациями, для которых все предварительные условия являются истинными, и, таким образом, выполняются для введенных данных пациента.
В примере, показанном на Фиг. 5, при наличии следующих входных данных:
resectability=no
stagegroup=IIIA
N=N2,
рекомендация “REC: одновременная химиорадиотерапия” будет лишь возможной рекомендацией.
Алгоритм объяснения рекомендации может вычислять путь от узла рекомендации, который обычно является листом дерева решений, обратно к корню дерева решений. Алгоритм может действовать следующим образом:
Алгоритм начинается с пустого множества объяснений.
Алгоритм принимает в качестве входных данных узел N (обычно, узел рекомендации).
Алгоритм добавляет N.Description, описание узла, во множество объяснений.
Хотя родитель узла, P=N.Parent, существует (указывающий, что данный узел не является корневым), алгоритм добавляет P.Description во множество объяснений.
Наконец, в отсутствие N.Parent, алгоритм возвращает множество объяснений.
Множество объяснений функционирует как объяснение, или причина, по которой дана определенная рекомендация.
В примере, показанном на Фиг. 5, если входными данными является узел рекомендации “REC: одновременная химиорадиотерапия”, то объяснение будет иметь вид:
resectability=no
stagegroup=IIIA
N=N2.
В дереве решений с узлами рекомендации могут быть связаны структурированные метаданные, N.RecommendationData, представляющие структурную информацию из руководства. Например, узел рекомендации “REC: одновременная химиорадиотерапия” может иметь следующие метаданные:
тип лечения: химиорадиотерапия
протокол: цисплатин
доза: 4×40 мг.
Когда клиницист выбирает эту рекомендацию, эта структурированная информация может использоваться приложением поддержки принятия решений для осуществления автоматического занесения информации, как было показано в UI поддержки принятия решений. Это позволяет значительно экономить ценное время и предотвращать ошибки.
Генератор виртуальных случаев (или генератор 24 обучающих случаев) может содержать реализацию алгоритма, чтобы брать рекомендацию дерева решений в качестве входных данных, и создает виртуальный случай пациента на основании правил, заданных в дереве, которое заканчивается на указанной рекомендации.
Например, согласно Фиг. 5, если входными данными является узел рекомендации, именуемый “REC: химиотерапия”, то алгоритм будет оценивать правило перед узлом, имеющее вид “cT=T4 OR cN={N2,N3}” (фигурные скобки обозначают множество возможных значений). Алгоритм проверяет возможные вводы, при которых правило становится истинным. Для этого иллюстративного правила, возможными значениями являются cT=T4, cN=N2 или cN=N3. Затем алгоритм может выбирать одну из этих возможностей. Затем алгоритм рекурсивно делает то же самое для родительского узла. В этом случае, для правила “resectability=no” существует только один вариант. Результатом этого процесса является “виртуальный случай пациента” или обучающий случай, описывающий пациента, имеющего определенное условие, для которого рекомендацией является рекомендация, принятая в качестве входных данных.
Одним возможным виртуальным случаем для фигуры примера является:
Resectability=no
cN=N2
Обучающий пользовательский интерфейс может обеспечивать пользовательский интерфейс, который представляет пользователю виртуальные случаи пациентов, совместно с несколькими возможными рекомендациями руководства. Эти рекомендации могут содержать рекомендацию, которая использовалась для генерации виртуального случая, которая была бы рекомендацией, которая является правильным ответом. Пользовательский интерфейс также может случайным образом выбирать несколько альтернативных рекомендаций, которые не являются правильными. Результирующий список вариантов может демонстрироваться пользователю для генерации вопроса с несколькими вариантами ответа. Альтернативно, можно генерировать открытый вопрос.
Рассмотрим пример того, как приложение может представлять виртуальный случай, с предыдущим примером на основании Фиг. 1, совместно с некоторой альтернативной рекомендацией по лечению:
“Пациент с НМРЛ имеет следующие характеристики:
Resectability=no
cN=N2
Какое лечение рекомендуется?
A) одновременная химиорадиотерапия
B) EGFR TKI
C) химиотерапия как можно скорее”.
Пользователь может выбирать один из предложенных методов лечения A, B или C, после чего пользовательский интерфейс может отображать, является ли выбор правильным или нет. Если пользователь не прав, приложение может отображать графическое дерево решений или его производную, показывающее путь, ведущий к неверному ответу, выбранному пользователем, и путь, ведущий к правильному ответу. Это дает прямое понимание, почему выбранный лечение неверен. В необязательном порядке, приложение также обеспечивает ссылки на релевантные разделы в первоначальном документе руководства, где подробно описано правильное лечение.
Модуль дельта-анализатора или детектор 25 различий представляет собой необязательный модуль, который может анализировать разные версии клинического руководства и идентифицировать изменения от версии к версии. Это полезно для обучения, когда обучение ставит во главу угла обновление существующего знания. Дельта-анализатор может работать следующим образом:
Он принимает две версии одного и того же компьютерно-интерпретируемого руководства (CIG) в качестве входных данных: C'old и C'new, в виде деревьев решений.
Он обходит одновременно оба дерева решений от корня к листьям.
Пока узлы в C'old и C'new одинаковы, ничего не происходит.
Если в определенной позиции текущий узел в C'old и C'new отличаются, алгоритм пометит узел в этой позиции как измененный. Он может быть выполнен с возможностью дополнительно не обходить поддеревья от этого узла, поскольку они, вероятно, отличаются.
Когда все пути обойдены, он может возвращать помеченное множество измененных узлов.
Результат дельта-анализатора может служить в качестве дополнительного ввода для генератора виртуальных случаев или генератора 24 обучающих случаев. Затем этот генератор может использовать этот ввод для фокусировки процесса генерации виртуальных случаев на частях руководства, которые были изменены. Это особенно полезно для обучения пользователей, которые уже имеют хорошее базовое знание руководств, но требуют обучения обновленным версиям руководств.
Ниже приведен пример применения дерева решений. Примером является пример реального мира на основании клинических руководств для немелкоклеточного рака легких (НМРЛ).
На Фиг. 6 показано дерево решений, полученное вручную из руководств. Оно содержит квадратные узлы (например, узел, обозначенный “Input.TumorResectable==false”) которые представляют предикаты о входных данных, дающие истину или ложь, и овальные узлы (например, узел, обозначенный “обеспечивать химиотерапию”), которые представляют потенциальный выход алгоритма. Эти потенциальные выходы являются клинические рекомендации, которые могут быть заданы на основании руководств. Узел, обозначенный “Input.NSCLC==true” является корневым узлом дерева решений.
Иллюстративное дерево решений ожидает следующих входных данных, которые следует получать из доступных данных пациента в системе (например, EMR):
Input.NSCLC → {true,false}
Input.TumorResectable → {true,false}
Input.StagePhase → {c,p}
Input.StageT → {T1,T2,T3,T4}
Input.StageGroup → {I,II,IIIA,IIIB,IV}
Input.PerformanceScore → {0..10}
Input.StageN → {N0,N1,N2}
Input.EFGRmutation → {true,false}
Выходом алгоритма является список рекомендаций (текст в закругленных узлах).
На основании параметров для пациента, алгоритм оценивает, слева направо, каждый квадратный узел, и переходит вправо при условии, что предикаты дают “истину”, иначе алгоритм продолжает поиск в других ветвях дерева. Когда алгоритм достигает одного из круглых узлов, это означает, что может быть дана клиническая рекомендация. Поскольку возможен случай, когда может быть дано одновременно несколько рекомендаций (см. Фиг. 9), алгоритм может продолжаться с другими ветвями.
На Фиг. 7 показан пример алгоритма обработки следующих входных параметров:
Input.NSCLC=true
Input.TumorResectable=false
Input.StageGroup=IIIA
Согласно Фиг. 7-9, узлы, имеющие серый фон, дают “истину”. Например, согласно Фиг. 7, узел, обозначенный “Input.TumorResectable==false”, имеет серый фон и дает “истину”. Можно видеть, что, хотя некоторые из узлов активированы, никакие узлы рекомендации не достигаются, поэтому не может быть задано никаких рекомендаций. Таким образом, алгоритм заканчивается и возвращает пустое множество рекомендаций.
На Фиг. 8 показана ситуация на основании следующих входных параметров:
Input.NSCLC=true
Input.StageGroup=IV
Input.PerformanceScore=1
На основании этого ввода в точности одна рекомендация, обозначенная “обеспечить химиотерапию как можно скорее”, становится активной. Это клиническая рекомендация, которая может быть задана пользователю на основании входных данных.
На Фиг. 9 показана ситуация на основании следующих входных данных:
Input.NSCLC=true
Input.TumorResectable=false
Input.StageGroup=IIIA
Input.PerformanceScore=1
Input.StageN=N2
В этом примере, одновременно становятся активными несколько рекомендаций. В частности, активны рекомендации “обеспечить одновременную адъювантную химиорадиотерапию на основе цисплатина” и “обеспечить одновременную химиорадиотерапию”. Таким образом, алгоритм возвращает обе рекомендации, что позволяет пользователю выбирать наиболее подходящую.
Очевидно, что изобретение также применимо к компьютерным программам, в частности, компьютерным программам на или в носителе, адаптированным к практическому осуществлению изобретения. Программа может иметь форму исходного кода, объектного кода, кода, промежуточного между исходным и объектным кодом, например, в частично компилированной форме, или в любой другой форме, пригодной для использования в реализации способа согласно изобретению. Также очевидно, что такая программа может иметь многие разные архитектурные конструкции. Например, программный код, реализующий функциональные возможности способа или системы согласно изобретению могут подразделяться на одну или более подпроцедур. Специалисту в данной области техники известно много разных способов распределения функциональных возможностей между этими подпроцедурами. Подпроцедуры могут храниться совместно в одном исполнимом файле для формирования независимой программы. Такой исполнимый файл может содержать компьютерноисполняемые инструкции, например, инструкции процессора и/или инструкции интерпретатора (например, инструкции интерпретатора Java). Альтернативно, одна или более или все из подпроцедур могут храниться в, по меньшей мере, одном внешнем библиотечном файле и линковаться с главной программой статически либо динамически, например, во время выполнения. Главная программа содержит, по меньшей мере, одно обращение, по меньшей мере, одной из подпроцедур. Подпроцедуры также могут содержать обращения друг к другу. Вариант осуществления, относящийся к компьютерному программному продукту, содержит компьютерноисполняемые инструкции, соответствующие каждому этапу обработки, по меньшей мере, одного из изложенных здесь способов. Эти инструкции могут подразделяться на подпроцедуры и/или храниться в одном или более файлов, которые могут линковаться статически или динамически. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит компьютерноисполняемые инструкции, соответствующие каждому средству, по меньшей мере, одного из изложенных здесь систем и/или продуктов. Эти инструкции могут подразделяться на подпроцедуры и/или храниться в одном или более файлов, которые могут линковаться статически или динамически.
Носителем компьютерной программы может быть любой объект или устройство, способный к переносу программы. Например, носитель может включать в себя носитель данных, например, ПЗУ, например, CD ROM или полупроводниковое ПЗУ, или магнитный носитель записи, например, флэш-носитель или жесткий диск. Кроме того, носитель может представлять собой передаваемый носитель, например, электрический или оптический сигнал, который может переноситься по электрическому или оптическому кабелю или по радио или другими средствами. Когда программа воплощена в таком сигнале, носитель может быть образован таким кабелем или другим устройством или средством. Альтернативно, носителем может быть интегральная схема, в которую внедрена программа, причем интегральная схема выполнена с возможностью осуществления или использования при эксплуатации, релевантного способа.
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, а не ограничивают изобретение, и что специалисты в данной области техники способны предложить многие альтернативные варианты осуществления без отклонения от объема нижеследующей формулы изобретения. В формуле изобретения, никакие ссылочные позиции, законченные в скобках, не следует рассматривать как ограничивающие формулу изобретения. Использование глагола "содержать" и его сопряжений не исключает наличия элементов или этапов, отличных от упомянутых в формуле изобретения. Употребление названия элемента в единственном числе не исключает наличия множества таких элементов. Изобретение может быть реализовано посредством оборудования, содержащего несколько отдельных элементов, и посредством надлежащим образом запрограммированного компьютера. В пункте устройства, где перечислено несколько средств, несколько из этих средств могут быть реализованы посредством одного и того же элемента оборудования. Лишь тот факт, что определенные меры упомянуты во взаимно различных зависимых пунктах, не говорит о том, что нельзя выгодно использовать комбинацию этих мер.