Данный модуль позволяет автоматизировать работу врача с протоколами пациента.
Протокол представляет собой два документа: электронная версия и печатная версия.
Электроннная версия протокола разрабатывается на языке разметки xml.
Печатная версия разрабатывается в формате MS Word (.docx).
Управление шаблонами протоколов доступно из пункта меню "Справочники" -> "Шаблоны протоколов".
На форме шаблонов протоколов отображается список имеющихся шаблонов протоколов.
Сверху на форме доступны функции:
Настройки модуля протоколов находятся на общей форме шаблонов протоколов, справа (значок шестеренки):
На форме настроек имееются следующие опции:
После изменения настроек необходимо нажать кнопку "Сохранить".
Если при изменении настроек у вас не активна кнопка сохранения, значит у вас отсуствуют права на изменение настроек данного модуля.
Форма шаблона протокола состоит из:
Название - указывается название протокола, которое будет отображаться в программе. В xml
, в поле Name
также необходимо указать тоже самое наименование.
Идентификатор - указывается уникальный идентификатор протокола (английскими буквами без пробелов, допустимы: цифры, точка, тире, нижнее подчеркивание). Обращаем внимание, что после сохранения создаваемого шаблона протокола данное поле будет недоступно для редактирования. Также именно таким названием должен будет называться шаблон печатной версии протокола (.docx). В xml
, в поле Id
также необходимо указать тот же самый идентификатор:
Поле, содержащее заключение - ID поля, где предполагается внесение заключения по протоколу. В списке протоколов пациента, значение этого поля будет отображаться в общем списке файлов, без необходимости открывать протокол для просмотра.
Специализация - необходимо указать врачам какой специализации должен быть доступен данный протокол для формирования его в карте пациента.
Пользователи - указываются пользователи, которым должен быть доступен данный протокол даже без соответствующей специализации.
Тип мед. документа ЕГИСЗ
При передаче данных в ЕГИСЗ, в рамках передаваемого мед.документа обязательно передается тип мед.документа, то есть к какому типу исследования относится данный документ. Поэтому для каждого шаблона протокола в программе, для которого подразумевается, что протоколы исследований пациентов этого шаблона будут выгружаться в ЕГИСЗ, необходимо установить значение из справочника Нетрики "Типы мед.документов":
Сверху на форме шаблона протокола располагается блок кнопок со следующими функциями:
xml
текста шаблона протокола (то есть то как форма будет выглядеть у врача при создании протокола в карте пациента). При нажатии на эту кнопку шаблон протокола автоматически сохраняется.Сбоку на форме шаблона протокола располагается блок кнопок с функциями для управления печатной версией шаблона протокола:
Электронная версия шаблона протокола представляет собой XML
документ, который состоит из:
Основная часть состоит из:
Version
- версия шаблона протокола, значение этого элемента заполняется системой автоматически.Id
- уникальный идентификатор шаблона протокола, значение этого элемента должно быть равно значению поля "Идентификатор", располагающегося сверху на форме. Обращаем внимание, что идентификатор устанавливается единожды при создании нового шаблона протокола и потом изменять его нельзя.Name
- наименование шаблона протокола, значение этого элемента должно быть равно значению поля "Название", располагающегося сверху на форме.Created
- дата и время создания шаблона протокола, значение этого элемента заполняется системой автоматически.FontSize
- размер шрифта для элементов протокола. <FontSize xsi:nil="true"/>
- соответствует значению по умолчанию, что означает, что будет использоваться стандартный размер шрифта МИС. Для указания конкретного размера шрифта (например 20): <FontSize>20</FontSize>
Изначально при создании шаблона протокола, наполнение его будет пустым. Будет сформирована только основаная xml
часть шаблона протокола:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>1</Version>
<Id>some.protocol</Id>
<Name>Безымянный</Name>
<Created>2023-07-25T11:21:16.0508288+03:00</Created>
<FontSize xsi:nil="true"/>
</ProtocolTemplateModel>
Здесь будет необходимо вставить корректные значения элементов Id
и Name
:
Затем можно приступать к формированию наполнения шаблона протокола.
Для удобства работы с xml, можно воспользоваться любым сторонним редактором (например Sublime или любой другой). Либо можно разрабатывать xml
шаблон протокола непосредственно внутри МИС.
При использовании стороннего редактора, необходимо скопировать весь текст шаблона протокола из МИС и вставить его в редактор соответственно. После окончания формирования xml-документа в стороннем редакторе, необходимо скопировать весь xml текст и вставить обратно в МИС, затем сохранить изменения.
Наполнение протокола описывается между следующими строками:
Между этими двумя строками необходимо писать xml
-код, описывающий поля и их взаимодействия между собой.
xml
-элементы шаблона протокола представляют собой UI компоненты (поля ввода, списки выбора, флажки и т.п.).
У этих xml
-элементов есть общие атрибуты, которые означает, что у любого xml-элемента, независимо от его типа может иметься данный атрибут.
В свою очередь у каждого xml
-элемента могут быть свои индивидуальные атрибуты, соответствующие типу этого xml
-элемента.
Общие атрибуты xml
-элементов:
Id
- идентификатор элемента. Должен быть обязательно указан для каждого элемента. Должен быть уникальным в рамках шаблона протокола. Этот же идентификатор будет использоваться в качестве тэга автоподмены в печатной версии протокола. Допустимы английские буквы и цифры (пробелы, точки и прочие символы запрещены). Рекомендуется указывать логичный и понятный идентификатор. Например, для элемента "Жалобы" можно использовать идентификатор Complaints (Id="Complaints"
) (так перерводится "Жалобы" на англ.язык), либо например Zhaloby. То есть по идентификатору элемента должно быть понятно к какому полю он относится, это поможет лучше ориентироваться в печатной версии шаблона.Name
- понятное для пользователя (врача) название поля на форме (например: Name="Жалобы"
)Value
- значение элемента по умолчанию. То значение, которое сразу будет указано в поле при создании нового протокола (для того, чтобы врачу пришлось меньше тратить время на внос стандартных общих данных) (например: Value="Отсутствуют"
).IsEnabled
- логический атрибут, обозначает - доступно ли поле для редактирования на форме (например IsEnabled="true"
)IsVisible
- логический атрибут, обозначает - видимо ли поле на форме (например: IsVisible="true"
)Логические атрибуты могут иметь только одно из двух возможных значений:
true
- логическое ДАfalse
- логическое НЕТ
Например:IsVisible="true"
- элемент будет виден на форме,IsVisible="false"
- элемент не будет виден на форме
Пример xml-протокола с одним текстовым полем, с указанием вышеперечисленных полей:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>1</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" Value="Отсутствуют" IsBoldLabel="true" />
</ProtocolTemplateModel>
Электронная форма такого протокола будет иметь вид:
IsBoldLabel
- логический атрибут, обозначает - выделять ли жирным название поля на форме (например: IsBoldLabel="true"
)ToolTip
- короткая всплывающая подсказка, появляющаяся при наведении курсора на элемент управления (например: ToolTip="Заполните жалобы пациента"
)Color
- фон элемента управления на форме (в формате Hex, например: Color="#FFFF21"
)MinWidth
- минимальная ширина элемента управления на форме (например: MinWidth="500"
)MaxWidth
- максимальная ширина элемента управления на форме (например: MaxWidth="800"
)IsLabelVisible
- логический атрибут, обозначает - отображать ли на форме название элемента (например: IsLabelVisible="false"
) (значение атрибута по умолчанию true
)LabelTextAlignment
- выравнивание текста элемента с названием по горизонтали. Может иметь значения:
Left
- выравнивание по левому краюRight
- выравнивание по правому краюCenter
- выравнивание по центруJustify
- выравнивание по ширинеLabelTextAlignment="Right"
) (значение атрибута по умолчанию Left
)LabelVerticalAlignment
- выравнивание элемента с названием по вертикали. Может иметь значения:
Top
- выравнивание по верхнему краюCenter
- выравнивание по центруBottom
- выравнивание по нижнему краюStretch
- растянутьLabelVerticalAlignment="Bottom"
) (значение атрибута по умолчанию Top
)FontSize
- размер шрифта элемента на форме (например: FontSize="18"
) (по умолчанию используется стандартный размер шрифта МИС)Пример xml-протокола с одним текстовым полем, с указанием вышеперечисленных полей:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>1</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" ToolTip="Заполните жалобы пациента" IsEnabled="true" Value="Отсутствуют" Color="#B3D8B3" IsBoldLabel="true" MinWidth="500" IsLabelVisible="true" LabelTextAlignment="Right" LabelVerticalAlignment="Bottom" FontSize="18" Lines="3" />
</ProtocolTemplateModel>
Электронная форма такого протокола будет иметь вид:
Для
xml
-элементов обязательным к заполнеию является только атрибутId
.
Остальные атрибуты не являются обязательными к заполнению (если атрибут будет являтся обязательным, он сформируется автоматически и заполнится значением по умолчанию).
По умолчанию, элементы на форме располагаются вертикально друг за другом. Если необходимо объединить их и расположить горизонтально друг за другом, то для этого можно использовать элемент StackPanel
. Пример:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>3</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<StackPanel Id="StackGeneralInfo" Name="Общая информация:" ItemType="StackPanel" IsLabelVisible="true" Orientation="Horizontal">
<Date Id="DateSurvey" Name="Дата консультации" ItemType="Date" ToolTip="Дата консультации" MinWidth="100" LabelMinWidth="130" />
<TextBox Id="TimeSurvey" Name="Время приема" ItemType="TextBox" MinWidth="100" />
</StackPanel>
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" Value="Отсутствуют" />
<TextBox Id="Anamnesis" Name="Анамнез" ItemType="TextBox" Lines="3" />
</ProtocolTemplateModel>
Электронная форма такого протокола будет иметь вид:
Здесь поля "Дата консультации" и "Время приема" объединены в StackPanel
. Именно поэтому эти поля располагаются друг за другом горизонтально. В отличие от полей "Жалобы" и "Анамнез", которые раполагаются вертикально стандартным образом.
StackPanel
влево, то есть, чтобы они начанались сразу с левого края, без показа наименования StackPanel
, то для этого достаточно для StackPanel
поставить атрибут IsLabelVisible="false"
:<StackPanel IsLabelVisible="false" ... >
Электронная форма такого протокола будет иметь вид:
StackPanel
указан атрибут IsLabelVisible="true"
, то для первого элемента, находящегося внутри StackPanel
, рекомендуется явно указать ширину элемента с названием поля. За это отвечает атрибут LabelMinWidth
.<StackPanel IsLabelVisible="true" ... >
<Date Name="Дата консультации" LabelMinWidth="130" ... />
...
</StackPanel>
Электронная форма:
Если атрибут LabelMinWidth
не указать, то размер элемента с названием по умолчанию будет равен 200 и тогда форма будет иметь вид:
На форме видно, что поле ввода Даты консультации достаточно сильно сдвинуто от самой надписи, именно поэтому рекомендуется явно задавать ширину элемента с названием для первого элемента, находящегося внутри StackPanel
StackPanel
рекомендуется указывать минимальную ширину, иначе в случае когда элемент пустой он будет иметь минимальную ширину, что может тяжело восприниматься пользователем. Пример:<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>51</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<StackPanel Id="StackGeneralInfo" Name="" ItemType="StackPanel" IsLabelVisible="true" Orientation="Horizontal">
<Date Id="DateSurvey" Name="Дата консультации" ItemType="Date" ToolTip="Дата консультации" MinWidth="100" LabelMinWidth="130" />
<TextBox Id="TimeSurvey" Name="Время приема" ItemType="TextBox" />
</StackPanel>
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" Value="Отсутствуют" />
<TextBox Id="Anamnesis" Name="Анамнез" ItemType="TextBox" Lines="3" />
</ProtocolTemplateModel>
В приведенном xml-примере, видно, что для элемента TimeSurvey (Время приема) не указан атрибут MinWidth
, в отличие от элемента DateSurvey (Дата консультации), для которого данный атрибут указан (MinWidth="100"
). При таком xml, форма будет иметь вид:
Где видно, что так как в поле "Время приема" пока ничего не введено и минимальная ширина не была указана, то из-за такого размера визуально поле может быть не информативно для пользователя. Именно поэтому для всех полей, находящихся внутри StackPanel
необходимо указывать минимальную ширину (MinWidth
).
Дополнительные xml-атрибуты:
IsBold
- логичесикй атрибут - выделять ли жирным текст (например: IsBold="true"
) (необязательный атрибут, значение по умолчанию false
)Пример:
<TextBlock Id="Title" ItemType="TextBlock" Value="Общая информация" IsBold="true" />
Электронная форма:
Дополнительные xml-атрибуты:
Lines
- количество строк, занимаемое по умолчанию (например: Lines="3"
) (необязательный атрибут, значение по умолчанию 1
)IsStretch
- логичесикй атрибут - обозначает допустимо ли растягивание элемента по ширине в случае если текст занимает больше места чем изначальная ширина элемента. Данный атрибут актуален для элементов, находящихся внутри StackPanel
или для элементов, для которых установлен атрибут MaxWidth
(например: IsStretch="true"
) (необязательный атрибут, значение по умолчанию false
)Пример:
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" Value="" Lines="3" />
<StackPanel Id="Stack" Name="Анамнез" ItemType="StackPanel" IsLabelVisible="true" Orientation="Horizontal">
<TextBox Id="Anamnesis" Name="" ItemType="TextBox" MinWidth="120" IsLabelVisible="false" IsStretch="true" />
</StackPanel>
Электронная форма:
Если для текстового поля установлено Lines
2 или больше , то для такого поля будет разрешен перенос строки. Если атрибут Lines
не будет установелен, или будет равен 1, то перенос строки в таком поле будет не возможен.
Если в текстовом поле необходимо заполнить значение по умолчанию (Value
), которое подразумевает перенос строки (например какой-то список), то для этого можно использовать непечатаемые символы:
\r\n


Можно использовать любой из двух вариантов, принцип действия у них одинаковый, поэтому разницы нет.
Пример:
<TextBox Id="Complaints1" Name="Рекомендовано:" ItemType="TextBox" Value="• УЗИ почек
• Прием таблеток" Lines="2" />
<TextBox Id="Complaints2" Name="Рекомендовано:" ItemType="TextBox" Value="- УЗИ почек\r\n- Прием таблеток" Lines="2" />
Электронная форма:
Представляет собой поле с выбором даты.
Для полей типа Date
всегда рекомендуется указывать минимальную ширину. Оптимальным является значение 100 (MinWidth="100"
).
Пример:
<Date Id="DischargeDate" Name="Дата выписки из стационара:" ItemType="Date" MinWidth="100" />
Электронная форма:
Разрешает введение только чисел (как целых так и не целых).
Дополнительные xml-атрибуты:
MinValue
- минимально возможное значение (например: MinValue="10"
) (необязательный атрибут)MaxValue
- максимально возможное значение (например: MaxValue="500"
) (необязательный атрибут)Step
- шаг инкремента (например: Step="0.1"
) (необязательный атрибут, значение по умолчанию 1
)Unit
- единица измерения (например: Unit="кг"
) (необязательный атрибут)FormatString
- формат значения. Может принимать значения:
NX
- где N
- обозначает, что формат является обычным числовым, X
- количество знаков после запятой (например: FormatString="N1"
)CX
- где C
- обозначает, что формат - валюта, X
- количество знаков после запятой (например: FormatString="C1"
)N2
)Пример:
<NumericBox Id="Weight" Name="Вес" ItemType="NumericBox" MinWidth="100" Step="0.1" Unit="кг" FormatString="N1" />
<NumericBox Id="Cost" Name="Стоимость" ItemType="NumericBox" MinWidth="100" MinValue="10" MaxValue="500" Step="1" FormatString="C0" />
Электронная форма:
Дополнительные xml-атрибуты:
TextTrue
- текст, который должен отображаться в печатной версии при отмеченном флажке (например: TextTrue="Да"
) (значение по умолчанию Да
)TextFalse
- текст, который должен отображаться в печатной версии, если флажок не отмечен (например: TextFalse="Нет"
) (значение по умолчанию Нет
)Пример:
<CheckBox Id="Disp" Name="Проходил диспансеризацию" ItemType="CheckBox" TextTrue="Да" TextFalse="Нет" />
<CheckBox Id="Zhaloby" Name="Жалобы отрицает" ItemType="CheckBox" Value="true" TextTrue="+" TextFalse="-" />
Электронная форма:
Также в протоколах предусмотрена функция отображения/скрытия элементов, в зависимсти от значения CheckBox
'а. То есть, когда CheckBox
отмечен, то в протоколе отображаются элементы для заполнения, а когда не отмечен - элементы соответственно скрываются. Для настройки этой функции необходимо для элементов, видимость которых должна зависеть от значения CheckBox
'а, установить атрибут VisibilityItem
, значение этого атрибута должно равняться идентификатору (Id
) CheckBox
'а.
Пример:
<CheckBox Id="Disp" Name="Проходил диспансеризацию" ItemType="CheckBox" Value="false" TextTrue="Да" TextFalse="Нет" />
<Date Id="DispDate" Name="Дата диспансеризации:" ItemType="Date" MinWidth="100" VisibilityItem="Disp" />
<TextBox Id="DispData" Name="Дополнительные данные о диспансеризации:" ItemType="TextBox" VisibilityItem="Disp" Lines="2" />
В данном примере, протокол имеет CheckBox
"Проходил диспансеризацию". Если данный чек бокс отмечен, то в протоколе отображаются дополнительные элементы для заполнения, в частности "Дата диспансеризации" и "Дополнительные данные о диспансеризации":
Если CheckBox
не отмечен, то данные поля скрываются:
Реализация скрытия значений в печатной версии описана в разделе настройки печатной версии
Позволяет выбрать одно значение из предопределённого набора.
Дополнительные xml-атрибуты:
Values
- набор возможных значений, разделенный |
(например: Values="Ученик|Работает|Пенсионер"
)Orientation
- ориентация элементов:1
- для горизонатльной ориентации2
- для вертикальной ориентацииOrientation="1"
) (значение по умолчанию 1
)Пример:
<RadioButton Id="Employment" Name="Соц.занятость:" ItemType="RadioButton" Values="Ученик|Работает|Пенсионер" Orientation="1" />
<TextBlock Id="Line" ItemType="TextBlock" Value="______________________________________________________________________________________" />
<RadioButton Id="FamilyStatus" Name="Семейное положение:" ItemType="RadioButton" Value="Не известно" Values="Не известно|Женат|Холост" Orientation="2" />
Электронная форма:
Дополнительные xml-атрибуты:
Multiselect
- логический атрибут - разрешен ли выбор нескольких значений (например: Multiselect="true"
) (значение по умолчанию false
)IsTextEditable
- логический атрибут - разрешено ли редактирование текста выбранного значения (например: IsTextEditable="true"
) (значение по умолчанию false
)В качестве источника данных для списка может выступать как произвольный список, так и справочник из МИС. В завивисмоти от того, какой список должен быть источником данных, заполняются xml-атрибуты.
1. Произольный список
Для произвольного списка ипользуется атрибут:
Values
- список значений, разделенные |
(например: Values="Ученик|Работает|Пенсионер"
)2. Справочник МИС
Для указания в качестве источника данных справочник МИС ипользуются следующие атрибуты:
DataSource
- наименование источника данных (например: DataSource="MKB"
) (перечисление возможных справочников представлено ниже)KeyColumnName
- название поля из справочника, которое выступает в качестве ключа. Допустимые значения:
Id
- идентификаторCode
- кодId
(KeyColumnName="Id"
). Указание кода допустимо только для тех справочников, у которых поле Код не может быть пустым и повторяющимся (к таким можно отнести справочник МКБ, так как справочник МКБ подразумевет список значений, для которых мы точно уверены, что поле Код является уникальным для этого справочника и код не может быть пустым)DataColumnName
- название поля из справочника, которое выступает в качестве значения. Именно это поле будет отображаться в самом выпадающем списке. Допустимые значения:
Name
- наименованиеCodeWithName
- код+наименованиеЕсли для ComboBox
'а необходимо указать значение по умолчанию (Value
), то оно должно соответствовать значению из источника данных:
Values="Ученик|Работает|Пенсионер"
, значение Value
должно быть одним из трех перечисленнызх значений, например: Value="Работает"
Value
должно быть соответствовать тому значению элемента, которое указано в поле KeyColumnName
. Например: DataSource="MKB" KeyColumnName="Code" Value='A09.0'
. В данном случае, A09.0
- это код того значения из справочника, которое должно быть выбрано по умолчанию. Указание кода в Value
обусловлено именно тем, что для KeyColumnName
указано поле код Code
Пример:
<ComboBox Id="Employment" Name="Соц.занятость:" ItemType="ComboBox" Value="Работает" Values="Ученик|Работает|Пенсионер" IsTextEditable="true" />
<ComboBox Id="MKBDiagnosis" Name="Диагноз по МКБ" IsEnabled="true" IsVisible="true" IsBoldLabel="true" MinWidth="225" IsLabelVisible="true" IsPrintableNameIfValueNotNull="true" ItemType="ComboBox" DataSource="MKB" KeyColumnName="Id" DataColumnName="CodeWithName" IsTextEditable="false" Multiselect="true" IsConclusionTemplate="false" IsDictionaryTemplate="false" />
Электронная форма:
Справочники МИС, которые можно указать в качестве источника данных:
DataSource="MKB"
DataSource="PatientPosition"
DataSource="WorkPlace"
DataSource="MaritalStatus"
DataSource="EducationType"
DataSource="PrivilegedGroup"
DataSource="DisabilityGroup"
DataSource="AssigneeStatus"
DataSource="BloodType"
DataSource="SocialStatus"
DataSource="Specialization"
3. Собственный справочник
В МИС также есть функционал, позволяющий создавать свои собственные справочники для протоколов. Доступен он из меню Справочники -> Справочники протоколов:
На приведенном для примера скрине: справочник Диагнозы (с кодом Diagnosis) - это сам справочник. А Жировая дистрофия и Жировой гепатоз - это значения этого справочника. У значений обязательно должны быть указаны оригинальные коды.
Для того, чтобы использовать эти справочники в качестве источника данных для ComboBox
'а необходимо:
DataSource
указать DictionaryTemplate[код справочника]
, где [код справочника]
заменить на код нужного справочника соответственно. Например: DataSource="DictionaryTemplateSensorType"
, где SensorType
- код справочника Тип УЗ датчика из приведенного выше скринаIsDictionaryTemplate
в значение true
(IsDictionaryTemplate="true"
)KeyColumnName
указать Id
(KeyColumnName="Id"
)Пример:
<ComboBox Id="USScanerType" Name="Тип УЗ сканера" ItemType="ComboBox" DataSource="DictionaryTemplateSensorType" KeyColumnName="Id" DataColumnName="Name" IsDictionaryTemplate="true"/>
Электронная форма:
Также для таких справочников (Справочники протоколов) доступна функция автопополнения новыми значениями прямо из протокола пациента. Для того, чтобы данная функция была доступна необходимо:
Multiselect
поставить значние true
(Multiselect="true"
). Таким образом для ComboBox
'а включится опция множественного выбора и станет доступна функция автопополнения.Данная функция удобна, так как врачу не нужно будет переходить ни в какие дополнительные окна, в случае отсутствия нужного значения в справочнике. Врач сможет добавить новое значение прямо из протокола пациента и тут же выбрать это значение в списке.
Заполняя протокол в карте пациента, при развернутом списке можно добавить новое значение в этот список. Для этого необходимо нажать на "Кликните здесь для добавления новой строки":
Далее в этой сроке необходимо ввести новое значение, затем необходимо нажать Enter и значение появится в списке для выбора.
4. Шаблоны заключений
В МИС есть функционал позволяющий создавать различные шаблоны заключений для быстрого их использования в МИС. Находится он в Справочники -> Шаблоны заключений:
На приведенном для примера скрине имеется несколько шаблонов заключений. Например справочник шаблонов заключений УЗИ сердца (с кодом echocardio), который имеет 4 шаблона заключения (Норма, Пролапс МК, Гипертрофия ЛЖ, Норма дети). Шаблон представляет собой значение состоящие из Названия шаблона и самого Заключения. То есть например, Норма - это название шаблона, а текст "Размеры полостей сердца в норме...." - это его заключение.
Для того, чтобы можно было использовать шаблоны заключений в протоколе, необходимо:
ComboBox
'а:
IsConclusionTemplate="true"
. Это логический атрибут, обозначающий, что для данного элемента источником данных выступает справочник шаблонов заключенийDataSource
указать ConclusionTemplate[код справочника]
, где [код справочника]
заменить на код нужного справочника соответственно. Например: DataSource="ConclusionTemplateechocardio"
, где echocardio
- код справочника шаблонов заключений УЗИ сердца из приведенного выше скринаIsConclusion="true"
ConclusionId
указав идентификатор того элемента, который является списком шаблонов заключений (Id
ComboBox
'а) (например: ConclusionId="ConclusionTemplate"
)Пример:
<ComboBox Id="ConclusionTemplate" Name="Шаблон заключения" ItemType="ComboBox" DataSource="ConclusionTemplateechocardio" KeyColumnName="Id" DataColumnName="Name" IsConclusionTemplate="true" />
<TextBox Id="Conclusion" Name="Заключение" ItemType="TextBox" IsConclusion="true" ConclusionId="ConclusionTemplate" Lines="2" />
Электронная форма:
В МИС есть возможность вести справочник рекомендаций лечения и привязывать рекомендации к МКБ.
Справочник рекомендаций лечения находится в меню Справочники -> Рекомендации лечения:
На форме создания/редактирования рекомендации лечении есть возможность привязать МКБ (то есть при выборе МКБ в протоколе пациента, программа автоматически добавит все рекомендации, которые к этой МКБ привязаны):
Блок с МКБ и рекомендациями лечения можно размещать на форме протокола. Функционал этого блока предполагает, что рекомендации, привязанные к выбранному МКБ, нельзя будет удалить из протокола, будет доступна только возможность указать причину отказа от рекомендации. Для этого в МИС предусмотрен справочник, который находится в меню Справочники -> Причины отказа от рекомендации лечения:
Для размещения блока с МКБ и рекомендациями лечения необходимо разместить xml-элемент RecommendationsControl
в шаблоне протокола.
Дополнительные xml-атрибуты:
MKBsPlaceholder
- название тэга для размещения списка выбранных МКБ в печатной версииRecommendationsPlaceholder
- название тэга для размещения списка рекомендаций в печатной версииDataSources
- список источников данных для справочников (МКБ, рекомендации лечения, причины отказа)Пример:
<RecommendationsControl Id="MKBAndRecomm" Name="Рекомендации лечения" ItemType="RecommendationsControl" MKBsPlaceholder="MKBs" RecommendationsPlaceholder="Recommendations">
<DataSources>
<DataSource MisDataSource="MKB" />
<DataSource MisDataSource="Recommendation" />
<DataSource MisDataSource="RecommendationRejectingCause" />
</DataSources>
</RecommendationsControl>
Электронная форма:
Данный элемент управления предсталяет собой набор компонентов:
При выборе МКБ, автоматически в таблицу с рекомендациями, попадают те рекомендации, которые к данному МКБ привязаны. Такие рекомендации с таблицы удалить нельзя, можно только отметить причину отказа и тогда такая рекомендация не будет переносится в печатную версию.
Данные тэги необходимы для автоматической подстановки значений в элементы управления при создании протокола пациенту.
DateSurvey
- Текущая датаTimeSurvey
- Текущее времяDayOfDateSurvey
- Текущий день месяцаMonthOfDateSurvey
- Текущий месяцMonthStringOfDateSurvey
- Текущий месяц строкой (например: май)YearOfDateSurvey
- Текущий годDoctorId
- Идентификатор врачаDoctorFullName
- Полное ФИО врачаDoctorInitials
- Фамилия + инициалы (пример: "Иванов А.А.")DoctorMobilePhone
- Моб.телефон врачаDoctorHomePhone
- Домашний телефон врачаDoctorOtherPhone
- Другой телефон врачаPatientId
- Идентификатор пациентаPatientNumber
- Номер картыPatientAge
- ВозрастPatientFullName
- Полное Ф.И.О.PatientLastName
- ФамилияPatientFirstName
- ИмяPatientMidName
- ОтчествоPatientBirthday
- Дата рожденияPatientDayOfBirthday
- День рожденияPatientMonthOfBirthday
- Месяц рожденияPatientMonthStringOfBirthday
- Месяц рождения в формате строки (например: май)PatientYearOfBirthday
- Год рожденияPatientSexChar
- Пол одной буквой (М/Ж)PatientSexString
- Пол строкой (мужской/женский)PatientINN
- ИННPatientSNILS
- СНИЛСPatientPhone
- ТелефонPatientEmail
- EmailPatientFullAddress
- Полный адресPatientAddress
- Адрес (без номера дома, кв. и т.п.)PatientAddressHouse
- Номер домаPatientAddressHouseBlock
- КорпусPatientAddressFlat
- Номер квартирыPatientDocumentNumber
- Номер ДУЛ (документа, уд.личность)PatientDocumentSeries
- Серия ДУЛPatientDocumentIssued
- Кем выдан ДУЛPatientDocumentDateIssued
- Дата выдачи ДУЛPatientPlaceOfBirth
- Место рожденияPatientActualAssuranceNumber
- Номер полиса ОМСPatientActualAssuranceSeries
- Серия полиса ОМСPatientActualAssuranceInsurerName
- Наименование страховой компании полиса ОМСPatientSocialStatusName
- Социальный статусPatientPrivilegedGroupName
- Льготная группаPatientDisabilityGroupName
- Группа инвалидностиPatientDisabilityDate
- Дата установления инвалидностиPatientAllergicReactions
- Аллергические реакцииPatientBloodTypeName
- Группа кровиPatientRhFactor
- Резус факторPatientWorkPlace
- Место работыLastMenstruation
- ПДПМ (первый день последней менструации)GestationalAge
- Срок гестации (срок беременности)Значения из карточки беременности подставятся в протокол только в том случае, если протокол создается из карточки беременности.
PatientId
- Идентификатор пациентаPatientNumber
- Номер картыPatientAge
- ВозрастPatientFullName
- Полное ФИОPatientBirthday
- Дата рожденияPatientSex
- Пол ("жен. – 2" / "муж. – 1")PatientCreated
- Дата создания карты пациентаPatientSnils
- СНИЛСPatientPhone
- ТелефонPatientEmail
- EmailPatientAddress
- Полный адресPatientDocumentType
- Тип ДУЛ (документа, уд.личность)PatientDocumentNumber
- Номер ДУЛPatientDocumentSeries
- Серия ДУЛPatientDocumentIssued
- Кем выдан ДУЛPatientDocumentDateIssued
- Дата выдачи ДУЛPatientPlaceOfBirth
- Место рожденияPatientAssuranceNumber
- Номер полиса ОМСPatientAssuranceSeries
- Серия полиса ОМСPatientInsurer
- Наименование страховой компании полиса ОМСPatientPrivilegedGroup
- Льготная группаPatientDisability
- Группа инвалидностиPatientDisabilityDate
- Дата установления инвалидностиPatientWorkPlace
- Место работыPatientMaritalStatus
- Семейное положениеPatientEducationType
- ОбразованиеPatientEmployment
- Занятость. Определяется исходя из соц.статуса:PatientPosition
- ДолжностьPatientAllergicReactions
- Аллергические реакцииPatientBloodTypeName
- Группа кровиPatientRhFactor
- Резус факторClinicId
- Идентификатор клиникиClinicName
- НаименованиеClinicFullName
- Полное наименованиеClinicAddress
- АдресClinicOKPO
- ОКПОClinicOKUD
- ОКУДClinicOGRN
- ОГРНOrganizationName
- Наименование филиалаOrganizationFullName
- Полное наименованиеOrganizationAddress
- АдресВ электронной версии шаблона протокола имеется возможность использования формул.
Реализован рассчёт формул следующим образом, пример:
Допустим в протоколе есть три поля которые подразумевают какое-либо измерение. Два поля предполагают ввод размеров, а третье поле служит расчетным значением суммы этих двух полей. Тогда необходимо для этого третьего поля указать формулу расчета. За это отвечает атрибут Formula
. В данном атрибуте необходимо описать математическую формулу, где вместо значений нужно подставить Id
нужных элементов.
Пример:
<TextBox Id="S" Name="Размер 1:" ItemType="TextBox" />
<TextBox Id="W" Name="Размер 3:" ItemType="TextBox" />
<TextBox Id="Sum" Name="Сумма:" Formula="S+W" ItemType="TextBox" />
Электронная форма:
Возможные математические операции:
-
) (пример: Formula="S-W"
)+
) (пример: Formula="S+W"
)*
) (пример: Formula="S*W"
)/
или :
) (пример: Formula="S/W"
или Formula="S:W"
)^
) (пример: Formula="S^W"
)Formula="(S/W)*S"
)Formula="(S/W)*100"
)Formula="(S/W)*(S-W)+(S^2)"
)S
и W
- Id
элементов соотвестенноАтрибут Formula
доступен для всех элементов.
В МИС есть зарезервированный набор формул расчета. Такая формула описывается в атрибуте Function
.
Общий принцип синтаксиса:
Function=[название функции]|[название 1го поля функции]=[id элемента в протоколе со значением этого поля]|[название 2го поля функции]=[id элемента в протоколе со значением этого поля]|[название nго поля функции]=[id элемента в протоколе со значением этого поля]
То есть сначала определяется название функции, потом символ разделитель |
, затем перечисляются поля функции и указываются Id
элементов в протоколе с нужными значениями (в качестве разделителя используется так же |
).
Принцип работы встроенных функция такой же как и для вышеописанного блока с созданием произвольных формул. То есть результат встроенной функции записывается в тот элемент, в котором определен атрибут Function
. А в расчете значения участвуют те элементы, которые в этой функции (Function
) определены.
Атрибут Function
доступен для всех элементов.
Ниже представлены все имеющиеся встроенные функции МИС.
В расчете учувствуют два поля:
• дата исследования
• первый день последней менструации (ПДПМ).
Синтаксис:
Function="DayOfMenstrual|LastMenstruation=LM|DateSurvey=DS"
Где:
• DayOfMenstrual
- название функции
• LM
- Id элемента с ПДМП
• DS
- Id элемента с датой исследования
В расчете учувствуют одно поле:
• значение КТР в мм.
Результат функции - на какое кол-во недель соответствует значение КТР
Синтаксис:
Function="KTRWeek|KTR=KTRSize"
Где:
• KTRWeek
- название функции
• KTRSize
- Id элемента с КТР
В расчете учувствуют два поля:
• рост (в см)
• вес (в кг)
Синтаксис:
Function="BSA|Weight=WeightField|Height=HeightField"
Где:
• BSA
- название функции
• WeightField
- Id элемента с весом
• HeightField
- Id элемента с ростом
В расчете учувствуют три поля:
• три измерения щитовидной железы
Синтаксис:
Function="ThyroidShareVolume|Size1=ThyroidGland1|Size2=ThyroidGland2|Size3=ThyroidGland3"
Где:
• ThyroidShareVolume
- название функции
• ThyroidGland1
- Id элемента с первым измерением
• ThyroidGland2
- Id элемента со вторым измерением
• ThyroidGland3
- Id элемента с третьим измерением
Используемая формула: ((Size1 * Size2 * Size3) * (0.479m)) / 1000.0m
В расчете учувствуют одно поле:
• конечный диастолический размер (КДР) левого желудочка
Синтаксис:
Function="EDV|LVIDd=KDRLzh"
Где:
• EDV
- название функции
• KDRLzh
- Id элемента со значением КДР левого желудочка
В расчете учувствует одно поле:
• конечный систолический размер (КСР) левого желудочка
Синтаксис:
Function="ESV|LVIDs=KCRLzh"
Где:
• ESV
- название функции
• KCRLzh
- Id элемента со значением КСР левого желудочка
В расчете учувствуют три поля:
• КДР - конечный диастолический размер левого желудочка
• толщина межжелудочковой перегородки
• толщина задне-боковой стенки левого желудочка в диастолу
Синтаксис:
Function="LVMass|LVIDd=KDRLzh|IVSd=MZHP|PWd=WallThickness"
Где:
• LVMass
- название функции
• KDRLzh
- Id элемента со значением КДР левого желудочка
• MZHP
- Id элемента со значением толщины межжелудочковой перегородки (МЖП)
• WallThickness
- Id элемента со значением толщины задне-боковой стенки левого желудочка в диастолу
В следующей таблице описаны зарезервированные символы XML, которые требуется заменить именованными сущностями, чтобы файл проекта можно было проанализировать.
Reserved character | Named entity |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
Данные названия помогают при работе с XML, когда необходимо прописать < или другой символ в Value, однако система считает, что это часть кода, а не описания поля NAME из-за чего возникает ошибка.
- для прописи с красной строки. Это значение можно использовать, как в поле Name так и в Value.
≈
- двойная тильда ~ для печати.
В МИС имеется функционал, позволяющий врачу, на форме протокола, указать - какие услуги из прайс-листа МИС назначаются (рекомендуются) пациенту. Опция выбора услуг доступна на форме заполнения электронной версии протокола паценту, справа, на вкладке "Прайс-лист":
Если необходимо, чтобы выбранные врачом услуги переносились в печатную версию, то для этого необходимо настроить тэги в печатной версии шаблона протокола.
Для этого необходимо в печатную версию протокола добавить блок текста с назначенными услугами. Данный блок необходимо поместить между тэгами AssignedTagCommerceServicesStart
и AssignedTagCommerceServicesEnd
, тэг для размещения самой таблицы услуг - AssignedCommerceServices
. Пример:
Принцип работы замены тэгов:
В МИС есть возможность настроить протоколы таким образом, чтобы значения полей из одного протокола переносились в поля другого протокола при добавлении последнего в карту пациента.
Например: имеются протоколы, в которых есть одно и тоже поле "Рост". Необходимо, чтобы при формировании нового протокола пациенту, значение поля "Рост" перенеслось из прошлого последнего протокола, если таковой имеется у пациента.
Для этого в xml-элементе "Рост" необходимо указать атрибут DependencePids
. Данный атрибут определяет список идентификаторов шаблонов протоколов, с которых нужно скопировать значение поля (идентификаторы разделяются символом |
).
Важно! Для корректной работы функционала необходимо, чтобы во всех этих протоколах идентификатор (
Id
) xml-элемента был одинаковый.
Пример:
therapist
)research.ortoped
)research.neurolog
)Height
(Id="Height"
):DependencePids
, заполнив его идентификаторами протоколов: DependencePids="therapist|research.ortoped|research.neurolog"
Теперь, например, формируется протокол Осмотр терапевта первичный пациенту и в протоколе указывается Рост:
В дальнейшем при формировании любого из вышеперечисленных протоколов, значение в поле Рост перенесется автоматически из любого последнего протокола, перечисленного в DependencePids
.
Например, далее пациенту формируется протокол Осмотр невролога. При создании этого протокола, значение поля Рост автоматически заполнится значением 165 (данное значение перенесется из прошлого протокола Осмотр терапевта первичный):
После написания кода для электронной версии необходимо подготовить документ, в который будет экспортироваться протокол. Это и называется печатной версией протокола. Шаблон печатной версии протокола должен формироваться в формате MS Word и иметь расширение .docx
.
Для того, чтобы отредактировать текущий имеющийся шаблон печатной версии, необходимо на форме шаблона протокола нажать кнопку "Скачать шаблон docx" и выбрать директорию для сохранения файла:
Если в версии МИС отсутствует кнопка "Скачать шаблон docx", значит в используемой версии МИС еще не был реализован данный функционал. Тогда необходимо:
Mis.WebApi.ProtocolService
на сервере МИС, папка будет называться templates
. Наименование файла шаблона протокола будет соответствовать идентификатору шаблона протокола:Далее можно вносить изменения в скачанный файл. После окончания работы над файлом его необходимо обратно загрузить в МИС (загрузка описана в пункте ниже "Загрузка печатной версии")
После того, как файл шаблона печатной версии сформирован, его необходимо загрузить в МИС. Для этого необходимо на форме шаблона протокола нажать "Загрузить шаблон docx" и выбрать файл для загрузки:
Если в версии МИС отсутствует кнопка "Загрузить шаблон docx", значит в используемой версии МИС еще не был реализован данный функционал. Тогда необходимо:
Mis.WebApi.ProtocolService
на сервере МИС, папка должна называться templates
. Название файла шаблона печатной версия должно соответствовать идентификатору шаблона протокола:В печатной версии необходимо в местах, куда должно подставляться значение из электронной версии, подставить тэги для автоподмены. Тэгами являются идентификаторы (Id
) элементов электронной версии.
Пример:
Шаблон электронной версии протокола:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>1</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<StackPanel Id="StackGeneralInfo" IsLabelVisible="false" ItemType="StackPanel" Orientation="Horizontal">
<TextBox Id="PatientFullName" Name="ФИО пациента" IsEnabled="false" MinWidth="300" ItemType="TextBox" />
<TextBox Id="PatientBirthday" Name="Дата рождения:" IsEnabled="false" MinWidth="100" ItemType="TextBox" />
</StackPanel>
<Date Id="DateSurvey" Name="Дата консультации" MinWidth="100" ItemType="Date" />
<TextBox Id="Anamnesis" Name="Анамнез заболевания" ItemType="TextBox" Lines="2" />
<TextBox Id="Complaints" Name="Жалобы" ItemType="TextBox" Lines="2" />
<TextBox Id="Conclusion" Name="Диагноз" ItemType="TextBox" Lines="2" />
<TextBox Id="DoctorFullName" Name="Врач" ItemType="TextBox" />
</ProtocolTemplateModel>
Шаблон печатной версии протокола:
В данном шаблоне можно увидеть, что в местах где должно раполагаться то или иное значение, подставлены идентификаторы элементов электронной версии:
Пример заполнения в карте пациента:
Для элементов электронной версии предусмотрены дополнительные xml-атрибуты, влияющие на печатную версию протокола:
IsRequired
- логический атрибут, обозначает - является ли поле обязательным для заполнения при экспорте. Если для элемента установлено IsRequired="true"
и данное поле не заполнено на форме протокола, то программа не даст экспортировать такой протокол в печатную версию (значение атрибута по умолчанию false
)IsPrintable
- логический атрибут, обозначает - доступно ли для печати данное поле, то есть - должно ли значение данного элемента переносится в печатную версию шаблона протокола (значение атрибута по умолчанию true
)IsPrintableName
- логический атрибут, обозначает - следует ли заменять тэг наименования (Name
) элемента в печатной версии (значение атрибута по умолчанию false
)IsPrintableNameIfValueNotNull
- логический атрибут, если для данного атрибута установлено значение true
, то наименование элемента будет печататься только в том случае если значение элеменат не пустое (атрибут актуален если для IsPrintableName
установлено значение true
) (значение атрибута по умолчанию false
)Шаблон электронной версии протокола:
<?xml version="1.0" encoding="utf-8"?>
<ProtocolTemplateModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Version>11</Version>
<Id>cons.cardiologist</Id>
<Name>Консультация кардиолога</Name>
<Created>2019-06-13T11:39:07.9930579+03:00</Created>
<FontSize xsi:nil="true" />
<StackPanel Id="StackGeneralInfo" IsLabelVisible="false" ItemType="StackPanel" Orientation="Horizontal">
<TextBox Id="PatientFullName" Name="ФИО пациента" IsEnabled="false" MinWidth="300" ItemType="TextBox" />
<TextBox Id="PatientBirthday" Name="Дата рождения:" IsEnabled="false" MinWidth="100" ItemType="TextBox" />
</StackPanel>
<Date Id="DateSurvey" Name="Дата консультации" MinWidth="100" ItemType="Date" />
<TextBox Id="Anamnesis" Name="Анамнез заболевания:" IsPrintableName="true" ItemType="TextBox" Lines="2" />
<TextBox Id="Complaints" Name="Жалобы:" IsPrintableNameIfValueNotNull="true" IsPrintableName="true" ItemType="TextBox" Lines="2" />
<TextBox Id="Conclusion" Name="Диагноз:" IsPrintableName="true" IsRequired="true" ItemType="TextBox" Lines="2" />
<TextBox Id="DoctorFullName" Name="Врач" ItemType="TextBox" />
<TextBox Id="Comment" Name="Комментарий (не печатается)" IsPrintable="false" ItemType="TextBox" Lines="2" />
</ProtocolTemplateModel>
Шаблон печатной версии протокола:
Пример заполнения:
Если в ComboBox
'е в качестве источника данных используется произвольный список (то есть источник задается в атрибуте Values
), то в печатной версии достаточно использовать в качестве тэга автоподмены идентификатор ComboBox
'а.
Если же в качестве источника данных выступает справочник МИС, собственный справочник или справочник шаблонов заключений (то есть источник задается в атрибуте DataSource
), тогда в печатной версии к идентификатору ComboBox
'а нужно добавлять постфикс Extended
Пример:
Шаблон электронной версии:
<ComboBox Id="Employment" Name="Соц.занятость:" ItemType="ComboBox" Values="Ученик|Работает|Пенсионер" IsTextEditable="true" />
<ComboBox Id="MKB" Name="МКБ:" ItemType="ComboBox" DataSource="MKB" KeyColumnName="Code" DataColumnName="CodeWithName" Multiselect="true" />
Шаблон печатной версии:
Пример заполнения:
Экспорт:
TextTrue
и TextFalse
Значением CheckBox
'а в электронной версии являются те значение, которые описаны в атрибутах TextTrue
и TextFalse
.
TextTrue
описывается то значение, которое должно быть в печатной версии в случае если CheckBox
отмеченTextFalse
описывается то значение, которое должно быть в печатной версии в случае если CheckBox
не отмеченВ самом шаблоне печатной версии, в качестве тэга автоподмены, также используется идентификатор CheckBox
'а.
Пример:
Шаблон электронной версии:
<CheckBox Id="Disp" Name="Проходил диспансеризацию" ItemType="CheckBox" TextTrue="Да" TextFalse="Нет" />
<CheckBox Id="Zhaloby" Name="Наличие жалоб" ItemType="CheckBox" TextTrue="+" TextFalse="-" />
Шаблон печатной версии:
Пример заполнения:
В протоколах предусмотрена функция отображения/скрытия элементов, в зависимсти от значения CheckBox
'а. То есть, когда CheckBox
отмечен, то в протоколе отображаются элементы для заполнения, а когда не отмечен - элементы соответственно скрываются. Для настройки этой функции необходимо для элементов, видимость которых должна зависеть от значения CheckBox
'а, установить атрибут VisibilityItem
, значение этого атрибута должно равняться идентификатору (Id
) CheckBox
'а.
Подробнее о данной функции в контексте электронной версии описано в разделе "Электронная версия" -> "CheckBox - флажок"
Для настройки экспорта таких значение предусмотрен функционал разделения информации по блокам в печатной версии:
CheckBox
'е должна находиться между блоками [ID]StartBlockTrue
и [ID]EndBlockTrue
CheckBox
'е должна находиться между блоками [ID]StartBlockFalse
и [ID]EndBlockFalse
[ID]
- идентификатор CheckBox
'аПример:
Шаблон электронной версии:
<CheckBox Id="Disp" Name="Проходил диспансеризацию" Value="false" ItemType="CheckBox" TextTrue="Да" TextFalse="Нет" />
<Date Id="DispDate" Name="Дата диспансеризации:" MinWidth="100" VisibilityItem="Disp" ItemType="Date" />
<TextBox Id="DispData" Name="Дополнительные данные о диспансеризации:" VisibilityItem="Disp" ItemType="TextBox" Lines="2" />
Шаблон печатной версии:
В данном шаблоне располагаются два блока:
CheckBox
"Проходил диспансеризацию" отмечен. Данный текст располагается между блоками DispStartBlockTrue
и DispEndBlockTrue
(отмечены зеленым цветом)CheckBox
"Проходил диспансеризацию" не отмечен. Данный текст располагается между блоками DispStartBlockFalse
и DispEndBlockFalse
(отмечены голубым цветом)Disp
- идентификатор (Id
) CheckBox
'аАлгоритм работы программы при экспорте:
CheckBox
будет отмечен, то весь текст, который располагается между тэгами DispStartBlockTrue
и DispEndBlockTrue
останется в печатной версии, а весь текст, который располагается между тэгами DispStartBlockFalse
и DispEndBlockFalse
- удалится.CheckBox
будет не отмечен, то произойдет обратная ситуация весь текст, который располагается между тэгами DispStartBlockFalse
и DispEndBlockFalse
останется в печатной версии, а весь текст, который располагается между тэгами DispStartBlockTrue
и DispEndBlockTrue
- удалится.Пример заполнения:
CheckBox
отмечен:
CheckBox
не отмечен:
В элементе NumericBox
есть дополнительные атрибуты, влияющие на печать:
IsNullPrintable
- логический атрибут, определяет - нужно ли печатать значение при экспорте, если значение равно нулю (значение по умоланию False
)IsPrintPoint
- логический атрибут, определяет - нужно ли печатать точку вместо запятой (для нецелых чисел) (значение по умоланию False
)IsPrintPlus
- логический атрибут, определяет - нужно ли перед значением печатать знак +
для положительных чисел (значение по умоланию False
)Пример:
Шаблон электронной версии:
<NumericBox Id="Weight" Name="Вес" MinWidth="100" ItemType="NumericBox" IsNullPrintable="true" Step="0.1" IsPrintPoint="true" Unit="кг" FormatString="N1" />
<NumericBox Id="Height" Name="Рост" MinWidth="100" ItemType="NumericBox" IsNullPrintable="true" Step="1" IsPrintPoint="true" Unit="см" FormatString="N0" />
<NumericBox Id="WeightGain" Name="Прибавка в весе" MinWidth="100" ItemType="NumericBox" IsNullPrintable="true" Step="0.1" IsPrintPoint="false" IsPrintPlus="true" Unit="гр" FormatString="N1" />
<NumericBox Id="HeightGain" Name="Прибавка в росте" MinWidth="100" ItemType="NumericBox" IsNullPrintable="false" Step="0.1" IsPrintPoint="false" IsPrintPlus="true" Unit="мм" FormatString="N1" />
Шаблон печатной версии:
Пример заполнения:
Перед отправкой шаблона протокола в тех. поддержку необходимо составить шаблон в соответствии с примером ниже.
Связаться с тех. поддержкой, чтобы передать шаблон можно, позвонив по номеру 8-800-201-61-04 с доб. цифрой 2 либо написав в WhatsApp https://wa.me/message/O342H7XN3YQPO1