You are here: Foswiki>Gnumed Web>FormsRu (11 Feb 2013, IvanLykov)EditAttach

Формы в GNUMed

Это описание новой концепции для форм в Gnumed (старые действительно не работают и не являются достаточно гибкими)

Ранее мы определяли формы в бэкэнде. Они имеют несколько проблем:
  • чтобы сделать формы достаточно гибкими, нужно использовать структуры Python, подобные for-loops и if-then-else, и коммерческие объекты доступа. Однако, ввод кода Python в бэкэнд проблематичен, и концептуально, и по соображениям безопасности.
  • имеется болевая точка при редактировании шаблонов форм в виде последовательностей внутри SQL-предписания INSERT.

Теперь формы, как потомки абстрактных классов 'engine', подобно LaTeX или HL7, определяющие, как будут выглядеть шаблоны, надеюсь, принадлежат слою промежуточного ПО.

Поэтому, нужно иметь (FYI: ответ Карстена находится в списке разработчиков здесь):

class ScriptForm (LaTeXForm):
    def store (self):

различные команды SQL для хранения внутреннего состояния в бэкэнде

    def print (self):
        """

Нет действительного кода, просто большая регстрока, содержащая LaTeX, который мы запускаем через templater (этот код уже написан в старой концепции), ссылающийся на внутренние переменные объектов
"""
       LaTeXForm.print (self)

   def display (self):
       """
Потомки client/wxpython (и где-то еще для других клиентов) ссылаются на это для предоставления всплывающего GUI, который запрашивает необходимую информацию. Мы должны организовать, чтобы внутренние переменные были определены для различных типов форм (см. ниже)

Используя множественное наследование, GUI формы может быть "привит" на различные формы промежуточного ПО (например, бумажные и электронные шаблоны имеют тот же GUI)
"""


    soap = "p"
    """
Где в paragim soap подходит эта форма (чаще будет, конечно, "p", но могут понадобиться специальные формы для "o" из MMSE, NUCOG, &c.)
"""
    keyword = "script"
    """
Ключевое слово в виджете SOAP, которое выводит нас к всплывающему меню.
"""
    menu_name = "&Prescription"
    """
Имя для меню "Формы" в верхней панели меню
"""

Для некоторых примеров, в форме направления можно использовать эти переменные:

переменная тип
request строка
clinical_notes строка
patient_instructions многостроковой текст
recipient gmDemographicRecord.cIdentity

Для сценариев (стиль AU):

переменная тип
drugs список cMedication
brand_only логический
RPBS логический

Помните, что эти формы должны иметь пользователя и пациента, определяемых автоматически

Для работы сертификатов:

переменная тип comment
date_start дата запуск сертификата
date_restrict дата возвращение к дате для работы с ограничениями
date_return дата дата возвращения к полным обязанностям
restrictions строка ограничения в работе
Topic revision: 11 Feb 2013, IvanLykov
 
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