Зачем админу разбираться в шаблонах?
Коллеги, каждый, кто работает с МИС Самсон, сталкивался с ситуацией: страховая компания или ТФОМС возвращают реестр, требуя изменить порядок колонок, добавить недостающее поле (например, СНИЛС) или убрать лишнее.
Шаблоны печати в Самсоне — это HTML-файлы со специальными тегами-вставками из базы данных. Понимая их структуру, вы сможете быстро исправлять ошибки в выгрузках своими силами, не дожидаясь программистов.
Сегодня разберем базовый шаблон «Реестр счета»
Что делает этот шаблон?
Он генерирует табличный документ (обычно в формате Excel или HTML для печати), который содержит список всех услуг, оказанных пациентам и включенных в конкретный счет на оплату.
Анатомия шаблона (разбор кода)
1. Настройки страницы (шапка файла)
{setPageSize('A4')}
{setOrientation('L')}
{setLeftMargin(5)}
{setTopMargin(3)}
{setBottomMargin(3)}
{setRightMargin(5)}
В самом начале задаются параметры печатной формы:
- Формат листа — A4.
- Ориентация — ландшафтная (L), так как колонок очень много.
- Отступы от краев (в миллиметрах или пунктах). Если реестр не влезает по ширине, можно попробовать уменьшить левое и правое поле.
2. Получение данных
{:itemss = []}
{for: a in account.items}
{:itemss.append(a)}
{end:}
3. Заголовок документа
<p style="font-size:12pt"><b>Реестр счета</b><br>
к счету № {account.number} от {account.date}</p>
Здесь формируется шапка документа. Самое важное — динамические поля:
{account.number}— сюда подставляется номер счета из программы.{account.date}— дата счета.
4. Шапка таблицы (самое сложное место)
Далее идет огромная таблица с множеством колонок. Именно здесь чаще всего возникают проблемы с несовпадением макетов ТФОМС.
<tr align=center>
<td width=3%><b>№</b></td>
<td width=5%><b>код</b></td>
<td width=7%><b>СНИЛС</b></td>
<td width=9%><b>Ф.И.О.</b></td>
<!-- ... и так далее 18 колонок! ... -->
</tr>
Обратите внимание:
- Ширина колонок задана в процентах (
width=5%). Если реестр не помещается по ширине, можно попробовать чуть уменьшить проценты в самых широких колонках (Ф.И.О., Адрес, Профиль услуги). - Наличие колонки СНИЛС (она есть в этом шаблоне) — частое требование. Если в вашей версии шаблона её нет, сюда нужно будет добавить строку с кодом СНИЛСа.
5. Тело таблицы (вывод данных)
Самая интересная часть — цикл, который проходит по всем позициям из нашего списка itemss и выводит по одной строке на каждую услугу.
{for: (i, item) in enumerate(itemss)}
<tr>
<td> {i:}</td>
<td> {item.event.client.id} </td>
<td> {item.event.client.SNILS} </td>
<td> {item.event.client.shortName}</td>
<!-- ... остальные поля ... -->
</tr>
{end:}
Разберем ключевые поля-переменные (блоки {...}):
{item.event.client.id}— уникальный ID пациента в базе (часто требуют для выгрузок).{item.event.client.SNILS}— СНИЛС пациента. Если в вашей базе СНИЛСы заполнены, они попадут сюда.{item.event.client.shortName}— краткое ФИО (Фамилия И.О.).- Диагноз (самый хитрый момент):
{for: d in item.event.diagnosises}
{if:d.type == u'Закл'}
{d.MKB}
{end:}
{end:}
- Здесь происходит следующее: у пациента может быть несколько диагнозов (предварительный, заключительный, клинический). Этот код ищет именно заключительный диагноз (тип ‘Закл’) и выводит его код МКБ. Если вам нужно выводить другой тип диагноза, условие нужно менять.
{item.service.code}и{item.service.name}— код и название медицинской услуги.{item.amount}— количество услуг.{item.price}и{item.sum}— цена и итоговая сумма.
Где искать и как править эти шаблоны?
Обычно все шаблоны печати в Самсоне лежат в директории templates (или аналогичной) на сервере, где установлена серверная часть МИС, либо в клиентской директории, если шаблоны хранятся локально.
Алгоритм действий при ошибке:
- Найдите файл шаблона. Часто его имя можно увидеть в настройках печатной формы в программе. Ищите по названию (например,
account.html). - Сделайте копию оригинального файла на случай, если что-то пойдет не так.
- Отредактируйте нужные поля (ширину, порядок колонок, добавьте/уберите поле).
- Сохраните файл и перезапустите клиент Самсона (если шаблоны кешируются).
Умение читать и немного править HTML-шаблоны Самсона — это суперсила администратора. Это позволяет решать проблемы с выгрузкой за 15 минут, а не за 3 дня переписки с техподдержкой.


