Информационные системы


Каталог медицинских ресурсов MedLinks - Вся медицина в Интернет mednavigator.ru
FAQ

Эти вопросы и ответы представляют собой избранную часть переписки со Станиславом Кричмаром, которая велась (и ведется) в процессе внедрения системы учета льготных и бесплатных рецептов  в славном городе Кирове. Пользуясь случаем, разработчики выражают большую благодарность Станиславу за полезные замечания и советы, а также за философский взгляд на жизнь, который очень здорово помог ему и нам в процессе внедрения и доработки этой системы -).

 

ИС "Бесплатные рецепты"

СЕРВЕР. Нумерация зарегистрированных пользователей РЕЦЕПТОВ состоит из 4 цифровых символов. Поликлиники начинаются с 4***, аптеки с 0***. Правильно?

Угу. Кодирование ЛУ достаточно условно. Мы решили что пусть они будут с 400 и дальше. А код аптеки это ее номер.

СЕРВЕР. Каково назначение окна "Список препаратов, которые необходимо ввести" (может не дословно, но смысл такой)

Пока никакого -))). Это когда то у нас был сервис такого плана. Когда реестр был сильно не полный, аптеки могли передать список препаратов, которых не хватает, на сервер. Потом необходимость в отпала. Да и по телефону оказалось удобнее.

СЕРВЕР. Каково назначение поля "Дополнительные коды"?

Это поле предназначено для поликлиник и аптек, которые могут передавать чужие данные.
Например, есть больница. У нее три поликлиники. Ввод данных по всем поликлиникам происходит в разных местах, а передаются они из одного места (Из одной поликлиники). Тогда для этой поликлиники необходимо установить дополнительные коды, т.к. все записи,  полученные от пользователя, проверяются на код владельца.

СЕРВЕР. Назначение и обычные приемы использования пунктов "Даты отсылки данных" и "Даты получения данных"?

Дата получения данных показывает дату последнего получения чего либо. Актуально как для аптек, так и для поликлиник. Дата отсылки данных это тоже дата последнего сеанса связи, когда все из постового ящика передалось.
Если их не трогать они совпадают. Но дата отсылки данных служит для контроля рассылки справочной информации. Если данные изменялись после этой даты - они отсылаются. Соответственно ее можно исправить!

Префикс номера рецепта. Он привязан к ЛПУ и аптеке или эта связка не очень жесткая?

У нас в городе существует система, когда каждое ЛПУ имеет свой префикс (серию) для рецептов. Он (префикс) жестко привязан к ЛПУ. К аптекам он никакого отношения не имеет. Вы можете сделать по-другому.

СЕРВЕР.  Справочник групп спец. препаратов. Размерность поля "Наименование" = 20 символам. Так и задумано?

Да -))). Если мало. Можно расширить

Справочник бесплатных лек. препаратов. Забыл смысл ‘*’ перед наименованием.

Никакого !!! Это сотрудницы в горздраве стали помечать препараты, которые не попали в текущий приказ (исключены из списка) ‘*’ в начале имени и НИКОМУ об этом не сказали. А я узнал об этом через ГОД наверно!!! Все удивлялся чего они так делают -((((
Для этой цели служит ключ “В текущем списке льготных и бесплатных препаратов.” Препараты из списка удалять нежелательно., т.к. они закодированы. Просто снимается этот ключ и все. Тем более что практически наверняка их будут отпускать позднее по индивидуальным разрешениям.

Код препарата. Исходя из чего кодировали?

Первоначально исходя их приказа, как я понимаю. Потом наверно как бог на душу положит. Это делают специалисты горздрава из каких то своих соображений. Для работоспособности системы – это все равно -).

При вводе нового препарата при выборе финансирование из статей, не берет выбранную статью (код). Чем ставится?

Необходимо отметить нужные записи (ctrl-enter) а потом нажать кнопку выбора со стрелочкой. А вообще это поле для информации аптекам и ЛПУ. Проверки по нему не ведутся. И еще его можно ввести руками -)))

При вводе нового препарата необходимо встать на наименование группы (или все равно где, если совсем новое), выбрать пункт "Добавить" и отредактировать поля с обязательной коррекцией поля "Разновидность". Так?

Как угодно на самом деле

Каким образом, кем (чем) и когда заполняется поле "Средняя розничная цена"?

Это сделано для получения оценочной отчетности по рецептам. Работники горздрава вносят его по данным “Аптечной справки”. После этого можно посчитать суммы очереди рецептов, суммы отпущенных рецептов по средним ценам, ну и соответственно экономию и т.д.

Справочник специальностей врачей. Код идет по порядку, а порядок списка откуда брали?

Справочник специальностей врачей нам просто дали в виде списка. У грздрава был глобальный план по его использованию, а дело кончилось ничем. Сейчас он не задействован.

Выписанные рецепты. Это, должно быть, информация, поступающая из ЛПУ. Так?

Да

Полученные рецепты. Это, должно быть, информация, поступающая из аптек. Так?

Да

СЕРВЕР. В списке пользователей я удалил почти всех (оставил 2 для примера). При удалении было сообщение, что некоторая информация, связанная с удаленными клиентами, останется в базе невостребованной. Что и где посмотреть, чтобы почистить руками?

А ничего наверно. Предупреждение касается рецептов, которые ссылаются на эту аптеку или это ЛУ. Рецепты не удаляются естественно при удалении пользователей. Все рецепты хранятся в файлах. Выписанные - dbfs\rb_YYYY_MM.*, проданные dbfs\rp_YYYY_MM.*. Где YYYY это год, MM - месяц. Эти файлы можно просто удалить.

 «Удалить продажи в выписанных рецептов» и «Обновить продажи в выписанных рецептов». Когда может возникнуть необходимость воспользоваться этими пунктами? Т.е. для чего они?

Эти пункты переинициализируют продажи (это видно из названия -))))

Они нужны при возникновении сбоев или значительных ошибок в продажах выписанных рецептов.

Изменяется только эта информация (продажи в выписке) и больше ничего. Сбои к сожалению редко но бывают.

АПТЕКА. Справочники. Данные списки не редактируемые? Вся информация поступает с сервера?

Да

Подразумевает ли это, что в отдельно взятой аптеке будет иметься информация о продаже лекарств пациентам и по другим аптекам?

Нет, этого не подразумевается. Такая задача просто не стояла. Аптека получает все кодификаторы и может получать реестр льготников с сервера, если его будут рассылать.

А информация о выписанных рецептах с любого ЛПУ?

Эта информация тоже только на сервере. Аптекам она пока не нужна.

Префикс номера рецепта. Это вообще уникальная вещь во всей структуре баз или не очень? У нас на данный момент в ходу находятся рецепты с 4 и 5 значными префиксами. Их не много, но они есть. Можно, например, вводить последние 2 знака.
Количество отпечатанных рецептов с префиксами из 2 символов большое, но я пока не владею информацией на счет того, что если в ЛПУ попадут рецепты с более чем 1 одинаковым префиксом. Как быть в этой ситуации?
В справочнике пользователей префикс сменить можно. Справочник всем разослать. А если придет некто позже с рецептом со старым префиксом? Что будет при вводе рецепта в аптеке? Выскочит новый! Т.е вы исходили из того, что префикс это навечно?

Ситуация такая. В системе префикс жестко привязан к ЛПУ. Т.е. при выборе ЛПУ в аптеке префикс становится автоматом. Выбирать ЛПУ можно любое.

ЛУ.  Что запускать и как? App_gun.exe - не понял, что за параметры ему нужны и для чего он. Rb.exe - показывает заставку и все. вообще ничего не пишет!

Клиент для поликлиник изначально предназначен для работы в сети. При запуске ему необходим параметр для ссылки на сеть например rb.exe /P=g:\app\rb_net Т.е. необходимо иметь сетевое приложение (например g:\app\rb_net) и приложение для рабочей станции (например g:\app\rb_ws).

Можно запустить все это и просто в одном каталоге, Но в этом случае доступ из других мест к данным будет блокирован.

А можно еще, кстати, просто задать параметр /P=<ляляля> на несуществующий диск сетевой должна поругаться и спросить путь.

App_Gun.exe предназначена для автоматического распространения приложений в сети. Вызов идет примерно такой

c:\rb_ws>g:\app\rb_net\app_gun /A=rb.exe /S=g:\app\rb_net /T=.....

Ключи там описаны. Что происходит: это самое App_Gun сравнивает длину файлов App_Gun.Key на локальной машине и на сетевом диске. Если она разная, то с сетевого диска копируются на локальную машину все файлы указанные в App_Gun.ini. после этого запускается приложение на локальной машине. Когда рабочих станций много такая утилита позволяет не обходить их все, чтобы поменять версию. Необходимо просто выложить все на сеть и изменить app_Gun.key.

АПТЕКА. Настроил тестового пользователя на сервере. Провел сеанс связи: запросил подготовленные данные с сервера. Коннект хороший, все принял, положил куда надо. Теперь принятое лежит в архивах и не движется:) Чего надо сделать, чтоб программа обработала принятые сообщения? arj лежит везде, где надо и не надо:))

Arj скорее всего нет -))) Стандартно arj.exe ищется в каталоге JION_REC на рабочей станции. Если не найден, то выдается предупреждение и он ищется в путях. Так что пропиши путь к arj или положи в System.

СЕРВЕР. Ситуация такая: грохнул все файлы *.cdx, запустил программу. При попытке пойти в справочники-список препаратов по льготным рецептам ошибка! Ладно. Запускаю связь - разослать всем все. После этого захожу в справочник: все прекрасно. Т.о. индекс не создается (если его нет) при обращении к справочнику препаратов. Для чего я это все делал собственно: пытался в VFP6.0 открыть базу u4_rlec.dbf и программно убрать все звездочки из полей. Все прошло удачно, но вот файл после этого программа ни в какую не желает использовать. Если он сделан 5 версией, то 6 что-то не так туда пишет?

Индекс должен создаваться, если его нет.

Если это не так то это ошибка .

Скорее всего файлы просто помечены как Read only. Это происходит после копирования например с CD.-)))

АПТЕКА. Файл Ra.ini. При однопользовательском варианте строка такая *Net=1, а при многопользовательском какие параметры вызова экзешника?

При многопользовательском все как всегда

1) создать каталог сетевого приложения

2) запустить ra.exe с параметром

ra.exe /P=<сетевой каталог>

там на эту тему есть файл _readme.txt

АПТЕКА. Файл Ra.ini. Справочники -> Список меток рецептов. Для чего? Когда это используется у Вас?

Это сделано по просьбе аптек.

Каждому рецепту можно присвоить несколько меток, а потом фильтровать в отчетах рецепты с этими метками. Они это используют в частности, чтобы разбить рецепты по группам лекарств каких-то своих и группам больных. В последних версиях мы эту функцию убрали.

АПТЕКА. Файл Ra.ini. Рецепты -> Ввод нового. Забыл смысл 3х кратного поля количество-цена-сумма.

Может быть один препарат по разным ценам. Одна упаковка по одной цене, другая по другой.

Для аптек ОЧЕНЬ актуально (по крайней мере, у нас-)))). Потом каждая цена обрабатывается в отчетах.

АПТЕКА. Необходимо ли вводить данные на пациента в каждом рецепте.?

Да в общем нет. Это необходимо, только если аптека ведет учет пациентов.

>АПТЕКА. Сервис -> Информация. Закладки имеют информационный смысл? Т.е. на Пользователе у меня везде пусто. Так и надо?

Это только для работы в сети и то для администратора или продвинутого пользователя. Это во всех придложениях. Там информация о системе , памяти и т.д.

АПТЕКА. Для проверки придется и вторую связную программу ставить. Ее достаточно инсталлировать и у клиентов в ini файликах поправить, или ее еще надо настраивать?

Да по моему нет.

ЛУ. Установлено Recept=1
А если не разрешено, то что будет? (не будет?)

Не надо, не нажимайте на большую красную кнопку :-)))

Не будет я думаю ничего.

СЕРВЕР. Есть список групп спец. препаратов. Я такого не заметил в клиентах. Какое его предназначение и обычное использование?

Попросили сделать они сами чтобы группировать препараты самим по их критериям. Это проявляется только в отчетах.

По поводу префиксов. Сегодня вводил поликлиники и оказалось, что у нас в основном 3-4 префикса на город. Т.е. одинаковый префикс на несколько учреждений. После этого я ввел двух человек в виндовского клиента. Посмотрел по всем отчетам: НИГДЕ НЕ ЗАМЕТИЛ НЕ СООТВЕТСТВИЯ. Значит, в принципе можно иметь 1 префикс на все ЛПУ, но нельзя иметь несколько префиксов на 1 ЛПУ? Так? Если так, то нас это устраивает.

Угу

Передал данные на сервер. Все путем. НЕСООТВЕТСТВИЯ НЕ ЗАМЕЧЕНО.

Ок -)

При вводе рецепта (в обоих клиентах) не замечено, где же фигурируют льготные группы? Как их ввести?

Льготные группы актуальны как для поликлиник, так и для аптек. Они нужны как и все остальное для статистики всякой.

АПТЕКА. При вводе нового рецепта, если у препарата стоит тип финансирования "1,3" происходит ошибка. Требуется ввод только одного значения.
Вроде ты говорил, что это вообще то информационное поле и туда можно вносить несколько значений. Так же не проходит, если оставить это поле пустым. Это, в принципе, для информации. У нас вероятно будет 1 значение стоять, так я просто автоматом в это поле забью цифру и все.

Нет, все на так.

При выборе лек. препарата встают группы финансирования, указанные в справочнике лек. препаратов.

Там эти группы для справки.

А вот в рецепте необходимо проставить конкретную и только одну группу финансирования (может и не такую, какая была в справочнике).

Это ВАЖНО, это деньги, из которых оплачивают рецепт.

Потом аптеки суммируют это все по разным группам и считают ДЕНЬГИ -))).

Финансирований у вас будет как минимум 2: местное и федеральное.

При выборе лек. препарата встают группы финансирования, указанные в справочнике лек. препаратов. Там эти группы для справки. А вот в рецепте необходимо проставить конкретную и только одну группу финансирования (может и не такую какая была в справочнике).

Т.е. при выборе необходимой группы финансирования в рецепте автоматически проставится то число процентов, которое связанно с этой группой? Или проценты сами по себе?

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

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

1) ЛПУ могут вести реестры льготников и передавать их на сервер (а потом это все может рассылаться и по аптекам).

2) Аптеки могут вести свои реестры независимо от никого.

3) ЛПУ могут вычислять льготников по выписке. Т.е. - если человек выписал рецепт, значит он льготник.

Поподробнее, для совсем глупого:) На сервер я ставлю полностью, к примеру, REC_APT_WIN, все настраиваю для работы, в том числе - Астру.
На клиенте все ставлю полностью так же, но  экзешник вызываю с параметром /P=путь_к_каталогу_DBFS со слэшем? Далее  работаю на клиенте. А чтобы звонить - иду на сервер и его экзешником звоню. Так что ли я понял?

Неа -)

Сервер

g:\app\rb\

g:\app\rb\dbfs

g:\app\rb\reso

..........

Рабочая станция

c:\rb\

c:\rb\dbfs (он здесь пустой).

c:\rb\.................

................

Вызов

c:\rb\rb.exe /P=g:\app\rb

Все настройки связи для каждой рабочей станции индивидуальные. Т.е.рабочая станция с модемом настраивается как надо и звонит с себя Другие рабочие станции настроены по другому, т.к. астра настроена на конкретный модем.

Еще вопрос нарисовался: Короче так, пришли ко мне из аптек тренироваться и в процессе ввода выяснилось, что оказывается есть рецепты, так же льготные, но ex tempore, т.е. изготовленные в аптеке. Они могут состоять из нескольких компонентов. Есть ли такое у вас? И если есть, то как они учитываются? Если программой, то как они введены (обозваны) ???

Угу у нас тоже возникал такой вопрос.

Решили его организационно.

1. Часть рецептов не вносится (как они учитываются не знаю -((()

2. Часть рецептов вносится, но лек. препарат стоит "индивидуальное изготовление", т.е. в эту категорию попадает все. Цену и сумму ставят реальную с рецепта. Сделано это для учета денег.

Наше решение по поводу идентификации пациентов в рецепте. На основании приказа МЗ РФ N 328 от 23.08.99 прил. N 6 на руках у каждого больного, нуждающегося в льготном обеспечении лекарствами д.б. "Карта учета льготного отпуска лекарственных средств". В этой карте, по мимо прочего, есть такие пункты, как: льгота или шифр льготы, ФИО (ну это на рецепте есть...), серия и номер полиса ОМС. При получении лекарства в аптеке в этой карте аптека расписывается, что продала и за сколько. Попутно эти данные можно списать на рецепт (или пусть врач пишет). В общем, мы решили учет по серии и номеру полиса. В программе есть поля для ввода серии и номера паспорта, нужно просто их обозвать по-другому и размерность увеличить. + дополнительно возможность вводить льготу (шифр). Вот и все. Ну и конечно эту же базу пациентов из аптеки пересылать нам на сервер автоматом. Вот предварительно так.

Ок. Все это можно реализовать без проблем и переделок.

При работе приложений в сети рабочие станции запускаются с параметром /P=Path..... а возможно ли запускать с использованием UNC путей?
Типа так: . /P=\\сomp1\....
Далее: если вдруг рабочую станцию запустили, а сеть оторвана, то программа естественно попросит указать, где находится каталог. Если не указывать, а при следующем запуске, предположим, сеть восстановилась, то ничего не будет спрошено? Путь то ведь указан в командной строке. Если все так, то это конечно здорово, но... все это относится только к той ситуации, когда сетевой диск восстановлен. Иногда бывает так, что при отсутствии сети на сообщение "Не найден сетевой ресурс такой то, восстанавливать при следующем входе в систему?" юзер жмет "Нет" и ставит крест на попытках все уладить по телефону... Не все такие сообразительные, чтоб подсоединить сетевой ресурс! Они имен то компьютеров своих не знают!! Вот где и становится необходимым использовать обращение к удаленному ресурсу не по назначенной букве, а по имени компа в сети. Твои мысли на этот счет?

Мысли такие.

Порядок обработки сетевого пути такой.

1) Опрашивается путь указанный в строке параметров /P= Если найден, то все ок.

2) Если не найдено, то происходит попытка восстановить последний использованный путь.

Если он восстановлен и существует, то все ок.

3) Если не найдено, то выводится запрос на выбор пути.

Если путь тем или иным способом найден и произведен вход в систему, то путь сохраняется.

Т.е., если путь в строке параметров становится недоступен, то достаточно ввести один раз новый путь. Он запомнится и далее будет вход по этому пути без вопросов. (Но до тех пор пока недоступен путь из строки параметров). Т.е. можно вообще не указывать параметр /P=, а только один раз ввести путь к сети. -)

Что касается UNC путей, то к сожалению все работает, но сильно глюкает.

Т.е. есть места, где проблем нет вообще никогда, а есть, где он просто не видит сеть и все!

Причина похоже в версиях виндов как клиента, так и сервера. Самое плохое, что он может потерять UNC путь посреди работы..- последствия соответствующие. Сообщения об ошибках, тетки в панике и т.д. Так что мы просто ставим в autoexec команду net use и телемаркет -)))

Если диск есть, то она ругнется, но он есть.

Если нет, то он опять есть.

О средних ценах. Цены они берут из отчета программы или сами как то вычисляют? В поликлиниках кто и где занимается вводом рецептов? Как это практически реализовано? Рецепт то остается на руках у больного.

У нас пишут два экземпляра. Один больному, один в компьютер заносят.

Цены средние вносятся в реестр препаратов на сервере и рассылаются всем прямо с реестром.

После этого все имеют возможность получить сумы по этим ценам.

В ЛУ, например, они просто ставят (будут ставить) кол-во упаковок

Аналогично в аптеках получают суммы на рецепты стоящие в очереди и т.д.

Кстати -) я просто хочу обратить внимание, что в клиенте аптеки можно вести учет рецептов независимо от сервера. Там есть в настройке крыжик. Эти рецепты никуда не передаются. Это я так на всякий случай, вдруг это еще неизвестный факт.

Скажи, вот если бы перед тобой стояла задача обеспечить учет рецептов, скажем, в области в целом, то лучше сделать отдельно все для них или же в имеющемся комплекте? Если "За", то вроде только добавлять клиентов и все... Если "Против", то в отчетах будет смесь данных города и другого региона...
Как бы ты поступил?

А не знаю -)' Зависит от задачи. Если нет необходимости сливать все вместе (город и область) то раздельные системы (сервера) и вперед. Если можно все в одной куче, то просто добавлять клиентов и тоже все хорошо.

Если нужно и все вместе и разделить, то в общем нужен один сервер и переделать (расширить) структуру пользователей и отчетную часть с целью группировки например по районам или как-то там.

В принципе, если у Вас такая задача стоит, то можем обсудить - думаю рано или поздно такое делать и нам придется.

АПТЕКА. Как происходит идеология обновления реестра пациентов в аптеке при получении его с сервера? Если этого пациента (его код + код ЛПУ) нет - добавляется, если есть - обновляется информация. Реестр потихоньку растет. Так? Или иначе?

Все так и есть.

 

 

ИС "Аптечная справка" 

СЕРВЕР. Справочник - пользователи системы. Это что за список?

Пользователи системы это справочник пользователей, которые просто могут получать справку по городу для информации. Но это не аптеки.

СЕРВЕР. Меню “Информация -> Ввод данных по аптеке.”

Это, как я помню, ты говорил, что можно по тел. позвонить и за них все проставить. Так?
Звезда - значит препарат есть в наличии. Так?
Просмотр цен. Это где их просмотреть?

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

СЕРВЕР. Информация - Общий список лек. препаратов.
При редактировании или добавлении в левом окне показан список аптек. Это где есть препарат? Чисто информационное окно?

Нет, почему можно там и править (нажать Enter). Пользуются правда этим нечасто.

СЕРВЕР. МН наименование можно только одно ввести?

Да

СЕРВЕР. Отметить/Отменить - все будет относится к выбранной аптеке из левого списка? Это автоматически пропишет/снимет метки "бесплатно", "асс. минимум" и "в списке цен" для всех препаратов конкретной аптеки?

Нет, появятся метки, есть во всех аптеках или нет во всех аптеках. "бесплатно", "асс. минимум" и "в списке цен" определяется настройками справочника для данного препарата. Они одинаковые у всех аптек.

СЕРВЕР. Подготовка данных для рассылки.
Рассылка файлов - это чего-либо послать по выбору?

Да. Но пользуются этим мало.

СЕРВЕР. Справка по аптеке - не понял смысл посылки аптеке ее же справки?

Актуально когда в аптеке чего-либо случается или подключается новая аптека, которая уже давала справку по телефону. Эта штука автоматом инициализирует список наличия лекарств в аптеке.

СЕРВЕР. Полные справочники - при выборе кого-либо из списка пишет, что справочники не подготовленны. При нажатии "Подготовить архивы и справку" наблюдается некая плодотворная деятельность софта. Но результат тот же. В каталоге \mailbox\ пусто. Пользователей нет. Чем их создавать? Руками каждого администратором Астры?

Да в аптечной справке каждого пользователя необходимо создавать руками -(((

Для каждой аптеки два пользователя 0XXX, и 1XXX (XXX код аптеки в справочнике)

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

АПТЕКА. На сервере каталог с серверной частью расшарил. На клиенте подцепил шару как диск S. На клиенте удалил каталоги DBFS и rec_join. На клиенте командная строка запуска: c:\SA\u4.exe /P=s:\
При запуске ругается на несанкционированный запуск. Показывал договор. Не помогает:((
В ini файле какой должен быть код клиента? Она ведь звонить не будет? Правильно?
Какое имя должно быть?
Параметр Net=0 оставить как есть?
SprCode=1 (что ему за код нужен? тоже регистрировать на сервере? Это первое раб. место просто... далее будет 2 и 3)
SprName = СИЦ 1 (это, видимо, непринципиально)
Net= 1
InfoUser= 0
ExpUser = 1
*JoinCmd= Astra
*JoinCmd= sMail
JoinCmd= _Usr_Join.bat
JoinFlgS=SendGo.Key
DbfFileExp = U4_DbfExp.dbf
DbfFileImp = U4_DbfImp.dbf

Договор показать мало. Надо погладить и говорить ласково, а еще лучше пообещать протереть спиртом. Там в общем все подробно примере прямо в файле uu.ini и описано

* SprCode - код клиента согласно справочнику центральной системы

* SprName - имя клиента

* Net - pабота в сети

* InfoUser - это просто клиент просмотра справки

* ExpUser - это пользователь с расширенными возможностями анализа

*

* JoinCmd - имя программы связи

* допустимые значения

* astra - вызывается Astra.exe

* sMail - вызывается sMail.exe

* <имя приложения или командный файл> - вызывается чего указано

* ВСЕ приложения выполняются в каталоге m.MainPath\Join\

* на рабочей станции, так что путь необходимо

* указывать относительно этого каталога

* Например: JoinCmd=..\_mail.bat

*

* JoinFlgS - имя файла флага, который создается перед вызовом программы связи.

* Имя задается относительно каталога m.MainPath\Join\ на

* рабочей станции. Так что для создания файла в другом месте

* необходимо указывать путь относительно этог каталога

* Например: JoinFlgS = ..\_send.key

* После выполнения программы связи, файл флага удаляется.

*

* DbfFileImp - наименование фала из которого осуществляется импорт

* если не указано, то предлагается выбрать файл

* DbfFileExp - наименование фала в который осуществляется экспорт

* если не указано, то предлагается выбрать файл

Также есть Redame.txt. При работе с одной локальной копией Net=0.

Имя значения не имеет.

АПТЕКА. Батник для запуска
u4.exe/P=/P=s:\ /U=1

Нада не так

u4.exe /P=s:\ /U=1

Двойнойключ/P=/P=<> возникает только при запуске через App_Gun

СЕРВЕР. При вводе новой аптеки пунктики:
[ ] работает с ценами
[ ] новая версия клиента
Какое их предназначение? Клиент у нас какой?

Это остатки от нашей бурной жизни. Надо поставить у всех кресты на этих крыжиках и не думать.

СЕРВЕР. Мала размерность адреса... Поле большое, а все равно обрезает:( Некоторые ФИО так же большие есть... но это пока не принципиально)

Понял

АПТЕКА. Связь.
- [*] передавать справку
- Стандартный сеанс связи
- Получить полную справку и цены по городу.
Вкратце об этих пунктах чего-нибудь...

- Стандартный сеанс связи

Стандартный сеанс связи идет на сервер через клиента с кодом 0XXX. Через этого клиента в аптеку рассылаются все реестры, дополнения к справочникам препаратов и т.д. Аптека посылает через него свою справку

Если отключить "[*] передавать справку" то из аптеки ничего не уходит а происходит только чтение данных текущих с сервера.

Это основной тип работы. Быстрая передача справки на сервер и получение необходимой информации.

- Получить полную справку и цены по городу.

Этот сеанс идет через серверного пользователя 1XXX. Для этих пользователей на сервере в каталогах /S/ рассылаются полная справка и цены по городу. Это большой объем достаточно. Качается долго. Вот поэтому и разделили. Аптеки берут справку по городу не часто. Только когда им надо.

СЕРВЕР. Астра постоянно запущена. Периодически ее останавливаем, просим выйти из программы операторов на справке, запускаем сервер и выполняем чтение данных. Снова запускаем Астру. Операторы могут вновь подключиться к базе данных сервера. Правильно?

Если готовим данные для рассылки, Астру отрубаем, а локальные пользователи могут остаться в сети? И для чтения и для подготовки данных локальные пользователи - операторы могут из U7 не выходить.

СЕРВЕР. C какого места в сети брать реестры? Что с ними делать и как подключать?

http://www.drugreg.ru/Bases/default.asp

Есть скрипт для ворда конвертирования файла реестра гос. цен в таблицу, а потом в Exel

СЕРВЕР. А как конвертировать гос. реестр.

Конвертирование гос. реестра цен происходит следующим образом.

1) Взять файл реестра цен или дополнений к нему (файлы с сортировкой по МН наименованию).

2) Удалить заголовок файла и все заголовки страниц. Я для этого и последующих действий понаписал кучу макросов в Ворде. (см attach)

Это делается с помощью макроса TBL_PageDel

3) Разбить этот файл на куски примерно по 10 страниц. Получится куча файлов, которые необходимо обрабатывать по отдельности, т.к. время обработки одного файла возрастает неимоверно с увеличением его размера. Оптимальное значение – это как раз страниц 10 (или меньше).

4) Для каждого файла выполнить макрос TBL_Tran. Этот макрос превращает вордовский текст в таблицу. Эти нехорошие люди постарались максимально усложнить задачу извлечения данных, поэтому таблица в word сформирована табуляциями -(((. Приходится извращаться.

5) Объединить все файлы таблиц в один и перенести итоговую таблицу в Exel.

6) Отформатировать в EXEL таблицу, дать следующие заголовки столбцам

1ст. мн наименование - NAME_NLEC

2ст. наименование - NAME_LEC

3ст. упаковка - NAME_TAR

4ст. в упаковке - KOL_UP

5ст. производитель - NAME_PR

6ст. штрих код - EAN13

7ст. номер регистрации - NUMRU

8ст. цена в рублях - CEN_RUB

9ст. цена в валюте - CEN_VAL

Установить ширину колонок побольше (автоформат, а потом еще прибавить пару пунктов)

Пример такого файла посылаю

7) Сохранить эту таблицу как файл dbase IV. Этот файл потом можно импортировать в систему.

Вот и все.

Вся процедура для реестра занимает где-то часов 5. У меня сейчас ее делают специалисты в информационном центре.

Раньше делал сам. Основное время уходит на конвертирование текста вордовского в таблицы. Не надо разбивать на очень большие куски исходный файл, т.к. время конвертирования нелинейно и СИЛЬНО возрастает с увеличением файла.

Вот такую методу мы используем. Есть подозрение, что можно проще. Но мы не знаем как-(((

Может быть вы придумаете.