В более сложных случаях следует записать сообщение и ситуацию, в которой оно возникло и обратиться к разработчикам программы..
.
1. Общие сведения о программе.
ВНИМАНИЕ!
Перед прочтением данного документа следует ознакомиться с документами "Описание применения" и "Руководство оператора".
Автоматизированная система учета выбывших из стационара (условное обозначение КАРТА) предназначена для автоматизации процесса заполнения формы №066/у Минздрава и получения фиксированных отчетных форм.
Программа работает под управлением операционной системы MS DOS версии 3.1 и выше.
Перед первым запуском программы в файл AUTOEXEC.BAT необходимо включить запись:
SET CLIPPER=F50.
В файле CONFIG.SYS параметр FILES установить равным 50
(FILES=50).
Программа реализована на языке программирования Clipper Summer'87.
Программа выполняет следующие функции:
1. Ввод, хранение, коррекцию данных по выписанным из стационара больным;
2. Оформление печатных документов по данным о выписанных больных за отчетный период;
3. Настройку на структуру конкретного стационара.
3. Описание логической структуры программы КАРТА.
3.1 Общие сведения о структуре программы
Структура программы КАРТА представлена на рис.7.
Рис. 7. Логическая структура программы.
Программа состоит из 5 функциональных модулей функций и библиотеки функций.
Главный модуль выполняет следующие функции:
- инициализация глобальных переменных;
- ввод текущей даты;
- открытие всех рабочих областей с индексными файлами;
- организация главного меню.
Модуль ввода данных выполняет следующие функции:
- создание и ввод данных в новую КАРТУ;
- редактирование данных уже существующих КАРТ.
Модуль навигации организует просмотр БД по определенным пользователем условиям.
Модуль удаления удаляет из БД КАРТЫ, определенные пользователем.
Модуль отчетов формирует следующие отчеты:
- месячные по любому отделению;
- квартальные как по всему стационару, так и по любому его отделению:
1. Состав больных в стационаре, сроки и исход лечения;
2. Состав больных новорожденных, поступивших в возрасте 0-6 суток жизни и исход их лечения;
3. Хирургическая работа учреждений;
4. Распределение больных по возрасту и району;
5. Состав больных, выбывших в возрасте от 0 до 6 суток жизни;
6. Больные, переведенные в другие лечебные учреждения;
7. Нозология больных, переведенных из других стационаров;
8. Нозологическая таблица умерших;
9. Нозология больных умерших по возрастам;
10. Нозология умерших в возрасте от 0 до 6 дней жизни;
11. Операции умерших;
12. Нозология умерших до суток;
13. Нозология инфекционных заболеваний;
14. Распределение инфекционных заболеваний по отделениям;
15. Распределение выбывших иногородних больных по каналам госпитализации и отделениям больницы;
16. Число больных, переведенных в другие стационары, из них число новорожденных, переведенных в другие стационары, и число лиц, госпитализированных для обследования и оказавшихся здоровыми;
17. Число новорожденных, умерших в возрасте от 0-6 суток, число умерших в первые 24 часа после поступления в стационар: в возрасте 0-24 часа после рождения, до 1 года, в том числе от пневмонии;
18. Число больных инфарктом миокарда, поступивших в первые сутки от начала заболевания, число больных инфарктом миокарда, умерших в первые 24 часа после поступления в стационар;
19. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды.
Модуль настройки выполняет следующие функции:
- организация меню настройки;
- коррекция справочников по структуре стационара.
Вызов всех модулей второго уровня осуществляется из главного меню программы. Связь между отдельными модулями второго уровня осуществляется только по данным через глобальные переменные и файлы активной базы данных.
Работа программы во всех режимах кроме режима настройки детально описана в документе "Руководство оператора". Режим настройки является режимом администратора базы данных и описан в документе "Руководство системного программиста и администратора базы данных" в разделе "Настройка программы".
Исходный текст программы (всех модулей) находится в файле KARTA.PRG. Библиотека функций находится в файле LIB.OBJ. Справочники размещены в файле CODIF.DBF. Для получения загрузочного модуля необходимо набрать на клавиатуре следующую команду:
rtlink fi KARTA, lib lib terminal, clipper, extend, dbfntx
и нажать клавишу ENTER.
3.2 Описание алгоритма программы
Схема алгоритма работы программы представлена на рис. 8.
Для работы с Международным классификатором болезней (МКБ) использовалась функция MKB().
Для работы с каталогом операций использовалась функция CATALOG().
Рис. 8. Схема алгоритма работы программы.
Для работы со справочниками используются следующие функции:
- codif() - функция выбора альтернативы из вертикального меню, построенного на основе данных справочника.
- mempro(), codpic(), codtxt() - функции для экранного редактирования МЕМО - полей баз данных.
- extra() - функция восстановления текста выбранной альтернативы по ее номеру в справочнике.
- ins_pic() - функция добавления информации в справочник.
- del_pic() - функция удаления инфомации из справочника.
Для представления текста отчетного документа на экране используется функция viewer().
4. Используемые технические средства
Программа "КАРТА" предназначена для установки на персональных ЭВМ IBM PC XT/AT cо следующим набором периферийных устройств: принтер, дисплей с платой адаптера EGA\VGA, накопитель на жестком диске объемом не менее 80 Мб. Минимальный объем свободной оперативной памяти 540 Кб.
Для вызова программы следует набрать в командной строке:
=>karta
или выбрать файл karta.EXE с помощью «оболочки» типа 'NORTON COMMANDER' и нажать клавишу ENTER.
Входной информацией программы является следующая:
- данные, вводимые пользователем (см. "Руководство оператора");
- данные, хранящиеся в базе данных по пациентам (см. "Руководство системного программиста");
- текущая системная дата;
- данные, хранящиеся в справочных базах данных (см. "Руководство системного программиста").
Выходной информацией программы является следующая:
- данные, введенные пользователем в базу данных по пациентам (см. "Руководство системного программиста");
- документы, сформированные по введенным данным(см. "Руководство оператора");
.
Текст программы на языке Clipper Summer'87
Модуль: Karta.prg
*********************************************************************
* Название программы : "KARTA" *
* Дата последних изменений : 23.12.92 *
* Исходный текст : Clipper Summer'87 *
*********************************************************************
SET CONSOLE OFF
SET ESCAPE ON
SET MESSAGE TO 23 CENTER
SET BELL OF
SET DATE GERMAN
SET SCOREBOARD OFF
SET CONFIRM ON
SET WRAP ON
SET KEY -9 TO GO_MAIN && ПО F10 - ВОЗВРАТ В МЕHЮ
SET KEY -29 TO recon
init_lib() && Функция настройки для работы с библиотекой LIB29
t_qwerty=.T.
CLEAR
********************************************
* глобальные переменные программы
*******************************************
PUBLIC edit_index && .T.- редактировать номер ИБ нельзя
&& .F.- можно
edit_index=.F.
PUBLIC gotomain && принудительный возврат в главную процедуру
&& .T.- прервать внутренний цикл и вернуться в MAIN
gotomain=.F.
PUBLIC _today && Текущая дата работы
PUBLIC rec_num && Номер текущей записи
*******************************************
f1 = CHR(218) + CHR(196) + CHR(191) + CHR(179) + ;
CHR(217) + CHR(196) + CHR(192) + CHR(179)
f2 = CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186)
f3 = CHR(218) + CHR(196) + CHR(191) + CHR(179) + ;
CHR(180) + CHR(196) + CHR(195) + CHR(179)
f1_fon = CHR(218) + CHR(196) + CHR(191) + CHR(179) + ;
CHR(217) + CHR(196) + CHR(192) + CHR(179) + ;
CHR(178)
f2_fon = CHR(201) + CHR(205) + CHR(187) + CHR(186) + ;
CHR(188) + CHR(205) + CHR(200) + CHR(186) + ;
CHR(178)
dn_s=CHR(198)+CHR(205)+CHR(181)+CHR(179)+; && стыкуется с рамкой
CHR(217)+CHR(196)+CHR(192)+CHR(179) && по верхней границе
fon1=CHR(177)
fon2=CHR(32)
singl=CHR(218)+CHR(196)+CHR(191)+CHR(179)+;
CHR(217)+CHR(196)+CHR(192)+CHR(179)
doubl=CHR(201)+CHR(205)+CHR(187)+CHR(186)+;
CHR(188)+CHR(205)+CHR(200)+CHR(186)
IF .NOT. ISCOLOR()
color1="W+/N,N/W,W+/N,W/N,W/N" && для меню
color2="W/N,W+/N" && для gets
color3="W+/N,N/W" && для кодификаторов
color4="W/N,N/W" && для рамки каталога
color5="W/N,N/W" && для меню при редактировании
color6="W/N,W+/N" && для memed
color7=color2 && для шаблонов
color8="W/N,W+/N,N/W" && для HYPERTEXT 1-го уровня
color9="W/N,W+/N,N/W" && для HYPERTEXT 2-го уровня
ELSE
color1="W+/B,N/G,BG/N,RB+/B,BG/B"
color2="BG/B,GR+/B,BG/B,RB+/B,BG/B"
color3="N/W,W+/GR"
color4="N/GR,W+/GR"
color5="G+/B,N/W,BG/B,RB+/B,+GR/B"
color6="W+/GR,N+/W"
color7="N/GR,+GR/GR"
color8="W+/B,G+/B,N/W"
color9="B/G,W+/G,W+/N"
ENDIF
******************** ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ **********************
PRIVATE _NUM_IB && Номер истории болезни больного
PRIVATE _FAM && Фамилия больного
_FAM=SPACE(25)
PRIVATE _F_S_NAME && Имя,Отчество больного
PRIVATE _DATE_B && Дата рождения больного
PRIVATE time_B && Время рождения