PDA-0539 (Разработка автоматизированной системы учета выбывших из стационара), страница 9

2016-07-31СтудИзба

Описание файла

Документ из архива "Разработка автоматизированной системы учета выбывших из стационара", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "PDA-0539"

Текст 9 страницы из документа "PDA-0539"

Работа программы во всех режимах кроме режима настройки детально описана в документе "Руководство оператора". Режим настройки является режимом администратора базы данных и описан в документе "Руководство системного программиста и администратора базы данных" в разделе "Настройка программы".

Исходный текст программы (всех модулей) находится в файле 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 Кб.

5. Вызов и загрузка

Для вызова программы следует набрать в командной строке:

=>karta

или выбрать файл karta.EXE с помощью «оболочки» типа 'NORTON COMMANDER' и нажать клавишу ENTER.

6. Входные данные

Входной информацией программы является следующая:

  • данные, вводимые пользователем (см. "Руководство оператора");

  • данные, хранящиеся в базе данных по пациентам (см. "Руководство системного программиста");

  • текущая системная дата;

  • данные, хранящиеся в справочных базах данных (см. "Руководство системного программиста").

7. Выходные данные

Выходной информацией программы является следующая:

  • данные, введенные пользователем в базу данных по пациентам (см. "Руководство системного программиста");

  • документы, сформированные по введенным данным(см. "Руководство оператора");

.

Текст программы на языке 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 && Время рождения

time_B="00.00"

PRIVATE _HOUR_B && Часы рождения

PRIVATE _MINS_B && Минуты рождения

PRIVATE _POL && Пол

PRIVATE _OLD && Возраст на момент поступления

PRIVATE _OLD_D && Возраст на момент смерти

PRIVATE _MASSA && Масса

PRIVATE _PLACE_LIV && Место жительства

PRIVATE _RAION && Район проживания

PRIVATE _CITY_VILL && Городской/сельский житель

PRIVATE _DIRECT1 && Кем направлен

PRIVATE _DIRECT2 && Номер направляющего стационара

PRIVATE _STATE && Название государства

PRIVATE _PLACE && Название области РФ

*PRIVATE _WHY && Причины направления

PRIVATE _DEPARTMENT && Отделение

PRIVATE _KOIKA && Профиль койки

PRIVATE _PASS && Характер поступления (экстренно,не экстренно)

PRIVATE _TIME && Через какое время после заболевания

PRIVATE _DATE_IN && Дата поступления

_DATE_IN=DATE()

PRIVATE time_IN && Время поступления

time_IN="00.00"

PRIVATE _HOUR_IN && Часы поступления

PRIVATE _MINS_IN && Минуты поступления

PRIVATE _END1 && Исход заболевания

PRIVATE _END2 && Причина исхода

PRIVATE _END3 && Если переведен, то куда

PRIVATE _DATE_END && Дата выписки

PRIVATE time_END && Время выписки

time_END="00.00"

PRIVATE _HOUR_END && Часы выписки

PRIVATE _MINS_END && Минуты выписки

PRIVATE _ALL_DAY && Общее количество дней, проведенных в стационаре

PRIVATE _DIA_DIRECT && Диагноз направляющего учреждения

PRIVATE _NUM_COME && Номер поступления

PRIVATE _RW_DATE && Дата анализа на RW

PRIVATE _RW_REZ && Результат анализа

PRIVATE _FAM_DOCTOR && Фамилия лечащего врача

PRIVATE _KOD1 && Клинический диагноз

PRIVATE _KOD2 && Поталого-анатомический диагноз

PRIVATE _SHIFR && Шифр заболевания по МКБ

PRIVATE _SHIFR_ILL && Шифр операции из каталога операций

*********************************************************************

SELECT 0 && БД шифров заболеваний всех больных

USE DIA66 INDEX DIA66 ALIAS DIA66

COPY STRUCTURE TO BUFF.DBF

SELECT 0 && Вспомогательная БД для формирования диагнозов больного

USE BUFF ALIAS BUFF

INDEX ON NUM_IB+KOD2+KOD1 TO BUFF.NTX

SELECT 0 && БД шифров операций всех больных

USE OP66 INDEX OP66 ALIAS OP66

COPY STRUCTURE TO BUFF2.DBF

SELECT 0 && Вспомогательная БД для формирования шифров операций

USE BUFF2 ALIAS BUFF2

INDEX ON NUM_IB TO BUFF2.NTX

SELECT 0 && БД кодификаторов

USE CODIF INDEX CODIF ALIAS CODIF

SELECT 0 && БД с основной информацией о пациентах

USE KARTA66 INDEX KARTA66 ALIAS KARTA

SELECT 0 && БД с шаблонами

USE CODPIC INDEX CODPIC ALIAS CODPIC

SELECT 0 && БД с прототипами

USE CODTXT INDEX CODTXT ALIAS CODTXT

*********************** ОСHОВHАЯ РАМКА ***************************

SET COLOR TO "W+/N"

flop_box('c', 0,0,24,79,doubl+fon1)

saycent(0,0,79," ФОРМА N 66 ")

saycent(24,0,79,' перемещение - выбор F10-меню ')

******************** ВВОД СЕГОДHЯШHЕЙ ДАТЫ ***********************

SET COLOR TO(color2)

_today=DATE()

flop_box('c', 9,25,11,55,singl+fon2)

@ 10,32 SAY "СЕГОДHЯ:" GET _today

READ

_NUM_IB=RIGHT(STR(YEAR(_today)),2)+"00000"

**********************************************************************

* ОСНОВНОЙ ЦИКЛ ПРОГРАММЫ *

**********************************************************************

@ 1,1 CLEAR TO 23,78 && очистка экрана для переменных

SET COLOR TO (color1)

@ 2,1,22,78 BOX f1_fon

choice = 1

PRIVATE screen0

DO WHILE choice # 6

SET COLOR TO (color1)

gotomain=.f.

***************** ВЫВОД ГЛАВНОГО МЕНЮ *********************

@ 1,2 PROMPT "Создание" MESSAGE " ввод новой записи ИБ"

@ 1,12 PROMPT "Удаление" MESSAGE " удаление записи из ИБ"

@ 1,22 PROMPT "Редактирование/Печать" MESSAGE " редактирование записи ИБ "

@ 1,45 PROMPT "Навигатор" MESSAGE "движение по базе данных"

@ 1,56 PROMPT "Отчет" MESSAGE "составление отчетных форм"

@ 1,67 PROMPT " Выход " MESSAGE " выход из программы "

MENU TO choice

SAVE SCREEN TO screen0

DO CASE

CASE choice=1 && Добавления записи

IF( inpindex()=0) && Ввод ключа "НОМЕР ИСТОРИИ БОЛЕЗНИ"

@ 11,18 CLEAR TO 14,62

saycent(12,20,60,"ПОДОЖДИТЕ НЕМНОГО - ИДЕТ ИНИЦИАЛИЗАЦИЯ")

DO edit WITH .T.

ENDIF

CASE choice=2 && Удаление записи

DO del

CASE choice=3 && Изменение записи ИБ

SET COLOR TO(color2)

PRIVATE D1

DO WHILE .T.

D1=det() && Поиск нужной записи

IF D1=1 && Запись найдена

saycent(12,20,60,"ПОДОЖДИТЕ НЕМНОГО - ИДЕТ СЧИТЫВАНИЕ ИЗ БД")

DO edit WITH .T.

EXIT

ELSEIF D1=2 && Запись не найдена

saycent(12,20,60,"ИНФОРМАЦИИ ОБ УКАЗАННОМ БОЛЬНОМ В БД НЕТ ")

INKEY(5)

ELSE

EXIT

ENDIF

ENDDO

RELEASE D1

CASE choice=4 && Движение по БД

DO navy

CASE choice=5 && Составление отчетных документов

rez()

CASE choice=6 && Завершение программы

EXIT

ENDCASE

PRIVATE sel

sel=SELECT()

SELECT BUFF

ZAP

SELECT BUFF2

ZAP

SELECT (sel)

RELEASE sel

RESTORE SCREEN FROM screen0

ENDDO

COMMIT && Сохраняем рабочие области на диске

CLOSE ALL

DELETE FILE BUFF.DBF

DELETE FILE BUFF.DBT

DELETE FILE BUFF.NTX

DELETE FILE BUFF2.DBF

DELETE FILE BUFF2.DBT

DELETE FILE BUFF2.NTX

RETURN

**********************************************************************

* КОHЕЦ ГЛАВHОГО МОДУЛЯ *

**********************************************************************

**********************************************************************

* INPINDEX() - функция ввода номера истории болезни *

**********************************************************************

FUNCTION inpindex

PRIVATE sel,ret,scr

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее