Подход к оформлению в GNUmed

Понятия

Выписки

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

Формы

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

До настоящего времени в GNUmed поддерживаются ограниченные формы.

Шаблоны

Шаблон — это файл, который содержит постоянные части документа с полями подстановки для данных пациента.

Движок форм

Механизм формы — это код внутри GNUmed, используемый для превращения шаблона в формат вывода для печати. В настоящее время в GNUmed известно три таких механизма, каждый для создания вывода запускает внешнее программное обеспечение: механизм Openoffice.org, движок LaTeX и движок форм PDF (FDF).

Поля подстановки

Поля подстановки, обычно, являются категорийными словами, которые будут заменены определенными экземплярами данной категории для текущего пациента, скажем, фамилия заменяется на Кирк. Обратитесь к этому списку известных полей подстановки. Если необходимо, подробнее о полях подстановки узнайте в списке рассылки.

Поля подстановки идут в формате $<placeholder-name::optional-arguments::optional-maximum-length>$. Если хотите задать максимальную длину для данного поля подстановки без аргументов (скажем, фамилия), то поле аргументов должно быть пустым. Таким образом, $< фамилия>$ является допустимым полем подстановки, как и $<фамилия::::5>$ (поле аргументов в середине пустое), но не $<фамилия::5>$. Именно от того, что можно ввести в поле аргументов, зависит поле подстановки в запросе. Данные передаются обработчику поля подстановки как есть. Максимальная длина поля может быть оставлена, как off (но не пустая). Так, допустимо $<soap::ap::25>$, как и $<soap::ap>$, но не $<soap::ap::>$ (длина поля пустая).

Примеры:

  • дата рождения: $<date_of_birth::%Y-%m-%d>$
    • показывает дату рождения, форматированную как Год-Месяц-День
    • строки форматирования перечисленны в документации Python
  • рабочие записи: $<soap::ap::300>$
    • показывает строки soAP, но максимально из 300 символов
    • GNUmed позволит пользователю выбрать, какие строки soAP, из каких обращений

Специфика каждого поля подстановки описана в этом исходном файле.

Теория функционирования

GNUmed использует движки для управления внешними программами, чтобы комбинировать шаблоны, содержащие поля подстановки с данными для них в экземплярах шаблона, и компилировать их в формат вывода. В настоящее время поддерживаемыми движками являются OpenOffice, формы PDF и LaTeX (существует еще два: gnuplot и image_editor, но для создания отчетов из форм они не используются).

При генерации письма/формы GNUmed будет экспортировать шаблон из записи определения для шаблона оформления внутри бэкэнда во временный файл. Этот файл будет проверен на известные поля подстановки, которые затем заменяются их соответствующими значениями данных для активного пациента. Некоторым из этих заменителей может потребоваться взаимодействие с пользователем (например, выбор, какие рабочие записи включать фактически). Далее GNUmed откроет подстановочный файл в редакторе, подходящем этому типу файла для облегчения дальнейшего редактирования. В зависимости от внешней программы завершенный шаблон затем, либо печатается непосредственно через это приложение (OOo), или компилируется в PDF (LaTeX, формы PDF). Полученный PDF затем печатается с использованием любого метода (Acrobat reader, gtklp, os.startfile, Internet Explorer, MacOSX с открытым исходным кодом, gsprint.exe или сценарий shell gm-print_doc). Наконец, пользователю запрашивается, под каким случаем сохранить новый документ (можно прервать, чтобы документ не сохранять в файл). Если возможно, повторно редактируемая версия документа хранится вместе с окончательной нередактируемой версией.

В зависимости от непосредственной цели вышеуказанного процесса некоторые шаги будут пропущены. Например, печать списка препаратов не откроет подстановочный файл LaTeX в текстовом редакторе перед печатью и также не будет импортирован сгенерированный PDF, как новый документ. Он, скорее, создаст административное примечание в документировании EMR, какой список лекарств был напечатан и из какого шаблона он был создан.

Специфика шаблона OOo

Определения письма хранятся в базе данных в виде файла шаблона OOo (.ott) вместе с некоторыми метаданными (см. таблицу ref.paperwork_templates). После открытия документа в OOo, GNUmed задает обратный вызов в OOo с тем, чтобы получать уведомления о закрытии документа. Затем считывает текущее имя файла документа и использует, чтобы импортировать его в GNUmed. Таким образом, документ импортируется правильно, даже если пользователь, тем временем, сохранил его под другим именем.

  • откройте в OpenOffice новый документ
  • разработайте шаблон письма, как желаете
  • при необходимости, включите в документ поля подстановки
    1. поля подстановки могут быть просто записаны в текст
    2. поле подстановки также может быть добавлено через меню Вставить_/_Поле
  • сохраните его как шаблон документа OpenOffice .ott

С полями подстановки в OOo имеется одно предостережение: с полями подстановки, просто записанными в поток текста, вы не можете поставить два из них в одной строке (возможно, даже в том же логическом пункте). Это объясняется тем, что функция поиска и замены OOo не поддерживает поиск непоглощающего регулярного выражения frown . Их преимуществом, однако, является то, что они автоматически наследуют свойства их окружающего текста, который не является случаем с полем подстановки, явно объявленным через Вставить_/_Поле. С другой стороны, они правильно работают в той же самой строке... Таким образом, выбирайте свой яд (или выберите LaTeX wink )

Специфика шаблона LaTeX

Эти шаблоны пишутся на языке подготовки документов LaTeX. Шаблоны, как таковые, не будут полностью действительным кодом LaTeX, из-за определений начала и окончания поля подстановки со знаком $ который имеет особое значение в системе TeX. Многие другие символы также имеют значение TeX (_, \, % и т.д.), так что они могут нуждаться в экранировании, если хотите, чтобы они отображались как видимые в заключительном документе PDF. GNUmed предоставляет поле подстановки $<tex_escape::>$, которое - в пределах кода Python - правильно экранирует все, что помещается внутри этого поля подстановки. Это особенно полезно для тегов VCS и подобных вещей, над которыми таковой не имеет явного контроля.

Если используете LyX или другой TeX-распознающий редактор для создания шаблонов, не забудьте проверить файл шаблона на специальные символы, успешно экранированные редактором, но и сделавшие недействительными определения ваших полей подстановки. Это особенно относится к $, % и _, которые часто встречаются в форматировании данных или строк и имен полей подстановки.

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

Используйте .tex, как расширение имени файла для шаблонов LaTeX.

Специфика шаблона формы PDF

Такие шаблоны создаются, принимая форму PDF, вставкой полей подстановки в поля формы и импортом этой частично предварительной формы в базу данных, как файла шаблона. Для использования в качестве шаблона не выравнивайте PDF при сохранении частично заполненной формы.

Необходимо установить и просмотрщик PDF, способный выравнивать форму, и также pdftk.

Добавление нового шаблона письма

С шаблоном, подготовленным, как описано выше, следуйте этой процедуре:

  • в меню GNUmed перейдите в Управление основными данными
  • используйте пункт меню оформительские шаблоны
  • в диалоговом окне, при необходимости, заполните поля и выберите созданный файл шаблона
  • сохраните новый шаблон

Новый шаблон теперь должен быть доступен в GNUmed.


Далее: Управление результатами анализов
Topic revision: 23 Jan 2014, KarstenHilbert
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark