Автор: Азамат Габсалямов
Ниже представлены несколько вариантов стандартных ЭПМЗ для дерматовенеролога:
1. Консультация дерматовенеролога
Экранная форма:
При выводе на печать для врача:
При выводе на печать для пациента (сокращенный вариант):
2. Осмотр, консультация дерматовенеролога
Экранная форма:
При выводе на печать для пациента (сокращенный вариант):
3. Консультация дерматовенеролога
Экранная форма:
При выводе на печать для врача:
При выводе на печать для пациента (сокращенный вариант):
4. Осмотр, консультация дерматовенеролога
Экранная форма:
При выводе на печать для врача:
При выводе на печать для пациента (сокращенный вариант):
5. Первичный прием дерматолога-косметолога
Экранная форма:
При выводе на печать для врача:
При выводе на печать для пациента (сокращенный вариант):
6. Осмотр дерматовенеролога
Экранная форма:
При выводе на печать для врача:
При выводе на печать для пациента (сокращенный вариант):
Защищено: Настройка и подключение WEB отчеты
Установка PHP (FastCGI) (СЕРВЕР РЕПЛИКАЦИИ)
Установка модуля urlrewrite2 для IIS (Сервер репликации)
Запускаем установщик. Установщик предложит установить модуль переопределения веб-адресов urlrewrite.
Веб-сервер IIS (Сервер репликации)
Открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Находим в списке раздел Службы IIS. Раскрываем его и выбираем нужные компоненты:
Базовый набор:
Безопасность. Выбираем все компоненты кроме «Проверка подлинности с сопоставлением сертификата …».
Компоненты разработки приложений. CGI, для последующей установки PHP.
Общие функции HTTP. Отмечаем все пункты.
Проверка работоспособности и диагностика. Выбираем «Ведение журнала HTTP» и «Монитор запросов».
Функции повышения быстродействия. Отмечаем все пункты.
Средства управления веб-сайтом. Отмечаем только «Консоль управления IIS».
Когда все пункты выбраны, нажимаем Ок. После завершения установки обязательно перезагружаемся!
По умолчанию месторасположение веб-сайтов папкаc:\inetpub\wwwroot
Исправить значения счетчиков
Значение счетчиков таблиц сбивается по разным причинам, одной из них может быть, что мы занесли услуги, что то неверно импортировалось и мы удалили из базы (НЕ через интерфейс программы) их. Поэтому текущее значение счетчика будет отличаться от необходимого нам значения. Делаем следующий запрос, где указываем название нашей таблицы
DBCC CHECKIDENT ('имя_вашей_таблицы', RESEED, новое_значение_идентификатора); GO
ПРИМ: широко используется если база является составляющей реплицируемых таблиц
Проверить значения identity в таблицах базы
Открываем Среду Microsoft Sql Server Management Studio
Если нам необходимо проверить счетчики по всем таблицам, то копируем запрос
select name, IDENT_CURRENT(name) from sys.tables where type_desc = 'USER_TABLE' order by name asc
В результате получаем значения primary key во всех таблицах базы
В случае, если нам необходимо узнать значение у конкретной таблицы, то можно воспользоваться следующим запросом:
DBCC CHECKIDENT ('имя_вашей_таблицы', NORESEED); GO
ВАЖНО в клиниках, где настроены триггеры репликации необходимо чтобы значения входили в тот интервал id, который был изначально настроен для конкретной базы данных
Переместить identity на последнее значение id
ВНИМАНИЕ! Скрипт работает только для клиентов, у которых НЕТ репликации
Заходим в SQL Server и делаем бэкап
Далее выполняем скрипт:
set nocount on; declare @id int; declare @maxid dt_id; declare @name varchar(250); declare @i int; declare @sql nvarchar(max); declare cur cursor local forward_only static for select o.id , o.name from sysobjects o join syscolumns c on (c.id = o.id) and (c.name = 'id') and (c.status & 0x80 = 0x80) where o.type = 'u' order by o.name; open cur; fetch next from cur into @id, @name; set @i = 0; while (@@fetch_status = 0) begin set @i = @i + 1; print str(@i) + ' ' + str(@id) + ' ' + @name; set @sql = N'select @maxid = max(id) from ' + @name; exec sp_executesql @sql, N'@maxid int out', @maxid out; if @maxid is not null dbcc checkident(@name, reseed, @maxid); fetch next from cur into @id, @name; end;
Отчет прайс-лист (некорректно выводит данные)
Если клиент давний, то необходимо добавить новый отчет по прайсу (есть 2 варианта сплошной и каждая группа с новой строки). А также выполнить скрипт (открыв для этого SQL Server и сделав предварительно резервную копию базы)
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[get_services_list] ( @GroupId dbo.DT_ID ) RETURNS @price_list_table table (GroupCode varchar(200), GroupName varchar(500), GroupId integer, ServiceCode varchar(200), ServiceName varchar (500), BaseCost money, ServiceId integer) AS BEGIN --INSERT INTO @price_list_table(GroupId) VALUES (-555); IF ((SELECT COUNT(ID) FROM SERVICES WHERE ENABLED = 1 AND GROUPID = @GroupId) > 0) BEGIN INSERT INTO @price_list_table(GroupCode, GroupName, GroupId, ServiceCode, ServiceName, BaseCost, ServiceId) SELECT gs.code, gs.name, gs.id, s.code, s.name, s.basecost, s.id FROM groupservices gs LEFT JOIN services s ON s.groupid = gs.id WHERE gs.enabled = 1 AND s.enabled = 1 AND gs.ID = @GroupId ORDER BY s.CODE END; IF ((SELECT COUNT(ID) FROM groupservices WHERE ENABLED = 1 AND OWNER = @GroupId) > 0) BEGIN declare @xGroupId dbo.DT_ID; declare group_list cursor local forward_only static for select gs.id from GROUPSERVICES gs where gs.ENABLED = 1 AND gs.OWNER = @GroupId order by gs.ID open group_list; fetch next from group_list into @xGroupId; while @@FETCH_STATUS = 0 begin INSERT INTO @price_list_table(GroupCode, GroupName, GroupId, ServiceCode, ServiceName, BaseCost, ServiceId) SELECT * FROM dbo.get_services_list(@xGroupId) fetch next from group_list into @xGroupId; --if (@xGroupId > 17) -- break end; CLOSE group_list DEALLOCATE group_list END; RETURN; END GO