"Сделай САМ"

Всё о КПС «Самсон»

Модератор: NRykalo

"Сделай САМ"

Сообщение PAV » 01 сен 2014, 09:50

Прошу помочь в решении одной проблемы.
Суть в следующем: есть шаблон печати, в котором на печать выводится несколько дневников врача стационара.
При печати один из дневников располагается на двух страницах (часть строк на первой, часть на второй).
Вопрос: как сделать автоматический перенос всего текста дневника на следующую страницу?
Испробовал коды HTML:
1. page-break-inside: avoid - запрещает делать разрыв страницы внутри элемента, т.е. по идее должен переносить весь блок текста на следующую.
Например,
<p style="page-break-inside: avoid">
блок текста
</p>
НО не срабатывает.
2. пробовал создавать стиль тега <p> в head, используя @media print.
Например,
<head>
<style>
@media print {
p {page-break-inside: avoid}
}
</style>
</head>
НО такая схема вообще не открывается при печати (фигурные скобки CSS не катят).
3. принудительные переносы работают, но в таком случае каждый дневник печатается на одной странице, что не эффективно.
Есть идеи?
МБУЗ "Городская больница №4" г.Сочи, Андрей
PAV
 
Сообщений: 35
Зарегистрирован: 22 авг 2014, 16:23
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №4"
Рабочий телефон: 88622610531

"Сделай САМ"

Сообщение gb2 » 01 сен 2014, 10:04

Шаблон печати дневника с отступом от начала страницы. Наши врачи самые экономные врачи :)
Перед печатью, пользователь вводит кол-во строк, которые надо отступить от начала страницы.
В конце напечатанного дневника, справа, печатается номер следующей пустой строки на этой странице. Это для того, чтобы потом на этой странице можно было продолжить печать следующего дневника и не считать сколько надо отступить строк.
Есть небольшое НО, в расчете номера следующей строки не учитываются строки, которые получились в результате печати слишком длинных значений с переносом на следующую строку. Т.к. шрифт используется пропорциональный, то я не стал извращаться в попытках это рассчитать.
Код: выделить все
<html>
<body>
{setPageSize('A4')}
{setOrientation('P')}
{setLeftMargin(20)} {setTopMargin(0)} {setBottomMargin(5)} {setRightMargin(5)}

{: dial = dialogs.dialInt(u"Введите отступ от начала страницы для печати", 0, 200, 1, 0) }
{: n = dial.getVar() }
{for:  i in range(0,n)}<br>{end:}

<table style="font-family: Arial; font-size: 8pt;" border="0" cellpadding="0" cellspacing="0" width="100%">
<td width="100%" align="center"><b>ДНЕВНИК</b>  {action.endDate}</td>
{: n=n+4}
{for: prop in action}
{if: prop.value} <tr><td><b>{prop.name}:</b> {prop.value if prop.value else ''}</td></tr>{: n=n+1}{end:}
{end:}
<tr><td><B>Врач:____________________/</B>{action.setPerson.shortName}<b>/</b></td></tr>
<HR>
<tr><td style="font-family: Arial; font-size:8pt;" align="right">{n}</td></tr>
</table>

</body></html>
Начальник технического отдела
МБУЗ г. Сочи "Городская больница №2"
gb2
 
Сообщений: 11
Зарегистрирован: 14 авг 2014, 13:03
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №2"
Рабочий телефон: 88622530925

"Сделай САМ"

Сообщение PAV » 01 сен 2014, 16:00

gb2 писал(а):Шаблон печати дневника с отступом от начала страницы...

Благодарю за данную реализацию. Пойду применять.
МБУЗ "Городская больница №4" г.Сочи, Андрей
PAV
 
Сообщений: 35
Зарегистрирован: 22 авг 2014, 16:23
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №4"
Рабочий телефон: 88622610531

"Сделай САМ"

Сообщение Yelena » 03 сен 2014, 21:27

А кто-нибудь уже делал в Самсоне новые бланки на анализы?
Отдел АСУ МБУЗ ЦРБ МО Темрюкский район
Yelena
 
Сообщений: 71
Зарегистрирован: 29 авг 2014, 12:28

"Сделай САМ"

Сообщение PAV » 11 сен 2014, 10:50

Добрый день!
Область вопросов: Типы действия и взаимоотношение полей
№ 1.
Ситуация по шагам (с примером):
- тип действия "Первичный осмотр" - поле "Диагноз": врач выбирает данный документ на вкладке Статус, заполняет данные поля, т.е. вписывает туда диагноз;
- тип действия "Обоснование клинического диагноза" - поле "Диагноз": врач выбирает данный документ на вкладке Статус, заполняет данные поля, т.е. вписывает туда диагноз (чаще всего совпадающий с диагнозом в "Первичном осмотре");
- тип действия "Предоперационный эпикриз" - поле "Диагноз": аналогично;
- тип действия "Протокол операции" - поле "Диагноз": аналогично;
...аналогично...(таких доков около 10)
- тип действия "Выписной эпикриз" - поле "Диагноз": врач звонит мне и говорит "слегка" раздраженно:
Может ли значение поля Диагноз как-то автоматически дублироваться в аналогичные поля других доков, но с возможностью редактирования его в конкретном документе? Или если мне нужно изменить диагноз в последующих доках, то можно ли сделать кнопку "Изменить диагноз", поменять его и он поменяется только в том доке, где я его поменял, а в предыдущих останется прежним?

Со своей стороны я могу сделать следующее:
- автозаполнение, изменив соответствующие шаблоны печати, где будет ссылка на вставку поля из такого-то документа. Но в таком случае не будет поля с вписанным диагнозом в данном документе - только на печати, что не совсем правильно.
- либо можно сделать такое автозаполнение в шаблоне печати, но создав доп.поле "Диагноз" (в типе действия) и условие, при котором, если это доп.поле пустое - на печати будут данные автозаполнения, а если доп.поле заполнено - на печати будут данные, вписанные в доп.поле. Но и в таком случае значение диагноза останется в типе действия только при варианте заполнения доп.поля.
Итоговый вопрос: есть ли вариант, при котором врач (записав данные в поле "Диагноз" документа "Первичный осмотр") при заполнении данных поле "Предоперационного эпикриза" смог сразу видеть текст, перенесенный из поля "Первичного осмотра" и мог его тут же отредактировать при необходимости?
Уфффф...

№2.
В типах действия (Справочники-Учет-Типы действий), в Свойствах есть "Тип" значения свойства. Он имеет значения: Text, Date, Person и т.п. Есть также "Область" значения свойства, где выставляются, например, ссылки на тезаурус для типа Constructor, выпадающий список для типа String и т.п.
В инструкции есть описание для 10 таких "Типов" и чуть меньше примеров, что для них прописывать в "Области".
Но на данный момент этих "Типов" более 30 штук. И что, например, мне нужно прописать в "Области" для "Типа" Reference и т.п.?
У кого-нибудь есть описание всех "Типов" и варианты заполнения всех "Областей".

Буду благодарен за любые идеи, уточнения и реализации!
МБУЗ "Городская больница №4" г.Сочи, Андрей
PAV
 
Сообщений: 35
Зарегистрирован: 22 авг 2014, 16:23
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №4"
Рабочий телефон: 88622610531

"Сделай САМ"

Сообщение PAV » 11 сен 2014, 11:16

gb2 писал(а):Шаблон печати дневника с отступом от начала страницы. Наши врачи самые экономные врачи :)
Перед печатью, пользователь вводит кол-во строк, которые надо отступить от начала страницы.
В конце напечатанного дневника, справа, печатается номер следующей пустой строки на этой странице. Это для того, чтобы потом на этой странице можно было продолжить печать следующего дневника и не считать сколько надо отступить строк.
Есть небольшое НО, в расчете номера следующей строки не учитываются строки, которые получились в результате печати слишком длинных значений с переносом на следующую строку. Т.к. шрифт используется пропорциональный, то я не стал извращаться в попытках это рассчитать.


Немного доработал данный шаблон с целью переноса блока текста, если он разбивается на две страницы (может не первооткрыватель, но всё таки выкладываю).
Здесь также при нажатии на печать пользователь вводит количество строк отступа и т.п.
При всех прочих данных я вписал запас строк ({: n=n+5}), ввел переменную "g" и условие, при котором происходит перенос всего блока текста (не разбивая его на две страницы) при достижении переменной "n" ({n}) числа "70" (данное число строк найдено опытным путем для данного шрифта и листа А4).
При этом после переноса блок текста переносится на следующую страницу и переменная {n} сбрасывается до числа, которое бы было при первоначальном "нулевом" отступе от края страницы. А на печать сначала выводится первый чистый лист, а потом уже блок перенесенного текста в начале второй страницы. Далее цикл повторяется.
Это удобно при печати дневниковой части врачебных докуов, особенно, если подключен принтер, поддерживающий дуплекс.
На ксероксах двустороннюю печать перенесенного блока можно осуществить так: вставить одну страницу с ранее напечатанной стороной, распечатать чистый лист (по сути прогон чистого листа), потом вставить её же, но ранее напечатанной стороной вниз и нажать на горящую "красным" кнопку ксерокса, который благополучно распечатает перенесенный блок текста.

Вот, собственно, код:
Код: выделить все
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body style="font-family: Arial; font-size: 9pt; color: black;">
{setPageSize('A4')}
{setOrientation('P')}
{setLeftMargin(20)} {setTopMargin(5)} {setBottomMargin(5)} {setRightMargin(5)}

{: dial = dialogs.dialInt(u"Введите кол-во строк отступа", 0, 70, 1, 0) }
{: n = dial.getVar()}
{for:  i in range(0,n)}
<br>
{end:}
{: n=n+10}
{: n=n+5}
{if: n >= 70}
<p style="page-break-after: always"></p>
{end:}

<table style="font-family: Arial; font-size: 9pt; color: black;" border="0" cellpadding="0" cellspacing="0" width="100%">
   <div align="center" style="text-transform:uppercase"> <b>{action.name}</b></div>
   <div align="left"><b>Дата: </b>{: string = action.endDate.toString(u"dd.MM.yyyy" u" г. " u"hh" u":" u"mm")}{string}</div>
   <hr>
   <div align="left"></div>
   <div align="left"><b>Ф.И.О.:</b> {client.fullName}. <b>Возраст: </b>{client.age} ({client.birthDate} г/р)</div>
   <div align="left"><b>Дата поступления:</b> {: string = event.setDate.toString(u"dd.MM.yyyy")} {string + u' г.'}</div>
   <tbody align=left>
      {for: prop in action}
         {if: prop.value}
            <br>
            <b>{prop.name} </b>
            {prop.value if prop.value else ''}
            {prop.unit if prop.unit else ''}
            {: n=n+1}
         {end:}
      {end:}
   </tbody>   
</table>
<br>
<table style="font-family: Arial; font-size: 9pt; color: black;" border="0" cellpadding="0" cellspacing="0" width="100%">
   <tr>
      <td width="25%" align="left">Лечащий врач:</td>
      <td width="25%" align="right">____________________</td>
      <td width="50%" align="left">/{action.person.shortName}/</td>
   </tr>
   <tr>
      <td colspan="3" width="100%" align="center"><hr></td>
   </tr>
   <tr>
      <td style="font-family: Arial; font-size: 7pt; color: black;"width="70%" align="left">&copy; Обработано КПС "САМСОН"</td>
      <td width="15%" align="right"></td>
      <td style="font-family: Arial; font-size: 7pt; color: black;"width="15%" align="right">
         {if: n >= 70}
         {: g = dial.getVar()}      
         {: n=n-g}
         {end:}
         {n}
      </td>
   </tr>
   
</table>
</body>
</html>


Надеюсь, будет полезен!
МБУЗ "Городская больница №4" г.Сочи, Андрей
PAV
 
Сообщений: 35
Зарегистрирован: 22 авг 2014, 16:23
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №4"
Рабочий телефон: 88622610531

"Сделай САМ"

Сообщение PAV » 15 сен 2014, 07:48

PAV писал(а):Добрый день!
Область вопросов: Типы действия и взаимоотношение полей
№ 1.
Есть ли вариант, при котором врач (записав данные в поле "Диагноз" документа "Первичный осмотр") при заполнении данных поле "Предоперационного эпикриза" смог сразу видеть текст, перенесенный из поля "Первичного осмотра" и мог его тут же отредактировать при необходимости?
№2.
У кого-нибудь есть описание всех "Типов" и варианты заполнения всех "Областей".
Буду благодарен за любые идеи, уточнения и реализации!


Это краткий повтор вопросов в той же теме (через один назад :) ). Вопрос №1 очень насущный!!! Подскажите, как у Вас врачи заполняют подобное?
МБУЗ "Городская больница №4" г.Сочи, Андрей
PAV
 
Сообщений: 35
Зарегистрирован: 22 авг 2014, 16:23
Регион: Краснодарский край
Муниципальное образование: Сочи
Наименование организации: МБУЗ "Городская больница №4"
Рабочий телефон: 88622610531

"Сделай САМ"

Сообщение Yelena » 15 сен 2014, 12:41

Если действия находятся в одном событии, врач переключается на предыдущее действие и просто копирует нужные ему значения. Найдете способ ссылкой прописать обязательно поделитесь :)
Отдел АСУ МБУЗ ЦРБ МО Темрюкский район
Yelena
 
Сообщений: 71
Зарегистрирован: 29 авг 2014, 12:28

"Сделай САМ"

Сообщение Sergey » 09 окт 2014, 18:48

Вообще то, для разных врачей-разные дневники. По крайней мере для стационара мы это реализовали. Заполняют в основном для шаблонов по заболеваниям. Зато потом просто выбирают шаблон. С их печатью проблемы остались (на выбор: либо печатает по одному дневнику либо лист дневников).
ps/ "Наши врачи самые экономные врачи :)"...улыбнуло...- так если за ними не смотреть они и электричество будут экономить :)
Признак, что ты добился чего-то в жизни - с тобой здороваются, а ты их не знаешь.
Аватар пользователя
Sergey
 
Сообщений: 12
Зарегистрирован: 27 авг 2014, 11:13
Регион: Краснодарский край
Муниципальное образование: Щербиновский район
Наименование организации: МБУЗ ЦРБ МО Щербиновский район
Рабочий телефон: 88615144132

"Сделай САМ"

Сообщение piker77 » 17 дек 2014, 16:11

PAV писал(а):
PAV писал(а):Добрый день!
Область вопросов: Типы действия и взаимоотношение полей
№ 1.
Есть ли вариант, при котором врач (записав данные в поле "Диагноз" документа "Первичный осмотр") при заполнении данных поле "Предоперационного эпикриза" смог сразу видеть текст, перенесенный из поля "Первичного осмотра" и мог его тут же отредактировать при необходимости?
№2.
У кого-нибудь есть описание всех "Типов" и варианты заполнения всех "Областей".
Буду благодарен за любые идеи, уточнения и реализации!


Вопрос №1 очень насущный!!!


Мы работаем с МИС типа самсон, так в типе действия есть тип данных "HTML". Через него можно легко передавать данные из различных документов в рамках одного события. Сейчас уже есть решения по обмену данными из разных даже неоднородных событий.
Вложения
piker77
 
Сообщений: 8
Зарегистрирован: 17 дек 2014, 15:55
Регион: Пензенская область
Муниципальное образование: Пенза
Наименование организации: ООО "МКИА"
Рабочий телефон: 88412645435

"Сделай САМ"

Сообщение crbustlab » 05 мар 2015, 15:15

piker77 писал(а):Мы работаем с МИС типа самсон, так в типе действия есть тип данных "HTML". Через него можно легко передавать данные из различных документов в рамках одного события. Сейчас уже есть решения по обмену данными из разных даже неоднородных событий.

Добрый день, подскажите пожалуйста где можно по подробнее ознакомиться с типами данных и как сделать передачу данных через HTML между событиями??
crbustlab
 
Сообщений: 39
Зарегистрирован: 26 авг 2014, 09:36
Регион: Краснодарский край
Муниципальное образование: Усть-Лабинский район
Наименование организации: ГБУЗ "Усть-Лабинская ЦРБ" МЗ КК
Рабочий телефон: 88613552601

"Сделай САМ"

Сообщение max » 06 мар 2015, 07:35

crbustlab писал(а):
Добрый день, подскажите пожалуйста где можно по подробнее ознакомиться с типами данных и как сделать передачу данных через HTML между событиями??


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

http://samson-rus.com/content/view/232/235/
Михайличенко Максим
МБУЗ "Городская многопрофильная больница" г. Армавир
МБУЗ "Детская городская больница" г. Армавир
сот.: 8 (918) 23-93-473
Аватар пользователя
max
 
Сообщений: 70
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Армавир
Наименование организации: МБУЗ "Городская многопрофильная больница" г.Армавир
Рабочий телефон: 89182393473

"Сделай САМ"

Сообщение max » 01 мар 2016, 17:21

Кому интересны отчеты по ВД взрослого населения:

1. Отчет по группам здоровья
2. Количество человек, прошедших диспансеризацию и профилактические осмотры, в разрезе врачей и этапов
3. Сведения о проведении диспансеризации определенных групп взрослого населения (ФОРМА 1000)

смотреть тут https://forum.miackuban.ru/viewtopic.php?f=2&t=60&p=1524#p1524
Михайличенко Максим
МБУЗ "Городская многопрофильная больница" г. Армавир
МБУЗ "Детская городская больница" г. Армавир
сот.: 8 (918) 23-93-473
Аватар пользователя
max
 
Сообщений: 70
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Армавир
Наименование организации: МБУЗ "Городская многопрофильная больница" г.Армавир
Рабочий телефон: 89182393473

"Сделай САМ"

Сообщение Aleksandra » 02 июн 2016, 11:18

Подскажите пожалуйста, как сделать в осмотрах несовершеннолетних, в новом обращении автоматически сохранялось мкб (в нижней части "мероприятия") у каждого врача каждый раз?
Вложения
Aleksandra
 
Сообщений: 6
Зарегистрирован: 11 май 2016, 15:32
Регион: Краснодарский край город Геленджик
Муниципальное образование: МБУЗ "Городская больница" г.Геленджик
Наименование организации: МБУЗ "Городская больница" г.Геленджик
Рабочий телефон: 88614132290
Как к вам обращаться: Александра Евгеньевна

"Сделай САМ"

Сообщение max » 21 дек 2016, 15:05

Шаблон формы для направления на: "Госпитализацию, ОДС, консультацию, обследование".

Форма №057/у-04 Утвержденная приказом Минздравсоцразвития России от 22.1.2004г. №255

Шаблон тут: https://forum.miackuban.ru/viewtopic.php?f=2&t=60&p=1664#p1664
Вложения
пример формы
Михайличенко Максим
МБУЗ "Городская многопрофильная больница" г. Армавир
МБУЗ "Детская городская больница" г. Армавир
сот.: 8 (918) 23-93-473
Аватар пользователя
max
 
Сообщений: 70
Зарегистрирован: 14 авг 2014, 10:58
Регион: Краснодарский край
Муниципальное образование: Армавир
Наименование организации: МБУЗ "Городская многопрофильная больница" г.Армавир
Рабочий телефон: 89182393473

Пред.

Вернуться в КПС «Самсон»



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2