Привет, Хабр! Меня зовут Александр Юрьевич Доротенко. Я врач УЗИ высшей категории. Опыт работы УЗИ — с прошлого века (с февраля 2000 года). За плечами уже четыре десятка лет работы врачом, из них два десятка лет также стараюсь программировать для рабочих целей.
Давно уже была идея поделиться с вами, какие удалось получить результаты в ходе такого программирования и к чему это привело. Наконец‑то текст написан, делюсь своей историей с вами. Буду рад вопросам и конструктивной критике. А если для кого‑то моя история послужит положительным примером, буду рад вдвойне.
В ходе моего рассказа поделюсь про ультразвуковую диагностику в советское время, первые аппараты, на которых работал, о калькуляторах как помощниках врачей (на которых считают размеры внутренних органов и желёз), причём тут учёные из Сарова и врачебный почерк.
Начинаю свой рассказ.
1. Мой путь к медицинскому программированию: вуз, гинекология, УЗИ
Первоначально я – специалист в акушерстве и гинекологии. Я окончил Саратовский государственный медицинский институт в 1984 году. После этого работал по распределению (проходил интернатуру по акушерству и гинекологии на базе Воронежского государственного медицинского института). С 1985 по 2012-й находился на передовой медицинской акушерско-гинекологической службы (операции, стационар, суточные дежурства, женская консультация, выездные медицинские бригады и т.д.).
К ультразвуковым исследованиям (УЗИ) в своей работе пришёл позднее. До сих пор яркими воспоминаниями являются впечатления о работе на первом аппарате – японский AlokaSSD-630 Ultrasound (позже потом поработал ещё и на итальянском SIM 5000 plus). Такие же аппараты были и в других больницах – например, на Кузбассе.
Помню и своего пациента №1 на УЗИ: пожилая женщина с щитовидной железой (подробная эхометрия, затем на калькуляторе перемножить размеры, умножить на коэффициенты, сложить – и таким образом, высчитать объём органа).

В настоящее время, например, в нашей клинике я не видел, чтобы коллеги использовали такие калькуляторы в работе (используют установленные на компьютерах).
Забегая вперёд, отмечу для сравнения:
В моей программе надо только ввести размеры железы и нажать кнопку «Рассчитать» – программа рассчитает объём каждой доли железы с учётом требуемых коэффициентов и полный объём железы. На всё это – от ввода информации до получения ответа – уходит несколько секунд (по сравнению с минутами при расчёте на калькуляторе).
Итак, почему мой профессиональный интерес развился в сторону УЗИ:
Ещё на студенческой скамье на рубеже 70-х и 80-х мы (студенты) задавались вопросом: существует ли такой метод (кроме операции), который позволял бы заглянуть в живого человека и посмотреть, что там внутри? Мы неоднократно задумывались об этом. На 6-м курсе мы уже знали, что уже существует какое-то ультразвуковое исследование, но не видели такой аппаратуры. Её не видели даже наши учителя.
В моей работе преобладала работа в женской консультации. А здесь очень важно кардинально решить вопрос: консервативное или оперативное лечение, а для этого нужна точная диагностика. Наши диагностические средства – глаза и руки, но это только до определённого предела. Подсознательно мы (врачи) понимали: большой объём информации (для диагностики) недоступен. И с появлением УЗИ в нашем регионе (г. Воронеж) в начале 90-х наша работа вышла на новый уровень: стали рано диагностироваться многие заболевания, их осложнения. Тем не менее, оставались белые пятна в диагностике и нечёткие заключения, непонятные для врача-клинициста. Например: «киста яичника» - так часто пишут врачи УЗИ (даже сейчас). Но под этим термином кроется большое количество клинических состояний и морфологических образований в яичниках, требующих либо консервативного, либо оперативного лечения, и их нельзя перепутать. Поэтому подобного рода заключения перед врачом-клиницистом ставят больше вопросов, чем ответов (потому что увеличение яичника можно и без УЗИста выявить при двуручном гинекологическом исследовании).
И я решил сам заниматься ультразвуковым исследованием и понять причину поверхностной диагностики (почему врачи так поверхностно диагностируют). И устранить её, насколько это возможно, сделав УЗИ более информативным. Найти и реализовать пути для большей информативности УЗИ – чтобы врачи УЗИ делать более точные и правильные заключения. Это нужно для более точного клинического диагноза и правильного лечения пациента.
Этот путь оказался следующим: выявить наибольшее количество ультразвуковых параметров, подробно их описать в протоколе, на основании этого сделать наиболее точное ультразвуковое заключение. Поскольку этот путь – очень объёмный по времени, поэтому решил создать свою программу для ПК, в которой были бы реализованы все такие мои задумки.
2. Аледо-УЗИ-Протокол: почему она появилась, её функционал и преимущества
В 2002 году я уже работал на УЗИ, был большой наплыв пациентов. УЗИ само по себе требует максимально полного и точного протокола: во-первых, показать грамотность и квалификацию врача; во-вторых, на основании более полных данных поставить правильное заключение с учётом всех принципов диагностики и дифференциальной диагностики.
С учётом большого объёма пациентов, проблемы врачебного почерка затрудняло понимание моих врачебных протоколов: коллегами и врачами-клиницистами. Очень важные данные морфологии могли быть не прочитаны из протокола, написанного врачом УЗИ от руки, что затрудняло понимание клинической ситуации. Поэтому я хотел создать, написать программу для ПК, которая поможет создать (записать) протокол УЗИ – в том числе, и потому, чтобы коллегам-врачам было быстрее и понятнее читать наши протоколы.
На работе в больнице г. Павловска ещё не было никаких программ. Потом, в отделение функциональной диагностики (где я работал) нам поставили программу анализа ЭКГ (её название не вспомню, но её нам привезли из Сарова, Нижегородская обл.). Ребята, которые её ставили, выглядели как настоящие учёные, очень запомнились. Меня впечатлила возможность цифровизации данных проведённого исследования, их хранения и анализа в динамике.
Мы с семьёй купили наш первый домашний компьютер в 2002 году, тогда и начал программировать в Delphi (правда, на момент его покупки ещё не знал, что вскоре этим займусь). Для этого изучал с нуля ObjectPascal. Про Delphi я узнал от продавца нашего компьютера.

Какие требования я сформулировал к своей будущей программе
Программа должна уметь составить протокол для всех видов ультразвуковых исследований. После ввода данных в протокол его можно распечатать на бумаге.
Она должна обладать базой знаний по ультразвуковой морфологии исследуемых органов и систем. Все морфологические признаки должны быть систематизированы, и каждый из них должен иметь собственное средство ввода в программу (кнопка или поле ввода).
Также я поставил себе задачу как можно быстрее её создать, чтобы быстрее перейти на электронную запись (исключить врачебный почерк), чтобы отсутствовала проблема с почерком.
При этом, не было задачи встроить в программу базу данных и сохранять в неё протоколы. Т.е. я планировал заполнять протоколы в программе сразу (во время исследования) и распечатывать. В то время была следующая организация ультразвукового приёма: врач/медсестра записывали данные пациента в журнал – ФИО, год рождения, ультразвуковое заключение. Базы данных протоколов в те годы в нашей больнице не существовало вообще.
Архитектуру программы составлял сам. На момент её создания не знал про какие-либо аналоги и не доводилось пользоваться или даже видеть что-то подобное.
А программу начал писать примерно месяца через 3 после того, как начал заниматься самообучением по этим книгам. Первую версию программы создавал около 2 лет. Писал её вечером, на выходных. Самую первую рабочую версию моей программы (её назвал «Aledo-УЗИ-протокол») я сделал в 2004 году.
Функционал первой рабочей версии программы
Логика работы программы соответствовала алгоритму проведения ультразвукового исследования (про это детали ниже).
Программа позволяла запись протоколов исследования внутренних органов, желёз, акушерских и гинекологических исследований. Она была очень похожа на бланк, который заполняется от руки. Часть данных вносилась через кнопки, а другая (немалая) часть — вручную (в поля записи).
Программа позволяла напечатать готовый протокол на бумаге и передать его коллегам‑врачам в работу.
Особенности и преимущества программы
Запись протокола. С помощью программы смог создавать (записывать) протоколы и распечатывать их на бумажном носителе. В самой программе протоколы не сохранялись.
Она не содержала шаблоны и дескрипторы (т.е. окончательные, стандартизованные записи определённых параметров). Поскольку параметры имеют многообразие, то огромное количество шаблонов значительно замедляют процесс записи протокола. Программа идёт по алгоритму, вносятся необходимые параметры в зависимости от особенности морфологии.
Интерфейс программы сделал интуитивно понятным для пользователя (врача УЗИ). На случай более широкого внедрения в рабочие процессы, чтобы коллеги-врачи могли использовать её сразу после быстрого ознакомления (без необходимости тратить на обучение дни и даже часы).
Малый объем, портативность программы. Первая версия программы была ~3,5 Мб. Она не требовала предустановленных в ОС каких-либо библиотек, работала с флешки.
Как тестировал программу
В течение года я проводил её апробацию и отладку на рабочем месте. Брал сразу на работу ту версию, что уже была на текущий момент. И проверял, что удобно, что нет. Т.к. тексты протоколов стали печатными, мои коллеги были очень довольны, что не надо тратить время на разбор моего почерка.
В 2010 году зарегистрировал эту свою программу в Роспатенте (свидетельство № 2010612939).
3. УЗИарт: следующая программа для УЗИ, её функционал и преимущества
На том моя разработка не закончилась. В 2012 году (незадолго до переезда в Москву) у меня появилась идея создать более совершенную программу протоколирования ультразвукового исследования: (1) появилась потребность в более быстрой записи протокола, (2) на работе стало больше разновидностей УЗ-исследований.
Эту программу я создал в 2015 году (в том же году и зарегистрировал её в Роспатенте – свидетельство № 2015663517). Она не является продолжением предыдущей, по своей сути она – другой программный продукт в той же сфере применения (УЗ-исследования).



Архитектура программы
В первую очередь, я продумал архитектуру будущей программы. Принципиальная разница между этой и предыдущей моими программами в следующем (что нового в архитектуре УЗИарт):
более сложный и разветвлённый алгоритм записи УЗ-исследования,
значительно увеличилось количество отражаемых ультразвуковых параметров, что необходимо для детализации и более точного заключения,
появился программный анализ вводимых данных и (на основании их) программное создание заключения.
Теперь чуть подробнее расскажу про сам алгоритм записи УЗИ.
Про алгоритм записи УЗ-исследования программой
Алгоритм здесь – это последовательность параметров, которые мы должны оценить во время исследования и внести в программу.
Параметры – это ультразвуковые данные, которые видим на экране. Ввод в программу (2 метода): нажатие соответствующей кнопки в программе (которая соответствует определенному параметру) или в поле ввода вносится информация в виде цифр (при количественном измерении). Сами числовые значения берутся врачом с экрана аппарата УЗИ (но программа к аппарату УЗИ не подключается).
Программа не позволяет пропустить какие-либо параметры, она их проверяет. Уже на стадии записи протокола она проверяет полноту исследования, полноту внесения параметров. Если какой-то параметр не вносится, программа останавливается до внесения этого параметра. И после того, как полностью пройдёт алгоритм, уже анализирует введённые данные и проводит (формирует) предварительное заключение, проводит дифференциальную диагностику (среди параметров) и пишет окончательное заключение (которое вносится в базу данных организации и вносится на бумажном носителе).
Разница в функционале (по сравнению с «Аледо-УЗИ-Протокол»)
Нет ручного ввода текста. Ввод информации теперь – через запрограммированные кнопки (т.е. в «память» программы уже вложены академические данные эхосемиотики заболеваний, поэтому пользователю не надо вводить их вручную), за исключением календарной даты и цифровых значений (размеры органов и образований).
Теперь появился сложный алгоритм прохождения этапов ультразвукового исследования с введением основных и вспомогательных параметров.
Если в «Аледо-УЗИ-Протокол» полнота введения данных и качество ультразвукового заключения зависело от квалификации врача УЗД, теперь программно вводится полное количество необходимых УЗ-параметров, заключение углубленное и более точное, соответствует пониманию врачом-клиницистом.
Заключительное окно (экран) программы имеет кнопки ввода информации в буфер обмена. И из буфера обмена (через Ctrl+V) эта информация вносится в базу данных организации. Т.е. нет связки по API (например, с информационной системой клиники), но информацию можно скопировать через буфер обмена.
Таким образом, программа УЗИарт стала следующим шагом эволюции и в моих навыках медицинского программирования, и более оптимальным продуктом (инструментом для работы врача УЗИ) по сравнению с моей первой программой.
Я стал использовать УЗИарт в работе в 2017 году, после начала работы в одной из клиник ГК «Медси». Главный врач и заведующая отделением положительно отнеслись к такому моему желанию, т.к. это повышало производительность моего труда в скорости и качестве работы диагностического отделения. Такое использование мною отвечало позиции руководства: «быстро и точно». Т.к. программа имела государственную регистрацию (в Роспатенте), руководство разрешило её применять.
Полезный эффект применения УЗИарт
Эффективность моей работы с использованием УЗИарт стала заметна с первого дня, т.к. записать все данные я мог намного быстрее, чем от руки.
Если 1/3 времени исследования – это само исследование, и 2/3 – это запись протокола (когда вручную писал протоколы), то с использованием программы запись протокола значительно ускорилась (примерно в 2 раза). Скорость записи протокола = скорости проведения исследования. Другими словами: (1) примерно на 30-35% уменьшило время на работу с пациентом, включая исследование и протоколирование, (2) за рабочую смену получалось провести больше УЗ-исследований с повышением качества заключения (и экономии времени другим врачам на чтение рукописного текста от меня, который бы мог быть, если бы я не печатал протоколы с помощью программы).
4. Что дальше
В моём портфолио идей есть мысль на базе своей программы «УЗИарт» создать программу для экспертов медицинской деятельности в области медицинской ультразвуковой диагностики, чтобы её функционал позволял проводить оценку точности получения УЗ-параметров, обеспечивать возможность создать правильное клиническое заключение и указать, какие необходимо получить дополнительные УЗ-параметры.
Благодарю всех прочитавших этот текст! Надеюсь, он оказался интересен и полезен. Если есть вопросы или какие предложения, то пишите мне в комментариях или в личные сообщения. Буду рад помочь найти ответы.