Языки программирования в медицине

Компьютерные технологии в медицине: история связи, значение и перспективы. Часть I

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Ни для кого не секрет, что компьютерные технологии проникли практически во все аспекты современного общества: политика, оборона, развлечения, образование и многое другое. Медицина не стала исключением. Сейчас это не секрет, однако 60 лет назад все это казалось научной фантастикой.

Сегодня мы затронем прошлое, настоящее и будущее партнерства этих столь разных отраслей, медицины и компьютерных технологий. Узнаем какие революционные открытия были сделаны, какие недостатки и опасности несет в себе данное партнерство и, наконец, какое будущее медицины нас ждет.

Применение компьютерных технологий в медицине

На данный момент компьютеры приобрели широкое распространение во многих ветвях медицины. Начиная с CPOE (computerized physician order entry) — компьютеризованной системы предписаний врача (назначение анализов и/или медикаментов), заканчивая роботами-интернами, помогающими хирургам во время операций. Также не малое значение компьютеры играют и в работе клиник в целом, помогая планировать и выполнять различные административные задачи, отслеживать финансы, проводить инвентаризации и т.д.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Далеко не второстепенную роль сыграл и Интернет. Благодаря ему появилось новое направление в медицинской диагностике — телерадиология (проще говоря передача через всемирную паутину изображений и данных медицинского характера). Это новшество дало возможность анализировать данные пациента и принимать решения касательно его лечения, находясь в дали от него, тем самым экономя драгоценное время. Также врачи получили возможность быстро консультироваться со своими коллегами со всего мира. Огромная база медицинских знаний, хранимая в Интернете, доступна и пациентам, давая им возможность ознакомится со своим заболеванием, распознать симптомы, узнать нужную информацию о враче и/или клинике, о препаратах и т.д. Касательно использования Интернета пациентом ходит не мало споров. Дело в том, что доверять самому пациенту устанавливать себе диагноз и назначать лечение — крайне опасно для него самого. С другой стороны, если пациент совмещает использование информации из Интернета с посещением реального врача, это может улучшить качество его лечения.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

И, возможно, самое необычное применение компьютерных технологий в медицине это видеоигры. Они используются для тренировки хирургов, которые в дальнейшем будут выполнять лапароскопические операции (когда в области проведения операции делаются небольшие надрезы для проведения операции внутри, вместо большого надреза и «открытой» операции). Исследования 2004 года показали, что хирурги, играющие в видеоигры примерно по 3 часа в неделю, допускают во время подобных операций на 37% меньше ошибок.

Хронологическая шкала взаимосвязи компьютерных технологий и медицины (1954-2006)

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

ГодСобытиеОписание
1954Компьютеризированный цитоанализаторЭлектронное оптическое устройство для скрининга клеток, подозреваемых в злокачественности.
1960“Brains”IBM 650 под названием «Brains» (Мозги) — сканирование медицинских записей для выявления тонких аномалий.
1960Опрос пациента компьютеромКомпьютеризированный анамнез пациента
1961Административные и фискальные функцииВнедрение компьютеров для выполнения административных и фискальных функций
1962Анализ электрокардиограммыЭлектрические импульсы от сердца передавались по телефону на центральный компьютер, который создавал кривую и анализировал ее.
1963Первая система поддержки принятия решенийВнедрен компьютерный подход к реабилитации. Например, компьютер использовался для определения оптимального времени ношения гипса при хирургическом вмешательстве.
1964IBM System/360Выход в свет компьютеров S/360
1964DEC PDP-8Презентация «мини»-компьютера PDP-8
1964MEDLARSMEDLARS — компьютеризированная система баз данных для индексации и извлечения медицинских цитат из Национальной библиотеке медицины (NLM).
1965Идея EMRРазвитие идеи электронной медицинской записи
1966MUMPS (Massachusetts General Hospital Utility Multi-Programming System)Мульти-программная система Общеклинической больницы Массачусетса (MUMPS) — также называемая «M» — была языком программирования для отрасли здравоохранения.
1968IMIAМеждународная ассоциация медицинской информатики (IMIA) была создана во Франции.
1970Компьютеризация обработки данных из лабораторийИСпользование компьютеров для проведения лабораторных расчетов, таких как определение химических состава околоплодной жидкости.
1971Компьютеризированная обработка записейIBM System/3 Модель 6 был использован для обработки результатов анализов пациентов
1971COSTARБаза амбулаторных записей пациентов, написанная на языке MUMPS
1971MEDLINEMEDLINE вышел в он-лайн
1972MYCINMYCIN — интерактивная экспертная система диагностики и лечения инфекционных заболеваний. Разработана в Стэнфордской медицинской школе на базе DEC PDP-10.
1972HELPОценка состояния здоровья посредством логического процесса — Health Evaluation through Logical Process (HELP) была разработана в больнице LDS
1974Компьютерная томографияСканер компьютерной томографии был изобретен Хаунсфилдом и Кормаком в 1972 году (только для головы). В 1976 году — для всего тела.
1974Компьютеризированный гамма-ножВнедрение первой компьютерной программы планирования дозы обучения для гамма-ножа (способ радиохирургического удаления опухолей головного мозга).
1974Internist-1Компьютерная диагностическая система, разработанная в Университете Питтсбурга.
1977Медицинская информатикаОпределен термин «медицинская информатика»
1978FilemanНабор утилит, написанный на языке MUMPS, внедривший функции метаданных
1981IBM PCПерсональный компьютер от IBM вышел в свет
1983СетиПредставление общественности нетворкинга
1984ACMI (American College of Medical Informatics)Был создан Американский колледж медицинской информатики (ACMI).
1987HL7Health Level Seven, Inc. (HL7) была основана в качестве стандарта для обмена клиническими данными.
1988MUMPS и IBMMUMPS становится языком, поддерживаемым на IBM
1989WWW (World Wide Web)Изобретение «Всемирной паутины»
1992Windows 3.1Выпуск Windows 3.1
1996Palm PilotВыпуск Palm Pilot (карманного персонального компьютера)
1996HIPAA (Health Insurance Portability and Accountability Act)Конгресс принял Закон о переносимости и подотчетности медицинского страхования.
1999Хирургическая система da VinciЭта роботизированная хирургическая система была разработана Intuitive Surgical. Прототип был появился еще в конце 1980-х годов в Стэнфордском исследовательском институте по контракту с армией США.
2000Передача изображенийКлиники начала передавать электронные копии изображений диагностического характера (рентгеновские снимки, снимки МРТ)
2001Широкое распространение КПКВ начале 2000-х годов работники здравоохранения широко использовали карманные устройства для выполнения таких задач, как доступ к медицинской литературе и электронной фармакопеи.
2003Виртуальная колоноскопияВиртуальная колоноскопия использует комбинацию технологии КТ-сканирования и компьютерной графики.
2004WCGIBM запустила этот проект для поиска генетических маркеров различных заболеваний.
2004Многоточечный КТ-сканерЭта новая технология сканирования сердца может в значительной степени заменить ангиограммы.
2004Указ №13335Президент Буш издал этот указ под названием «Стимулы для использования медицинских информационных технологий»
2005PenelopeБыл представлен миру робот-интерн
2006Microsoft покупает AzyxxiMicrosoft купила клиническое медицинское программное обеспечение, которое может извлекать и отображать различные виды данных пациента.

Электронные медицинские записи (EMR)

Еще в далеком 1960 году в газете New York Times была опубликована статья, в которой один врач из Тулейнского университета высказывал интересную мысль о «медицинских записях, хранимых на пленке, или другим подходящим для компьютера способом, которые могут полностью вытеснить письменные записи пациентов». В 1967 году в другой статье упоминалось следующее видение будущего — «каждый мужчина, женщина или ребенок могут иметь все свои медицинские данные, электронно записанные в огромной системе памяти в Вашингтоне». Пошли обсуждения преимуществ такой системы. Если, к примеру, у человека случился сердечный приступ, а он находится в другом городе. В статье дан ответ: «назначенному врачу достаточно будет позвонить в Вашингтон, и спустя секунды перед ним будут все данные этого пациента». Сейчас, спустя более полвека, мы видим как такие системы стали реальностью и широко распространились в различных медицинских учреждениях всего мира.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

В добавок к преимуществу удаленного доступа к данным, EMR обладает и другими, о которых мы поговорим далее. Исходя из этих преимуществ и того факта, что идея электронных записей существует уже много десятилетий, можно подумать, что EMR используются абсолютно везде. Однако это не совсем так. К примеру, в США EMR используется только в 17% клиник.

В конце 1960-х годов был разработан язык программирования, называемый Мульти-программная система Общеклинической больницы Массачусетса — Massachusetts General Hospital Utility Multi-Programming System(MUMPS) для использования в системах здравоохранения. Он не получил широкого распространения до 1970-х годов, когда начал использоваться для создания многих клинических программ. И по сей день многие старые системы работаю с ПО на базе MUMPS. Несмотря на свое изначально медицинское направление, MUMPS широко используется и в других отраслях, требующих большого числа одновременных подключений к базе данных (банки, фондовые биржи, туристические агенства).

В 1978 году Джозеф (Тед) О’Нил и Марти Джонсон вместе со своей командой разработали Fileman, используя язык MUMPS. Fileman представлял собой набор обобщенных процедур, специально упрощенных для пользователей не разбирающихся в MUMPS и в программировании в целом. В период с поздних 1970-ых по ранние 80-е на базе Fileman было спроектирована множество утилит. Позднее министерство по делам ветеранов США начало использовать Fileman как свою официальную медицинскую программу.

В 1981 году во Флориде Микки Сингер основал компанию программного обеспечения под названием Personalized Programming Inc., которая стала одной из многих, сформировавших в дальнейшем компанию Medical Manager Inc. Она предоставляла клиникам и частным практикующим врачам программное обеспечение, популярность которого была настолько велика, что уже к 1997 году более 24000 клиник и 110000 практикующих врачей пользовались им. Однако далее следовало лишь падение. Взамен Medical Manager Inc. пришла Open Public Public License (GPL), предоставляющая своим пользователям исходный код программного обеспечения, давая им возможность проводить необходимую кастомизацию.

На данный момент количество компаний, предоставляющих решения для EMR, варьируется от 250 до 500. Некоторые их них сосредоточены на малых системах, вроде выписки рецептов или истории болезни. Другие же предлагают пакетные решения.

Основными пользователями EMR являются врачи и другой мед.персонал. Стандартная EMR дает им доступ к электронной версии медицинской истории пациента, которая ранее, в течении многих лет, хранилась на бумаге. Так зачем менять то, что так долго работало?

Несмотря на весьма внушительные преимущества EMR, их скорость распространение не впечатляет. Сейчас мы рассмотрим почему.

В этом разделе мы обсудим историю систем поддержки принятия клинических решений (CDSS), текущие исследования, коммерческую направленность и потенциально интересные области для будущих исследований.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Компьютерные технологии сделали справочную информацию доступной для любого врача или пациента. Сегодня практически каждый человек имеет ПК или карманное устройство (планшет, смартфон, КПК), что дают ему доступ к необходимой медицинской информации.

Неожиданные последствия компьютеризации здравоохранения

Как мы уже поняли, компьютеризация медицинской сферы крайне важна и должна развиваться. Этот процесс сталкивается с множеством трудностей. Не все хотят тратиться на внедрение новых систем, обучение персонала. Кто-то боится юридических последствий, в случае обмена данными между клиниками. Также стоит вопрос и о конфедициальности информации. Все это — факторы, сдерживающие прогресс. Но есть мнения, утверждающие, что это не стоит форсировать, поскольку могут возникнуть непредвиденные последствия.

Доктор Гейл Томпсон, практикующий с 60-ых годов, заявил, что компьютеризация приводит к тому, что мы забываем что есть забота о пациенте. Врачи забыли как по зрачкам определить состояние больного, все больше полагаясь на диаграммы и графики на мониторах компьютеров. С этим мнение полностью согласен и Стивен Анджело, врач из Коннектикута. Он рассказал, как однажды в его больнице «легла» система мониторинга пациентов. Врачи были растеряны, не знали что делать.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Конечно, все больше и больше полагаясь на современные технологии, мы забываем о старых добрых методах. Но, если компьютеризация здравоохранения снизит число смертей среди больных, я готов отказаться от персонализации, как таковой.

Ошибки, связанные с препаратами

Некоторые врачи утверждают, что электронные системы, хоть и помогают уменьшить число ошибок, но не избавляют от них полностью. Все потому, что человек, как источник ошибки, управляет этой электронной системой.

Это неоспоримо, но проблема все равно остается в человеческом факторе, а не в системе, как таковой. Для решения данного затруднения необходимо более внимательно отнестись к обучению мед. персонала. Если персонал не умеет пользоваться системой, то, конечно, все ее преимущества теряют свой смысл. Пока в отрасли есть хоть один человек, будут и ошибки.

Неверная информация в Интернете

В сети можно найти множество статей о различных заболеваниях, препаратах и т.д. Многие из нас пользовались подобным контентом для проведения самодиагностики и даже самолечения. Конечно, информация это сила, но только тогда, когда она верна.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Очень много медицинской информации во всемирной паутине содержит ошибки. А это может привести к тому, что пациент начнет неправильное лечение либо просто проигнорирует потенциально опасное заболевание. Эту проблему можно решить лишь внедрением стандартов достоверности информации и методов ее проверки и контроля публикаций.

Поиск нужной информации

Хранение всей истории пациента в одной электронной папке позволяет врачу быстро получить к ней доступ. Но так ли быстро он сможет найти то, что ему нужно в данном конкретном случае? Огромный поток информации, который необходимо не просто просмотреть, но и проанализировать, может задержать формирование анамнеза и установление диагноза.

Мир не стоит на месте. Компьютерные технологии все глубже врезаются в другие сферы нашей жизни, привнося много нового, хорошего или плохого, порой сложно сказать. Но прогресс нельзя остановить, опираясь лишь на страх чего-то нового. Это касается и медицины. Многие болезни остались бы неизлечимыми, если бы какие-то смельчаки не решили лечить их по-другом, не так как раньше. Главное помнить, что человек создает технологию, человек ее совершенствует и только он может нести за нее ответственность.

Сегодня множество клиник переходят на удаленное хранение и обработку информации. Мы предлагаем решения и для такого типа клиентов, вплоть до решений с применением новейших NVMe-накопителей, позволяющих «моментально» обрабатывать запросы в больших базах. Дата-центры, в которых размещается оборудование, соответствуют необходимым уровням сертификации в сфере безопасности данных. А географическая распределенность и изолированность модулей даже в пределах одной локации позволяет организовывать наиболее отказоуйстойчивые системы для клиентов такого рода.

Источник

Из медицины в IT: как врач стал программистом

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Выбор в пользу медицины

Многие в детстве мечтают, что будут космонавтами или политиками, но я не знал, кем мне быть. Хотя любимые занятия у меня все же имелись. Уже в раннем детстве мне нравились физика и математика. Меня водили в детскую библиотеку, где я брал книжки по этим темам – привлекали интересные задачи. В школьные годы к этим увлечениям добавилось еще одно – информатика. Но на уроках нам рассказывали очень мало действительно интересных вещей, мы даже за компьютерами почти и не работали.

Я заканчивал школу, но так и не мог определиться, кем хочу стать. Моя старшая сестра работала фельдшером. Родители всегда говорили, что врач – достойная и хорошая профессия, а вот работу инженера, почему-то, считали не слишком перспективной. Я согласился пойти по стопам сестры. Мне удалось получить направление на целевой набор с последующим трудоустройством. Я рассматривал университеты в разных городах близ Тулы, но выбрал Рязань. Поступил на медико-профилактический факультет, после завершения которого мог работать в санэпидемслужбе – Роспотребнадзоре, Центре гигиены и эпидемиологии или стать врачом клинической лабораторной диагностики.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Сергей показывает коллегам, как работает люксметр

Врач со знанием C++

Не могу сказать, что осваивать профессию медика было неинтересно. Я вспоминаю свою практику – был и помощником медсестры, и помощником врача, выезжал с бригадой скорой помощи, ассистировал на операциях, в морге участвовал в подготовке патологоанатомических препаратов. Я узнавал много нового. Это невероятное ощущение, когда ты видишь, как устроен человек, как протекают различные процессы в организме.

Помимо этого, в университете я был активистом – участвовал в «Студенческой Весне» с песнями и танцами, ходил в научный кружок по эпидемиологии, публиковал статьи в сборниках всероссийских конференций, ездил волонтером в школы-интернаты, где для детей мы устраивали интересные мероприятия. Студенческая жизнь была насыщенной. Прошел выпускной, и у меня был выбор – идти в армию или в аспирантуру. Я поступил на направление «Общая гигиена» и параллельно стал лаборантом на кафедре. Писал диссертацию об оценке физического здоровья учащихся кадетских классов. Дела с ней шли не очень. Я плохо понимал, что нужно делать, мне было неинтересно выполнять научную работу. Да еще и поддержки со стороны руководителя не было, и поэтому я особенно не старался.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Сергей рассказывает школьникам о ЗОЖ

Вообще у меня такой склад ума, что мне постоянно хочется узнавать что-то новое. А в том направлении, в котором работал я, мне становилось скучно. Плюс, мне очень не нравилось, как в нашей стране обстоят дела с медициной, что зарплаты у врачей невысокие. Предприняв несколько неудачных попыток устроиться на работу в медучреждения, я решил, что хочу заниматься чем-то другим. Хотя учиться в аспирантуре мне оставалось меньше года.

У меня был запасной вариант. В школе я пробовал программировать на QuickBASIC – ребята занимались этим, и я тоже загорелся. Но в те времена дома компьютера не было. Переехав в Рязань, я купил его и в перерывах между занятиями начал осваивать программирование – это помогало переключиться и отдохнуть от медицины. Решил, что надо выбрать основательный язык, такой, на котором можно делать все, что угодно – и выбрал C++. Это стало для меня отдушиной.

Мне было нелегко уходить из медицины – я столько всего прошел, чтобы стать врачом. Пугали резкие перемены. Мои родители заждались меня домой и грезили, чтобы я работал врачом. Возможно, я бы так и остался в медицине, если бы не моя жена Ирина, которая поддержала меня в желании стать программистом. Она сказала тогда, что лучше заниматься тем, что нравится, чем жить, мечтая об этом. Ее слова помогли мне сделать первый шаг – я поступил на заочку на «Прикладную информатику» в Рязанский радиотехнический университет. Это своего рода ирония: с женой я познакомился в медуниверситете, а позже она помогла мне уйти из медицины.

К слову, о том, что 6 лет учился на врача, я никогда не жалел. Мне удалось неплохо подтянуть там английский и получить большой жизненный опыт.

Языки программирования в медицине. Смотреть фото Языки программирования в медицине. Смотреть картинку Языки программирования в медицине. Картинка про Языки программирования в медицине. Фото Языки программирования в медицине

Во время учебы в аспирантуре Сергей попробовал себя в роли преподавателя гигиены

На пути к IT

Если вспоминать времена, когда я учился на курсах, то могу сказать, что после шести лет медицины не все мне давалось легко. Запомнилось самое первое задание – нужно было написать программу для калькулятора со специфическим форматом вывода. У меня долго не получалось. С непривычки каждый раз оказывалось, что я либо неточно выполнил, либо вовсе не выполнил одно из многочисленных требований задания. Именно оно дало мне понимание того, как важно следовать правилам и серьезно относиться к тому, что делаешь. Помню также, как мучался, создавая приложение, в котором нужно настроить фильтры по наборам данных. В основе лежало использование деревьев выражений (Expression Trees). Смысл был в том, чтобы прямо в процессе выполнения программы «по кирпичикам» конструировать функцию-предикат, которая затем будет использоваться в фильтрации данных. Для меня это было совершенно новым и непривычным подходом в разработке.

Трудности были и с переходом на другой язык программирования. C++ генерирует неуправляемый код, с помощью которого можно сделать практически что угодно, но и заботиться о выделении и освобождении ресурсов приходится самостоятельно. В отличие от него, код программ, написанных на C#, выполняется в специальной управляемой среде, а это подразумевает наличие сборщика мусора (Garbage Collector), который уничтожает ненужные объекты, освобождая память. Сборщик мусора реализует сложные алгоритмы и во многом его работа является недетерминированной, из-за этого его сложно изучать. Для себя я усвоил: чтобы справиться с трудностями, надо просто искать, читать различные источники, не зацикливаясь на чем-то одном. Иногда находишь статьи или видеоролики, которые написаны будто под тебя, и после начинаешь понимать, как что работает. И, конечно же, практика – необходимое условие для превращения теории в навыки.

В целом же, мне нравилось то, что я делал на курсах. Хотелось разбираться, находить пути решения задач. Иногда я понимал, что учиться нужно быстрее, но при этом нельзя допускать каких-то пробелов. Я просто уделял программированию больше времени. Я хотел поскорее научиться и начать зарабатывать деньги. Было сложно, но я пришел к своей цели.

Когда работа в радость

На проекте я – разработчик. Мы создаем систему, которая предоставляет статистические сведения о работе финансовых компаний за определенный период времени. Наши заказчики – крупные предприятия, предоставляющие финансовые сервисы, например, инвестиционные фонды, андеррайтинговые и эдвайзинговые банки. Сервис, который мы делаем, может использоваться для принятия решений об инвестициях: покупках, прогнозировании цены активов и акций, формирования портфолио и оценок. И людям наша система помогает сделать правильный выбор.

Когда коллеги узнают, что я медик, многие удивляются. Иногда ко мне приходят за врачебным советом, и, если я могу помочь, то стараюсь сделать это. Но в основном говорю: «Поймите, я теперь далек от этого». Возможно, если я когда-нибудь займусь искусственным интеллектом, медицинские знания мне пригодятся. Сейчас мне нравится то, что я делаю, а еще больше, то, что я в этом развиваюсь. Здесь я постоянно учусь новому, причем, не только в программировании – и навыкам общения, и английскому языку. И самое большое удовольствие я получаю от решения задач. Если мне не удается в течение дня с чем-то справиться, задача заседает у меня в голове, и я не могу потом заснуть. Я думаю, думаю и в итоге что-то придумываю. И радостный потом бегу в офис, зная, что решил проблему.

Когда встречаю бывших однокурсников из медуниверситета, всегда делюсь радостью от того, что у меня теперь такая интересная работа. Ведь в программировании я могу делать всё, что угодно, любым удобным способом. Это огромный простор для фантазии и это – бесценно!

Источники фото: личный архив Сергея Ворошилина, Pixabay.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *