Подскажите, кто сведущ, почему долго грузится база пациентов при запуске программы (внизу отображается число немногим более 4 тысяч). В то же время, если выбрать ещё и отображение архивных пациентов (они у нас на отдельном винте подцеплены), то обновление списка происходит секунд через 5-10, а там уж кол-во около 20 тысяч! (первоначальная "загрузка 4 тысяч" занимает около 1 минуты).
ОС - Win 2003 server, работает с 2008 года, СУБД - скорее всего SQL от мелкософта
Quote (renmaster)
программки по поверке состояния базы ( файла 1000 gdb ) запускали?
Нет, потому как не знаю какими программками и что делать :-) С БД раньше особо дел не имел потому и не знаю, что можно сделать (и не хочется, чтобы "накрылось все медным тазом") Раньше уже на этом серве проблемки были с БД - вообще не открывалась - так указанный Вами файлик отсылали на фирму - они его там "чинили", а "секрета" своего не сказали :-)
С БД раньше особо дел не имел потому и не знаю, что можно сделать (и не хочется, чтобы "накрылось все медным тазом")
совет сделать образы дисков С всех машин и попытаться попасть на обучение по работе программной части [p.s.]оптимален вариант подобрать адекватного сервис-админа, в паре с такими помощником работать легче и надежней, в том же ЭЛЕКТРОНе есть подразделение сервис инженеров работащих по штативам и питающим и занимающихся программной частью [/p.s.]
Несколько запоздалый коммент: указанная проблема присуща ВСЕМ версиям ЭОС (в т.ч. и последним 4.1, хотя и не так выраженно). Просто по меренакопления базы пациентов это "криворуконаписанное" (пусть на меня даже обидится тот, кто разрабатывал часть ПО, ответственную за выборку пациентов) ПО начинает жутко тормозить (примерно по 1 минуте) именно при первоначальном запуске - при создании списка пациентов в текущей базе.
Неоднократные беседы на эту темы с представителями самой фирмы (инженерами) подтвердили мою мысль о том, что это "недоделка" фирмы, на которую просто закрыли глаза...И уже вроде как даже сняли "с поддержки".
Ну, собственно, "как обычно" - это ж по нашему :-) По русско-свински... (извиняйте, если кого обидел)
Ну, собственно, "как обычно" - это ж по нашему :-) По русско-свински...
охаить легче чем сделать сам ..б** ошибок не делает..тот- кто ни чего не делает.
ЦитатаBomberbug ()
на которую просто закрыли глаза...И уже вроде как даже сняли "с поддержки"
закрыта сама тема данного ПО на сегоднящий день, а снятие с тех.потдержки - это лож, Электрон всегда шел на встречу адекватам, а принцип бизнеса ни кто не отменял. по этому и подход к каждому индивидуальный
не все так гладко ... Да работать будет быстрее, но - при такой замене будут выдавать виолейшен нажатие на кнопку "Параметры фильтра" - при выборе параметров тип исследовании и тип камеры, отделения Это точно. - А также при сортировке по столбцам списка пациентов. - Не будет работать в списке положение сверху исследований у которых нет снимков.
>> Короче так сделать можно, но надо обрезать часть функционала программы....
Дата: Четверг, 13.Фев.2014, 13:38 | Сообщение # 10
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
>при такой замене будут выдавать виолейшен нажатие на кнопку "Параметры фильтра" в 2.9 работает >при выборе параметров тип исследовании и тип камеры, отделения Это точно. в большинстве конфигураций в ЛПУ стоит один прибор от электрона, а другие приборы работают со своими хранилищами (проблемы создания единого хранилища всех волнуют в последний момент) Так же непонятно, зачем это нужно, зачем искать пациентов по определенной камере? >А также при сортировке по столбцам списка пациентов. в 2.9 работает, вообще непонятно, почему не будет работать, Datagrid'у пофигу как данные получают из базы, главное чтобы все столбцы были в выдаче SQL-запроса >Не будет работать в списке положение сверху исследований у которых нет снимков. зачем это нужно? Вообще непонятны все эти фильтры, которые сбрасываются при повторном открытии списка. Была такая ситуация, запустили программу - ждем, нашли пацинта - ждем, сделали снимок, вернулись в список - опять ждем опять ставим фильтр - ждем...
Дата: Пятница, 14.Фев.2014, 06:46 | Сообщение # 11
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Цитатаrenmaster ()
а снятие с тех.потдержки - это лож
Я имел ввиду, что не устраняется (и не факт, что делались попытки даже) сама причина, не корректируется сам софт. О том, что "не помогают" при проблемах, скажем с базой - я не говорил - тут помогают, на том спасибо.
Цитатаrenmaster ()
ошибок не делает..тот- кто ни чего не делает.
Согласен. Но работу над ошибками никто не отменял. И на откровенный многолетний игнор по решению проблемы "долгой загрузки" закрывать глаза не хочется :-)
Дата: Четверг, 27.Мар.2014, 20:47 | Сообщение # 13
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
ЦитатаBomberbug ()
А не подскажите ли, данная "доработка" применима ко всем версиям ЭОС ? (скажем и к 4.хх тоже)
4 ветку в глаза не видел, ничего сказать не могу. Смотрите базу ручками, используйте wireshark для просмотра, какие запросы идут к базе. Я так делал.
У меня сейчас стоит задача массового экспорта снимков из электрона на внешний Dicom-сервер, придется писать программу для работы с электроновскими dicom-компонентами
Сообщение отредактировал naves - Четверг, 27.Мар.2014, 20:49
Дата: Понедельник, 31.Мар.2014, 20:38 | Сообщение # 14
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Ясно. А может быть Вам известно как Элекроновсие *.eli в удобоваримый и стандартизированный DICOM -перевести. Скажем, чтобы архивы родные электроновские на другой сервак сохранить.
А может быть Вам известно как Элекроновсие *.eli в удобоваримый и стандартизированный DICOM -перевести. Скажем, чтобы архивы родные электроновские на другой сервак сохранить.
Я планирую использовать электроновсикй компонент TransmitDicom, он сразу будет создавать dicom-файлы со всеми атрибутами снимка и реквизитами пациента. Там используется забавная цепочка из трех программ, которые последовательно генерят файлы для отправки. Если у вас есть свои ресурсы для разработки, могу прислать некоторую инфу по электрону, или я надеюсь, через пару месяцев я выложу в общий доступ свою прогу
naves, Свои "наработок" нет - просто руки еще не дошли и задача такая "в полный рост" не стоит :-) Но, рано или поздно, от Электроновской базы хранения придется отказаться - к примеру на новых продуктах Электрона идет уже "унифицированный" софт ЕПО и там, вроде как уже другой формат хранения данных (хотя плотно этой темой тоже еще не занимался) Буду рад потестить и Ваш продукт :-)
Дата: Пятница, 04.Апр.2014, 19:37 | Сообщение # 17
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
оптимизация базы часть 2 Долгое открытие снимков из архива
ЦитатаBomberbug ()
Просто по меренакопления базы пациентов это "криворуконаписанное" (пусть на меня даже обидится тот, кто разрабатывал часть ПО, ответственную за выборку пациентов) ПО начинает жутко тормозить (примерно по 1 минуте) именно при первоначальном запуске - при создании списка пациентов в текущей базе.
Сама программа DIRA написана хорошо, но вот при работе с базой она не учитывает особенностей движка Interbase. Причем эту особенность можно выявить только при работе с уже накопленной базой снимков. Привожу конкретный пример на своей базе
SELECT count(*) FROM FILLPATIENT 39580 пациентов SELECT count(*) FROM bmp 55288 снимков при этом размер файла базы около 200 МБ, столько инфы с сентября 2008 года далее
Код
/* запрос который вешает базу намертво! */ SELECT max(FILLPATIENT.ID) FROM FILLPATIENT INNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.ID WHERE BMP.ARCHIV = 4
в этом запросе берется максимальный ID пациента из индексного столбца, делается связь по индексным столбцам двух таблиц, применяется фильтр по индексу. В теории запрос должен отработаться за доли секунды. На практике он выполняется две минуты с полной загрузкой одного ядра процессора!
Plan PLAN JOIN (FILLPATIENT ATRPATIENT NATURAL,FILLPATIENT PATIENT INDEX (RDB$PRIMARY44),BMP INDEX (RDB$FOREIGN114,RDB$FOREIGN115))
Adapted Plan PLAN JOIN (FILLPATIENT ATRPATIENT NATURAL,FILLPATIENT PATIENT INDEX (PK_PATIENT),BMP INDEX (FK_BMP_REF_231_PATIENT,FK_BMP_REF_57675_ARCHIV))
------ Performance info ------ Prepare time = 0ms Execute time = 2m 34s 390ms Avg fetch time = 154 Current memory = 18 Max memory = 21 Memory buffers = 2 Reads from disk to cache = 2 Writes from cache to disk = 0 Fetches from cache = 2
а вот похожий запрос который обращается напрямую к таблице, а не VIEW SELECT max(FILLPATIENT.ID) FROM patient FILLPATIENT INNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.ID WHERE BMP.ARCHIV = 4
меньше секунды, из-за того что при использовании VIEW индексы работают кое-как, а не так как предполагается
Plan PLAN JOIN (BMP INDEX (RDB$FOREIGN115),FILLPATIENT INDEX (RDB$PRIMARY44))
Adapted Plan PLAN JOIN (BMP INDEX (FK_BMP_REF_57675_ARCHIV),FILLPATIENT INDEX (PK_PATIENT))
------ Performance info ------ Prepare time = 0ms Execute time = 797ms Avg fetch time = 797,00 ms Current memory = 19 Max memory = 20 Memory buffers = 2 Reads from disk to cache = 0 Writes from cache to disk = 0 Fetches from cache = 0
а теперь реальные запросы, которые идут к базе, когда нужно посмотреть снимки из архива:
Код
/* один и тот же запрос два раза*/ SELECT DISTINCT FILLPATIENT.* FROM FILLPATIENT INNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.ID WHERE BMP.ARCHIV = 4 ORDER BY KOLZAP DESC, DATLASTREC DESC /* и вдобавок количество пациентов в этом архиве */ SELECT COUNT(DISTINCT FILLPATIENT.ID) FROM FILLPATIENT INNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.ID WHERE BMP.ARCHIV = 4
каждый запрос выполняется около 2m 36s, итого до 10 минут, чтобы открыть снимок из архива Варианты решения: 0) замена сервера тесты на 8 ядерном Intel Xeon улучшили время запроса с 3 минут до 2,5 1) повреждена сама база всякие gbak, gfix никак не исправляли ситуацию 2) лезть в базу и как-то переделывать индексы вьюхи какие индексы тут еще могли помочь непонятно 3) лезть в сам exe-файл и править текст запросов как ни странно, самый жесткий способ и помог открываем в любом hex-редакторе PR1000.exe ищем строки INNER JOIN BMP ON BMP.IDPAT = FILLCOMPPATIENT.ID WHERE BMP.ARCHIV = INNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.ID WHERE BMP.ARCHIV = и меняем их на /*NNER JOIN BMP ON BMP.IDPAT = FILLCOMPPATIENT.I*/WHERE 666<> /*NNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.I*/WHERE 666<>
теперь в базу идут запросы:
Код
SELECT DISTINCT FILLPATIENT.* FROM FILLPATIENT/*NNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.I*/WHERE 666<> 4 ORDER BY KOLZAP DESC, DATLASTREC DESC SELECT COUNT( DISTINCT FILLPATIENT.ID) FROM FILLPATIENT /*NNER JOIN BMP ON BMP.IDPAT = FILLPATIENT.I*/WHERE 666<> 4
эти запросы в базе выполняются меньше 10 секунд, сам клиент их отрабатывает еще секунд 30
Дата: Пятница, 04.Апр.2014, 19:46 | Сообщение # 18
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
протестировано на версии 2.9.0.4 У нас один архивный 2Тб диск, поэтому выбор архивного диска не нужен какие запросы идут в базу можно узнать через Wireshark в Capture options указываем port 3050 в основном окне в фильтре пишем gdsdb.opcode==68
Сообщение отредактировал naves - Пятница, 04.Апр.2014, 19:48
Дата: Вторник, 08.Апр.2014, 19:17 | Сообщение # 19
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Ок, проверю на своей 3.9 версии :-) Еще скоро похоже придется и на другой 4.х что-то делать - ибо "модернизация" по совету №1 (редакция базы) сильно ускорила загрузку лабрантского сойта на версии 3.9, а 4.х уже также начинает тормозить и грузиться секунд по 15...
Дата: Вторник, 08.Апр.2014, 19:53 | Сообщение # 20
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
Кстати, понадобилось на рабочем месте врача запускать диру только на двух мониторах из трех. На третьем мониторе должна запускаться общеполиклиническая система для ведения электронных медицинских карт, чтобы описание снимка было не в дире, а в общей базе. В конфиге опция TWOMONITOR = 1 переключает использование все мониторов или только одного.
Пришлось искать в исполняемом файле pr1000.exe байт, который отвечает за количество используемых мониторов, и байт нашелся
Дата: Понедельник, 14.Апр.2014, 19:38 | Сообщение # 22
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
еще один раздражающий момент: версия 2,9 при просмотре снимков каждые 7 секунд посылает запрос в базу вида:
Код
SELECT COUNT(ID) FROM DICOMSTORAGEFILE WHERE DATACREATE BETWEEN '14.04.2014 00:00:00' AND '14.04.2014 23:59:59'
запрос выполняется около 200мс и на это время интерфейс и ввод текста подлагивает, что в конце рабочего дня начинает напрягать врачей. Посмотрел базу, в таблице нет индекса по столбцу условия, добавил индекс
Код
CREATE INDEX DICOMSTORAGEFILE_IDX1 ON DICOMSTORAGEFILE (DATACREATE);
теперь запрос выполняется меньше 1мс мелочь, а приятно
Дата: Четверг, 17.Апр.2014, 13:57 | Сообщение # 24
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
так же как вы исправляли процедуру FILLCOMPPATIENT через любую SQL-утилиту. new query и выполнить код если через IBExpert, то там пункт меню Tools> Script Executive
Дата: Вторник, 22.Апр.2014, 18:33 | Сообщение # 25
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
Сегодня отрубилось электричество, бесперебойник отрапортовал, что нет входного напряжения, и сервер выключился. А после уже не включался, выдавал сигнал POST и зависал на строке initialization usb controllers, и клавиатура не работала. Поменяли на новую материнку с Core i5 2500 @3,3GHz, 4Gb DDR3, Win 2003 загрузилась, поставили драйвера на новую сетевую карту, все взлетело.
Проверил для теста злосчастные запросы, время выполнения уменьшилось с 2.5 минут до 2 минут, что показывает, что скорость работы не сильно увеличится при замене процессора. И обновлять железо приходится не только для увеличения скорости работы.
Сообщение отредактировал naves - Вторник, 22.Апр.2014, 18:37
Дата: Четверг, 25.Июн.2015, 20:07 | Сообщение # 27
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
Цитатаnaves ()
еще один раздражающий момент: версия 2,9 при просмотре снимков каждые 7 секунд посылает запрос в базу
Проработали год, снова начались лаги, но уже в другом месте. С утра все работает нормально, но вечером начинает подвисать клиент, и опять через каждые 7 секунд
Раскопки в программе выявили проблемы с очередью отправленных снимков на DICOM-сервер. Лог отправленных снимков, почему-то хранится на сервере в файле D:\dicom\dicom.mdb В течение дня туда добавляются записи, но при этом не удаляются, и этот файл одновременно открыт на нескольких компах. Записи удаляются только в тот момент, когда дира запущена только на одном рабочем месте. Когда записей в этом файле становится больше 20, клиент начинает заметно виснуть.
одним из вариантов решения, на рабочем месте в настройках ODBC для DSN с именем DICOM исправить путь к файлу, и указать локальный файл. По идее, ни на что не влияет
еще не хватает индекса в базе, при открытии пациента минус еще 0,2 секунды
Код
CREATE INDEX DICOMSTORAGEFILE_DATAENDSEN_IDX ON DICOMSTORAGEFILE (DATAENDSEND)
Сообщение отредактировал naves - Четверг, 25.Июн.2015, 20:08
Дата: Четверг, 07.Сен.2017, 13:21 | Сообщение # 29
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
про DICOM на dira 2.9
там все штатно настраивалось через сервисное меню, добавляются DICOM-узлы, и указывается их тип. На сервере в каталоге программы должны быть утилиты DicomFileCreater.exe DicomFileStorage.exe TransmitDicom.exe Storage_SCP.exe
на моем сервере работало примерно так: после нажатия кнопки отправить на компе, клиентская дира обращается к TransmitDicom.exe через COM-объект винды, в настройках COM-обьектов указано что данный объект запускается на сервере. На самом сервере уже запускается этот екзешник, который генерит файл с описанием очереди storage.xml, потом запускается DicomFileCreater.exe, который собственно генерит DICOM-файлы, которые потом отправляются на сервер. Через ProcessExplorer было видно как в списке задач висит процесс TransmitDicom.exe. из старого трейса:
ReadFile \\URI-SRV002\e\bin\55676\113702.bin WriteFile D:\dicom\60173.tmp WriteFile C:\Documents and Settings\dev\Local Settings\Temp\1\DIC9E.tmp
TCP Connect
Как-то все это было запутанно, но как ни странно отправка работала. Иногда переставала работать отправка снимков, было видно что растет список в файле очереди. Помогало убивание процесса TransmitDicom с запуском его руками, после этого начиналась отправка снимков из очереди. Если сразу после перезапуска процесса на клиентской дире попробовать отправить снимок, то дира ругалась на ошибку COM-объекта.
Автоматической отправки, кстати, не было, только ручками по кнопке, но лаборанты были уже надрессированы ее нажимать. С ворклистами я застрял на этапе отсутствия кнопки ворклиста у лаборанта.
Дата: Пятница, 08.Сен.2017, 15:56 | Сообщение # 30
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Поэкспериментировал у себя.... Версия 3.0. На лаборанте. Формирование DICOM файлов через создание диска работает исправно, формирует в локальной папке. Участвует в процессе только DicomFileCreater.exe и только в той папке откуда он зареген.
По мануалу настроил сервис Storage, вбил туда настройки куда хочу кидать файлы - Эхо работает и ответку (по логу архива Conquest) вижу - типа коннект ГУД.
А вот данные туда не отправляются... И вообще не нашел кнопки отправки на ПАКС иль типа того. В версии 4 есть такая кнопка, а у нас нет... Как так... А в 2.9 значит есть такая кнопка?!
На сервере попробовал подредактировать указанные выше INI, библиотечки порегал - разницы не нашел. Заводил нового пациента, щелкал фотки, выходил в список основной. Тыкал - "Записать всех незаписанных" и ничего... никакой реакции нигде, даже логов не появилось новых. Кстати, в ЖУРНАЛАХ (через сервис) также ничего - пусто.
Пробовал на соседнем месте лаборанта с версией 4 - там вообще ошибка при настройке сервиса (видать какая-то библиотека отклячилась...) Зато кнопка там есть. Само собой не работает (та же ошибка вылетает.)
Дата: Понедельник, 11.Сен.2017, 06:09 | Сообщение # 31
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
А storage.INI - только на серваке есть, на лаборанте и докторе нету такого... Хотел ProcessMonitor-ом глянуть чего кто куда "делает" - а фиг, ПК лаборанта при его запуске в перезагрузку уходит. СТраннно...
Дата: Вторник, 12.Сен.2017, 16:08 | Сообщение # 32
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
ЦитатаBomberbug ()
Хотел ProcessMonitor-ом глянуть чего кто куда "делает" - а фиг, ПК лаборанта при его запуске в перезагрузку уходит.
было такое, есть ли решение даже не помню.
попробуйте взять TransmitDicom.exe из моей поставки, только для его работы нужно регить библиотеки, хз какие, и не перекроют ли их версии ваши библиотеки. http://s000.tinyupload.com/index.php?file_id=01271663745213675041 вот еще в компонентах что должно быть, см скрин
Дата: Вторник, 12.Сен.2017, 18:43 | Сообщение # 33
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Спасибо, возможно попробую.
По итогу настроил я и отправку на ПАКС и Ворклисты (на версии 3.ххх). Кстати, нашел эту кнопку Ворклиста - надо через сервис зайти и ткнуть на панель управления - там можно выбрать какие элементы отображать :-) По итогу Ворклист работает более менее удобоваримо, НО глюк обнаружился - проблеа со списком - после примерно 10-й строки фиг выберешь нужную - они "сами прыгать начинают" - короче какой-то косяк видимо софта :-( Ворклист в таком виде практически бесполезен (только фильтровать если по фамилии) - чтоб минимум строк было. Все настройки сделал в сервисах - отправка по кнопке работает (ее, кстати не было изначально), вот только кракозябры приходят в русских символах - еще в кодировке разобраться надо. Теперь надо на версии 4 попробовать наладить.
С библиотеками примерно понял чего и как регить - у меня все с лаборанта четко работает - и запись на носитель и отправка в данный момент
Сообщение отредактировал Bomberbug - Вторник, 12.Сен.2017, 18:44
В 4 версии также решил проблему с ошибкой (методом проб и ошибок) лист работает, отправка тоже :-) теперь мучаюсь с кодировкой 144, чтоб нормально в 192 перевести...
Дата: Воскресенье, 11.Фев.2018, 18:20 | Сообщение # 35
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
Цитатаnaves ()
Поменяли на новую материнку с Core i5 2500 @3,3GHz, 4Gb DDR3, Win 2003 загрузилась, поставили драйвера на новую сетевую карту, все взлетело.
прошло еще 4 года 2Тб Диски с архивом заполнились, установка нового 4Тб диска привела к занятному результату один новый диск в системе отображался как два 2Тб+1,6Тб Дело в том, что SATA-диски в биосе включены в режиме Compatible и работают как IDE. Прошлые попытки подсунуть SATA-драйвер и переключиться в биосе ни к чему кроме синего экрана не приводили. В итоге появились варианты: добавить новый пустой диск, чтобы создался новый диск-архива - колхоз, непонятно как потом доставать снимки. Сделать средствами винды динамический раздел на двух дисках - колхоз подключить диск через iSCSI c внешней хранилки - уже лучше. Вообще перенести сервер на виртуалку объединив с предыдущим пунктом - ентерпрайзненько, все как мы любим.
текущая база 322 Мб SELECT count(*) FROM FILLPATIENT 74182 пациентов SELECT count(*) FROM bmp; 104855 снимков
Дата: Понедельник, 12.Фев.2018, 17:40 | Сообщение # 36
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Цитатаnaves ()
2Тб+1,6Тб
На 64-винде ХР делал поддержку раздела цельного винта на 4Tb - для чего пришлось подсунуть спец.драйвер (для другого сервера). Работало более года без проблем - потом колхоз на Win7 нормальную запихал - там уж нет таких проблем с разделами.
Цитатаnaves ()
текущая база 322 Мб
Впечатляет...
naves, и все ж, спрашивал ранее, но руки так и не дошли - есть ли решение как экспорт устроить из файлов BIN?. Как автоматизировать процесс? Хочу на другой сервак все данные убрать вообще. Когда руками отправляю на сервер все нужные XML формируются, а как самому внешне инициировать процесс создания DICOM ? Не хватило у меня терпения до конца с этим вопросом разобраться... А вручную даже не буду - долго. Можно конечно автоматизировать создание написание "тэговой" части DICOM-файла, а там уж приаттачить изображение, но опять же это долгий вопрос отладки, нет у меня столько свободного времени.
Дата: Понедельник, 12.Фев.2018, 19:32 | Сообщение # 37
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
ЦитатаBomberbug ()
На 64-винде ХР делал поддержку раздела цельного винта на 4Tb
там проблема именно в IDE-режиме, SATA-драйвер никак не хотел работать. теперь работает с драйвером virtio в виртуалке
ЦитатаBomberbug ()
есть ли решение как экспорт устроить из файлов BIN?. Как автоматизировать процесс?
писать программу надо. мне лень. есть исходники от 2.6, embarcadero c++ builder надо немного изменить логику работы кнопки DicomSend и запускать ее в цикле для нужных ID исследований.
Дата: Вторник, 13.Фев.2018, 18:45 | Сообщение # 38
У вас сообщений: 711
engineer
OFFлайн
Российская Федерация
Россия
Цитатаnaves ()
логику работы кнопки DicomSend
А есть типа "алгоритм" - чего он делает, чтоб не тратить время изучая вопрос с нуля. Я больше с AutoIt заморачиваюсь, на Делфи только одну прикладную программу себе замутил. Если б знать последовательность - кто куда чего отправляет - дальше б докумекал.
Дата: Вторник, 13.Фев.2018, 19:06 | Сообщение # 39
У вас сообщений: 1068
программист
OFFлайн
Российская Федерация
Москва
дык, выше расписывал http://www.medteh.info/forum/33-4444-210257-16-1504779707 проблема не столько сконвертить bin в dicom, сколько прописать корректные теги с реквизитами пациента. а теги эти берутся из xml-файла, который генерит TransmitDicom.exe можно заморочиться и самому генерить xml-файлы и потом просто запускать DicomFileStorage.exe