Дата: Вторник, 02.Фев.2016, 08:24 | Сообщение # 41
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Есть архивчик с софтом DIS (использовался при удаленном обновлении при глюке софта EPO). Где посмотреть версию? Могу выложить для ознакомления... :-) Недавно вот "боролся" с умершей master-таблицей на софте врачебного ПК, судя по этой теме скоро и на лаборанте возможны проблемы... P.S. последнее время походу также стали проблемы появляться при выключении ПК... Убирать статус с давно принятых пациентов в базу, чтоб в начальном списке не "висели" уже нашел где. Так что интересно будет посмотреть чем у топикстартера все закончится. Мож свою базу уже пора почистить - 1 Гиг WGD-шная уже "весит".
Сообщение отредактировал Bomberbug - Вторник, 02.Фев.2016, 11:35
Дата: Вторник, 02.Фев.2016, 12:16 | Сообщение # 43
Участник
У вас сообщений: 146
электромеханик по R-оборудования
OFFлайн
Российская Федерация
Екатеринбург
naves, Есть папка C:\Program Files (x86)\Electron\EPO\SERVICE, там батник clearAll.bat, что запускает SQL сценарий clearAll.sql. После этого база стала работать как новая, но при этом инфа о пациентах и исследованиях , а также справочники остались. Что он сделал и как болезнено для базы?
Я давно этот сценарий заприметил, но я думал, что он совсем все затрет и не решался использовать его.
Сообщение отредактировал DenisMS - Вторник, 02.Фев.2016, 12:19
Дата: Вторник, 02.Фев.2016, 17:28 | Сообщение # 45
У вас сообщений: 1070
программист
OFFлайн
Российская Федерация
Москва
ЦитатаDenisMS ()
Есть папка C:\Program Files (x86)\Electron\EPO\SERVICE, там батник clearAll.bat, что запускает SQL сценарий clearAll.sql. После этого база стала работать как новая, но при этом инфа о пациентах и исследованиях , а также справочники остались. Что он сделал и как болезнено для базы?
Я давно этот сценарий заприметил, но я думал, что он совсем все затрет и не решался использовать его.
в этом файле написано удаление всех исследований и пациентов, непонятно почему у вас все осталось
Код
use WGD delete from [BackupFilePath] delete from [PacsMovedImages] delete from [UnsendedImage] delete from [Image] delete from [Series] delete from [Study] delete from [Patient] delete from [PatientDetailed] delete from [ModifiedPatient] delete from [ModifiedPatientHistory] delete from [EventLog] delete from [DeleteRecordLog] delete from [DeletedImages] delete from [CanceledStudy]
и снимки с диска тоже удаляются
Код
@echo off set startdisk=%~d0 set startdir=%~dp0 set scriptname=%~dp0%~nx0 set name=%~dp0%~n0 set logfile=%name%.log set tempdir=%name%_tmp set tempfile=%name%.tmp %startdisk% cd /d %startdir%
Дата: Вторник, 02.Фев.2016, 17:57 | Сообщение # 47
Участник
У вас сообщений: 146
электромеханик по R-оборудования
OFFлайн
Российская Федерация
Екатеринбург
naves, Я тоже этот код рассматривал и думал, что должно все удалится. Его видемо, для этого и писали, чтобы после настройки чистить базу, но он как то не так работает почему то.
Дата: Вторник, 02.Фев.2016, 18:22 | Сообщение # 48
У вас сообщений: 1070
программист
OFFлайн
Российская Федерация
Москва
лол, скрипт не может все удалить, потому что возникает ошибка при удалении, файл errors.txt
Код
Changed database context to 'WGD'.
(«íαáí«Γá¡« ßΓ᫬: 0) æ««íΘÑ¡¿Ñ 547, πα«óÑ¡∞ 16, ß«ßΓ«∩¡¿Ñ 1, ßÑαóÑα LAB01\SQLEXPRESS, ßΓ᫬á 7 The DELETE statement conflicted with the REFERENCE constraint "FK_StudyApr_Study". The conflict occurred in database "WGD", table "dbo.StudyApr", column 'StudyId'. The statement has been terminated. æ««íΘÑ¡¿Ñ 547, πα«óÑ¡∞ 16, ß«ßΓ«∩¡¿Ñ 1, ßÑαóÑα LAB01\SQLEXPRESS, ßΓ᫬á 8 The DELETE statement conflicted with the REFERENCE constraint "FK_STUDY_REFERENCE_PATIENT". The conflict occurred in database "WGD", table "dbo.Study", column 'PatientId'. The statement has been terminated. æ««íΘÑ¡¿Ñ 547, πα«óÑ¡∞ 16, ß«ßΓ«∩¡¿Ñ 1, ßÑαóÑα LAB01\SQLEXPRESS, ßΓ᫬á 9 The DELETE statement conflicted with the REFERENCE constraint "FK_Patient_PatientDetailed". The conflict occurred in database "WGD", table "dbo.Patient", column 'DetailedId'. The statement has been terminated.
но вообще-то он должен полностью чистить базу, кроме настроек системы.
Дата: Вторник, 02.Фев.2016, 18:48 | Сообщение # 49
Участник
У вас сообщений: 173
ПО рентгеновских аппаратов
OFFлайн
Российская Федерация
Мой город не дом и не улица...
ЦитатаDenisMS ()
Какая текущая версия EPO DIS той же версии скорее всего и архив
Ой, господа, как у Вас все перепуталось. Немного ликбеза. Относительно структуры нового софта Электрона.
EPO, оно же ЕПО, оно же ПО оператора, оно ПО лаборанта. Отдельное ПО. Работает на всех электроновских АРМах лаборанта. Как я понимаю с 2013-2014 года. У него своя база, он отправляет снимки по DICOM протоколу на PACS сервер (какой, не важно). На АРМе лаборанта крутится MSSQLExpress. Обычно на диске D:\ лежат сами файлы БД и снимки.
DIS (DICOM Image Server) или (Data Image Server) точно не скажу. Это отдельное ПО. Работает как PACS сервер в его же состав входит ПО Врача. DIS у Электрона - это вариант поставки PACSа в которой используется MSSQLExpress, в нем нет WEB-доступа и принимает он только DICOM файлы сделанные на электроновском оборудовании. У этого ПО своя база. Тоже MS SQL. Со своими проблемами. Электроновцы настраивают резервирование всех своих и еще системных баз, резервное копирование снимков. И если честно с этим ПО намного меньше проблем. Хотя нюансы есть! ПО снимки получает только по DICOM. Никакой синхронизации между БД лаборанта и врача - нет!
Решение проблем ПО лаборанта (ЕПО), никак не помогут решить проблемы ПО DIS. Как я понимаю, naves может проверить по коду, пишут разные люди и с разным подходом.
P.S.Хотя говорят уже есть новое ПО для PACS сервера и оно чуть ли не на UNIX.
Дата: Вторник, 02.Фев.2016, 19:00 | Сообщение # 50
Участник
У вас сообщений: 173
ПО рентгеновских аппаратов
OFFлайн
Российская Федерация
Мой город не дом и не улица...
Цитатаnaves ()
вот в другом месте, складывается дата уже с минусом
Это удаление бэкаповских файлов, которые хранятся в формате DICOM.
Цитатаnaves ()
MSSQL отлично работает
Это да, НО электрон использует express. Скажу честно, она сама по себе не сильно оптимальна. При этом были ограничения на количество записей в БД и ее размер. Говорят, что в новых версиях сняли.
Относительно индексов в MSSQLExpress. Наткнулся на тормоза вставки данных и наличии индексов. Но это не сравнено меньшие проблемы, чем шестикратное построение таблицы без индексов в процедуре удаления.
ЦитатаDenisMS ()
Сделал:
Из текста приведенной вами процедуры видно, что удаляются все данные по пациентам со статусом = 2. А они у Вас вообще есть? Как я понял из комментарием, это те, которые затащили с PACSа через Q/R. Если их нет и пациентов с PACS не затаскивают, но может вообще отказаться от это процедуры?
Дата: Вторник, 02.Фев.2016, 20:38 | Сообщение # 51
У вас сообщений: 1070
программист
OFFлайн
Российская Федерация
Москва
если оно отправляет снимки на отдельный сервер через DICOM, то нафига вы мучаете голову с тормозами базы на лаборанте. Копия снимков есть на сервере. удаляйте тогда снимки из базы лаборанта, да и все. или вышеприведенным скриптом или можно добавить, чтобы оставались снимки за последние, например, 100 дней
Код
delete FROM [WGD].[dbo].[Image] where datediff(d,datecreation,getdate())>100
соответственно, сделать такой же фильтр по дате для других таблиц, название столбцов с датой там другое [BackupFilePath] [PacsMovedImages] [UnsendedImage] [Image] [Series] таблицы пациентов и study не трогать, чтобы осталась сами пациенты
ЦитатаFeT ()
Это удаление бэкаповских файлов, которые хранятся в формате DICOM.
как бы да, но здесь минус есть, а там его нет, значит где-то что-то одно не удаляется.
ЦитатаFeT ()
P.S.Хотя говорят уже есть новое ПО для PACS сервера и оно чуть ли не на UNIX.
интересно они пишут свой пакс с нуля, или все-таки допиливают чужой.
ЦитатаFeT ()
Скажу честно, она сама по себе не сильно оптимальна.
ограничение на одно ядро и размер базы. Express 2008 сервер - максимальный размер базы 8Gb, на сайте мелкомягких написано про это.
ЦитатаFeT ()
Относительно индексов в MSSQLExpress. Наткнулся на тормоза вставки данных и наличии индексов. Но это не сравнено меньшие проблемы, чем шестикратное построение таблицы без индексов в процедуре удаления.
хм, странно, смотреть нужно Profiler, и сравнивать время выполнения с индексом и без индекса как используются индексы можно посмотреть кинув этот запрос в Managment Studio и запускать с опцией Query - Include Actual execution plan
ЦитатаFeT ()
Если их нет и пациентов с PACS не затаскивают, но может вообще отказаться от это процедуры?
ну вот если добавить индекс в таблицу пациентов, то процедурка выполняется за секунду. а так конечно можно и ее оптимизировать. сначала проверять есть ли вообще пациенты с таким признаком, и если есть, то только после этого делать удаления.
Никакой синхронизации между БД лаборанта и врача - нет!
Какая то мало мальская синхронизация есть, на лаборанта приходят ответы о доставке изображений и изменение статуса исследования, из-за чего лаборант может видеть диагноз пациента и печатать квитки с пометкой "норма".
Цитатаnaves ()
удаляйте тогда снимки из базы лаборанта, да и все
А лаборант потом будет видеть , что доктор описал эти снимки?
Цитатаnaves ()
или можно добавить, чтобы оставались снимки за последние, например, 100 дней
Новерное , что то похожее должно было работать в программе когда она запрашивает при выходе удалить снимки за 5 дней?
Цитатаnaves ()
или вышеприведенным скриптом
можно составить правильный скрипт, что бы чистить базу хотя бы в ручную периодически от всякой шелухи , а оставлять только нужные данные: пациентов, исследования? По мне так даже ярлыки снимков не нужны, достаточно инфы о том, что снимок находится на ПАКСе.
Сообщение отредактировал DenisMS - Среда, 03.Фев.2016, 05:33
Дата: Пятница, 05.Фев.2016, 20:13 | Сообщение # 55
У вас сообщений: 1070
программист
OFFлайн
Российская Федерация
Москва
походу хотят влезть в какой-то региональный тендер на PACS. Приезжали как-то из чехии, или из другой европейской страны, точно не помню. рассказывали про свой пакс. ставится три сервака на фронт-енд, которые работают с клиентами. конечно виртуалки с миграцией в реальном времени. в бэкэнде любое количество серваков хранения данных. Горизонтальное неограниченное масштабирование, выход из строя определенного кол-ва серверов не приводит к потерям от слова вообще. Распределенная файловая система CEPH, она же используется в ЦЕРН. Вот я понимаю подход. А про электрон... ну даже не знаю, может все-таки родят нормальное решение
Дата: Суббота, 06.Фев.2016, 12:35 | Сообщение # 56
Участник
У вас сообщений: 173
ПО рентгеновских аппаратов
OFFлайн
Российская Федерация
Мой город не дом и не улица...
Цитатаnaves ()
виртуалки с миграцией в реальном времени
На счет такого не знаю, но видел в их стойке три системника. Типа три сервака, при этом снаружи (для клиента) один IP. Говорят, что вся система может жить даже когда умрут два блока.
Дата: Пятница, 15.Апр.2016, 21:55 | Сообщение # 57
Стажер
У вас сообщений: 15
Инженер-наладчик
OFFлайн
Российская Федерация
Nск
Доброго времени суток! ЧТобы не плодить тем задам вопрос здесь: как можно удалить пациентов, которые в работе (подтверждение проходит, статус отправки - не отправлено, а по факту он отправлен на врача). И как удалить пациентов на регистраторе, которые не могут быть взяты в работу (статус желтый). СПасибо
Дата: Пятница, 08.Июл.2016, 04:59 | Сообщение # 59
Участник
У вас сообщений: 146
электромеханик по R-оборудования
OFFлайн
Российская Федерация
Екатеринбург
Всем привет, у кого-нибудь проводят персонал архивацию пациентов на этом ПО? У меня я только одну больницу знаю, они заархивировали более 100 архивных дисков и видимо в последний раз , что то пошло не так. Теперь архивация зависает на этапе перед нарезкой диска. ПО переустанавливать пробывал, явно , что то в базе накосячелось( пробывал подсовывать другой образ системы, таде хрень). Может кто сможет, что подсказать.
Дата: Пятница, 08.Июл.2016, 22:42 | Сообщение # 60
Участник
У вас сообщений: 173
ПО рентгеновских аппаратов
OFFлайн
Российская Федерация
Мой город не дом и не улица...
ЦитатаDenisMS ()
пациентов на этом ПО
На каком этом? В ЕПО вообще не предусмотрена штатная архивация, только при отключенном сервере. А если вы про ПО Врача, то заведите новую ветку и подробно опишите ситуацию. Какой аппарат, какой софт, его версию.
Дата: Вторник, 12.Июл.2016, 20:25 | Сообщение # 61
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
ЦитатаGubka ()
как можно удалить пациентов
Это надо изменить для этих пациентов в базе значение их состояния. Название таблицы навскидку уже не помню, где-то тут на форуме NAVES уже вроде писал об этом. Вообще без желания/знания изучать SQL лучше не лезть :-) MSQL Managment Studio и Google - Вам поможет, однако если с SQL не знакомы совсем, то придется немало времени в инете потратить на изучение основ хотя бы этого языка.
Дата: Вторник, 12.Июл.2016, 20:33 | Сообщение # 62
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
ЦитатаDenisMS ()
Может кто сможет, что подсказать.
Сделайте копию базы (чтоб чего не закосячить) и проведите проверку и восстановление базы при необходимости. Команды для этого можете почерпнуть в гугле на тему аля "... как восстановить/проверить базу MSSQL". Наверняка у Вас косяки в файле базы. Также от себя рекомендую (были уже не раз проблемы с флюшкой от Электрона) сделать копию основных рабочих баз MSSQL (это файлы MASTER, TEMP и т.д. с расширениями MDF И LDF в папке с самим MSQLSERVER, лежит это все добро вроде в ProgramFiles). Проще всего раз папку с этими файлами скопировать при остановленной службе MSQLSERVER...
Дата: Вторник, 12.Июл.2016, 23:43 | Сообщение # 65
У вас сообщений: 1070
программист
OFFлайн
Российская Федерация
Москва
ЦитатаFeT ()
Так же для баз Model и Msdb. Причем делать это надо регулярно.
одной копии в трех местах хватит, обновлять ее не нужно, тк в условиях данного комплекса структура и количество баз не меняется, новых SQL-пользователей не добавляют, то для мастер базы проще тупо копировать ее, да и для самой БД тоже при отключенной службе SQL Потому что бэкап master-базы вы сможете восстановить только в специальном режиме SQL-сервера, который включается каким-то флагом в настройке службы. (подробнее в гугле)
ЗЫ помню аппарат Toshiba Plessart, так там при каждой загрузке софта базы на сервере отключались и снова включались (Attach/Detach) а тк аппарат иногда выключали не из софта, а с рубильника, то софт регулярно превращался в тыкву. Запускаешь SQL Managment Studio, а баз на серваке и нету...
Дата: Суббота, 16.Июл.2016, 10:04 | Сообщение # 66
Участник
У вас сообщений: 146
электромеханик по R-оборудования
OFFлайн
Российская Федерация
Екатеринбург
Bomberbug, Проверки баз, это ,что я в первую очередь сделал, показало , что все нормально раборает. FeT, Флюшка "Максима" , Версия ПО ElPacs(врача) 2.0 сборка 28
Дата: Понедельник, 18.Июл.2016, 19:41 | Сообщение # 67
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
ЦитатаDenisMS ()
Проверки баз, это ,что я в первую очередь сделал, показало , что все нормально раборает.
Мда.. ну тогда какой-то "косячок" в самих таблицах. Тут уж не знаю - не сталкивался. У нас архивация не используется- все снимки на сервак "врача" уходят и пока там еще полно места.
Дата: Понедельник, 13.Фев.2017, 11:19 | Сообщение # 69
Заглянувший
У вас сообщений: 1
нет
OFFлайн
Российская Федерация
Саранск
Оставлю здесь, т.к. новичкам не дают создавать новые темы..АРМ лаборанта вроде такое же
Добрый времени суток! требуется ваша помощь =) 1. с архивацией (сталкиваюсь первый раз) - программа EPO-ARC версия 1.2.61.902 сборка 37, кнопки архивации на панельке не активные. Хотелось бы правильно сделать архивацию (т.к. прграмными средствами в сетевое хранилище или на внешний диск), а не тупо скопировать папку с базой данной или писать все на двд-диски.
2. помогите осмыслить архитектуру построения : есть АРМ лаборанта (на нем EPO-ARC версия 1.2.61.902 сборка 37) , есть сервер, есть АРМ врача. На месте лаборанта места свободного нет уже, на сервере - его много, на АРМ врача тоже свободного места много. Как я понимаю - вся БД снимков и пациентов хранится локальна на АРМ лаборанта? а для чего тогда сервер существует? и почему БД не хранится на сервере?
Буду очень признателен, если объясните всю логику и поможете разобраться с архивацией!