рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Разработка автоматизированной системы учета выбывших из стационара

Разработка автоматизированной системы учета выбывших из стационара - Дипломный Проект, раздел Программирование, Аннотация Дипломный Проект Посвящен Разработке Автоматизированной Информацио...

Аннотация Дипломный проект посвящен разработке автоматизированной информационной системы учета выбывших из стационара. Система базируется на форме 066 у Министерства Здравоохранения России, имеющей название Статистическая карта выбывшего из стационара . Программа предназначена для автоматизации процесса обработки формы 066 у и формирования на ее основе отчетных форм для стационара.Система предназначена для работы в отделениях медстатистики больниц и не требует от пользователя дополнительных знаний по программированию, она предоставляет ему удобный экранный интерфейс для работы с многофайловой базой данных.

База данных содержит информацию о выбывших больных, адекватную информации в форме 066 у МЗ России. На основании этой информации система позволяет формировать отчетные документы по фиксированным формам. Документы формируются за любой отчетный период дни, месяцы, годы , по всему стационару или по любому его отделению.Система прошла опытную эксплуатацию в Детской городской клинической больнице N13 им. Н.Ф. Филатова и передана для внедрения в отделении медстатистики этой больницы.

Программное обеспечение системы написано на языке программирования Clipper. Экономико-организационная часть включает в себя анализ информации по теме дипломного проекта, расчет годового экономического эффекта и рекламу разработки. Отчетные материалы к дипломному проекту включают пояснительную записку, 5 приложений и графический материал.Содержание Введение 1. Анализ существующих методов создания информационных систем в медицине 1. Классификация МИС 2. Методология создания автоматизированных больничных информационных систем 7 1.2.1. Декомпозиция АБИС 2. Интеграция компонент АБИС 3. Архитектура интегрированных АБИС 4. Эффективность применения АБИС 2. Технология работы отдела Медстатистики по обработке данных о выбывших из стационара, выбор технических и программных средств 1. Технологическая схема работы отдела 2. Формализованное описание документооборота 3. Оценка потоков информации, проходящих через отдел Медстатистики 3. Разработка структуры базы данных БД и алгоритмов обработки 1. Структура БД 1. Файловая структура таблиц 2. Сохранность БД 2. Алгоритм программы 4. Описание программной реализации 1. Описание программы 1. Ввод текущей даты 26 4.1.2. Работа в главном меню 3. Ввод новых данных 4. Редактирование ранее введенной информации 5. Просмотр БД 6. Удаление информации 7. Получение отчетных форм 8. Настройка 9. Выход из программы 2. Результаты опытной эксплуатации 5.Экономико-организационная часть 1.Анализ потока публикаций 2. Расчет годового экономического эффекта 36 Заключение 40 Литература. 42 Приложение 43 Техническое задание на разработку автоматизированной информационной системы учета выбывших из стационара форма 066 у 43 Приложение 77 Описание применения Автоматизированной системы учета выбывших из стационара 77 Приложение 83 Руководство оператора Автоматизированной системы учета выбывших из стационара 83 Приложение 92 Руководство системного программиста Автоматизированной системы учета выбывших из стационара 92 Приложение 107 Текст и описание программы Автоматизированная система учета выбывших из стационара 107 ВведениеВ последнее время все более возрастает интерес к использованию средств вычислительной техники в медицине.

Это объясняется теми возможностями, которые несут в себе вычислительные средства, в первую очередь современные персональные ЭВМ. Эти ЭВМ являются удобным средством для автоматизации обработки информации в различных областях человеческой деятельности.

Габариты персональных компьютеров позволяют разместить их непосредственно на рабочем месте пользователя, а удобство общения с ПЭВМ делает их доступными для широкого круга пользователей-непрограммистов.

Современные ПЭВМ имеют быстродействие и объем оперативной памяти достаточные для обработки больших массивов информации, их применение в таких областях медицины как, например, Медстатистика, позволяет значительно сократить затраты ручного труда, повысить качество и правильность работы, сократить время получения конечного результата.

Именно этой проблеме и посвящен дипломный проект.

Его целью была разработка автоматизированной системы выбывших из стационара, в основе которой лежит форма 066 у Министерства Здравоохранения России Статистическая карта выбывшего из стационара . О важности данной разработки говорит тот факт, что прикладное программное обеспечение информационных систем, необходимое учреждениям здравоохранения, редко может быть закуплено в готовом виде и так как практически все учреждения здравоохранения обладают своей спецификой.

Выполнение дипломного проекта потребовало решения следующих основных задач Ш проведение анализа особенностей и специфики автоматизированных информационных систем в медицине Ш анализ технологии работы автоматизируемого подразделения Ш определение необходимой входной и выходной информации Ш разработка структуры базы данных Ш разработка и отладка программы Ш проведение опытной эксплуатации и внедрение у заказчика Ш определение экономического эффекта от внедрения разработанных программных средств.

Содержание пояснительной записки в значительной степени определяется перечисленными задачами. 1. Анализ существующих методов создания информационных систем в медицинеОбеспечение здоровья населения требует постоянного сбора и хранения данных.

Затраты на создание и функционирование системы сбора, хранения, обработки и передачи информации составляют значительную и постоянно возрастающую часть бюджета лечебных учреждений.

По одним оценкам 1 эти затраты составляют от 10 до 20 от суммарных затрат на лечение, по другим они составляют до 33 бюджета лечебных учреждений.

Для снижения этих затрат, дальнейшего совершенствования обработки и представления информации, а также для повышения эффективности управления лечебными учреждениями разрабатываются и внедряются разнообразные медицинские информационные системы МИС . 1. Классификация МИССогласно 1 , общим для всех МИС является рутинный систематический сбор данных, интегрируемых в информацию, обеспечивающую принятие управляющих административных и медицинских решений.

В той же работе 1 описывается следующая классификация МИС Ш амбулаторные МИС Ш МИС стационаров Ш МИС социального страхования здоровья населения Ш национальные МИС. Амбулаторные МИС обеспечивают сбор данных о каждом визите пациента к врачу, включая диагноз, оказанные медицинские услуги и предписанные назначения.

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

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

АБИС обладает высокой сложностью и в целях управляемости, как в техническом, так и в организационном отношениях целесообразнее разделить ее на отдельные системы или подсистемы, которые можно создавать поэтапно.

Время показало, что принцип поэтапного создания АБИС значительно облегчил их разработку и внедрение и имел определенные экономические выгоды.Принцип заключается в том, что вначале осуществляется декомпозиция АБИС, т.е. ее подразделение на отдельные компоненты, а затем интеграция этих компонент в единую систему. АБИС, спроектированная по такому принципу, получила название интегрированная АБИС . 1.2.1. Декомпозиция АБИССуществует много подходов к декомпозиции АБИС. Все они опираются на сочетание двух принципов ее разделения на отдельные взаимосвязанные компоненты горизонтального и вертикального 1 . Горизонтальный принцип соответствует созданию отдельных систем, ориентированных на нужды конкретного пользователя или достаточно однородной группы пользователей, например, подразделяют АБИС на административную систему, лабораторную систему и группу специализированных систем аптечная система, система диетпитания, консультационные системы и пр Вертикальный или функциональный принцип деления соответствует выделению систем, каждая из которых имеет определенный набор функций и может выполнять их по запросу любого пользователя системы.

Примером может служить следующее вертикальное деление АБИС на 5 подсистем, каждая из которых наделена специфической функцией 1 обеспечение выполнения медицинских действий 2 эксплуатация медицинских данных в целях увеличения объема медицинских знаний в лечебном учреждении 3 обеспечение материально-технического и медицинского снабжения 4 оперативное планирование административной деятельности 5 оперативное планирование лечебной деятельности.

Исторически преобладающим оказался горизонтальный подход, при котором вначале создаются автоматизированные системы отдельных подразделений и служб, которые затем объединяются в интегрированную АБИС. Так, первые интегрированные АБИС появились в результате слияния административно-финансовых систем с независимо разрабатывающимися автоматизированными системами диагностических подразделений больниц, в первую очередь клинических лабораторий и отделений лучевой диагностики. 1.2.2. Интеграция компонент АБИСИнтеграция компонент АБИС является не менее сложным предприятием, чем ее декомпозиция на отдельные компоненты.

Выделяют три основных требования к интеграции систем АБИС 1 Ш пациент не должен ощущать влияния разделения на подсистемы назначения, предписанные ему в разных подразделениях, должны быть согласованы между собой интеграция на уровне пациента Ш пользователь АБИС должен иметь возможность облегченного доступа при наличии соответствующих полномочий к функциям различных подсистем, ввод данных должен осуществляться однократно, и при этом система должна обеспечивать целостность и непротиворечивость информации интеграция на уровне пользователей АБИС Ш информация должна храниться в единой базе данных и предоставляться по мере необходимости любой заинтересованной в ней подсистеме техническая интеграция . Интеграция не является самоцелью и должна вводится для улучшения функционирования больницы. Отдельные системы интегрированной АБИС вводятся в эксплуатацию, как правило, поэтапно.

Состав АБИС, сроки и последовательность ввода ее отдельных систем в эксплуатацию зависят от приоритетов, устанавливаемых руководством больницы, и имеющихся финансовых возможностей. 1.3. Архитектура интегрированных АБИСМожно выделить следующие модели архитектуры АБИС Ш модель с централизованной обработкой данных Ш модель с распределенной обработкой данных.

АБИС модели с централизованной обработкой данных выполнены на базе одной или нескольких тесно связанных больших ЭВМ или супер-ЭВМ, которые выполняют централизованную обработку всех потоков информации.

Достоинством централизованной обработки данных является относительная простота организации доступа к данным о пациенте, отсутствие избыточности хранения информации. К недостаткам можно отнести необходимость значительных начальных капиталовложений, в том числе на оборудование машинного зала и стандартное программное обеспечение, а также определенные трудности развития прикладного программного обеспечения АБИС. АБИС модели с распределенной обработкой данных выполнены на базе сети малых или больших ЭВМ, каждая из которых имеет собственную базу данных.

Основное достоинство этой модели состоит в том, что средства вычислительной техники могут приобретаться постепенно и компоненты АБИС могут быть внедрены поэтапно.

Однако распределенность базы данных по нескольким ЭВМ приводит к усложнению разработки прикладного программного обеспечения АБИС и определенным трудностям обеспечения бесперебойной эксплуатации оборудования, а также эксплуатации баз данных.

Архитектура многих АБИС не укладывается в рамки описанных выше моделей, они имеют смешанную архитектуру.

Например, в связи с широким распространением ПЭВМ в ряде АБИС они используются в качестве терминалов центральных ЭВМ, для решения локальных задач в нуждах отдельных подразделений больницы или даже отдельных специалистов, а также для предоставления справочно-информационных услуг.Имеются примеры совместного использования центральной ЭВМ и локальной сети ПЭВМ, предназначенной для диспетчеризации амбулаторного приема 1 . 1.4. Эффективность применения АБИСБудучи средством организации труда персонала больницы АБИС не оказывает прямого влияния на лечение пациента.

Однако система позволяет активно влиять на процессы принятия персоналом больницы как административных, так и медицинских решений.В качестве целей создания АБИС можно привести следующие Ш прямая экономия зарплаты персонала Ш косвенная экономия за счет избавления медицинских сотрудников от рутинной канцелярской работы Ш улучшение качества медицинского обслуживания за счет большей точности, более широкого распространения информации и увеличения ее оперативности Ш уменьшение числа избыточных услуг Ш более полное использование ресурсов Ш лучшее снабжение ресурсами Ш общее улучшение качества обслуживания.

Если раньше основным назначением АБИС было улучшение управления больницей, то теперь - это улучшение качества лечения. Внедрение АБИС не приводит к снижению бюджетных затрат, а лишь способствует уменьшению их роста.Основной потенциал рационализации функционирования больницы заключается в снижении расходов на зарплату персонала, которая составляет 60-70 бюджета больницы 1 . Такое снижение может быть достигнуто только за счет изменения в организации труда, распределения работ и ответственности за их выполнение.

Поскольку наибольшие штаты и средства за исключением собственно лечения отвлекает обработка информации, на что расходуется до 15-25 бюджета больницы, то потенциальный экономический эффект внедрения АБИС достаточно высок 2. Технология работы отдела Медстатистики по обработке данных о выбывших из стационара, выбор технических и программных средств2.1. Технологическая схема работы отделаДля обеспечения оперативной информацией различных категорий сотрудников больницы и формирования отчетных материалов о лечебной деятельности отделений стационара в нем существует отделение медстатистики.

Рассмотрим технологию работы медстатистики при поступлении информации из отделений стационара.На рис.1 представлена структура функциональной связи отдела с другими подразделениями больницы при поступлении информации о выбывших больных.

Рис. 1. Технологическая схема работы отдела медстатистики. В медстатистику поступают истории болезни ИБ с заполненными врачами статистическими картами на выбывших из стационара форма 066 у . Форма 066 у заполняется на каждого выбывшего.На каждого иногороднего выбывшего заполняется дополнительно еще одна форма 066 у. В подразделении медстатистики производится сверка поступивших ИБ на выбывших с данными журнала на выбывших, умерших и переведенных ЖВ . В ЖВ вносятся отметки о наличии ИБ на выбывших.

Далее составляется справка о непоступивших ИБ на выбывших больных, которая передается обратно в отделения. Поступившие ИБ отправляются в архив на хранение. Формы 066 у складываются в папки отделений для составления отчетов о деятельности стационара. Второй экземпляр формы 066 у на иногородних больных отправляется в Боткинскую больницу для дальнейшей статобработки.Далее, на основании формы 066 у в подразделении медстатистики готовятся следующие отчетные формы для отделений стационара, бухгалтерии и администрации больницы Ш ежемесячный отчет по каждому отделению Ш годовые отчеты по всему стационару см. Приложение 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. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Таблицы 1-3,16-19 формируются для написания отчетов о деятельности стационара для администрации больницы и в вышестоящие организации, 4-15 - только для администрации больницы. 2.2. Формализованное описание документооборотаФорма 066 у является обязательным документом для любого стационара Российской Федерации и имеет полное название Статистическая карта выбывшего из стационара . Она заполняется на каждого выбывшего и заключает в себе следующую информацию 1. Номер истории болезни больного 2. Фамилия И.О. больного 3. Пол больного 4. Дата рождения 5. Время рождения 6. Возраст 7. Вес 8. Адрес постоянного местожительства 9. Район проживания 10. Горожанин селянин 11. Государство, гражданином которого является больной 12. Направляющая организация 13. Причина направления 14. Отделение стационара 15. Профиль койки 16. Доставлен в стационар по экстренным показаниям или в плановом порядке 17. Через сколько часов после заболевания получения травмы 18. Дата поступления в стационар 19. Время поступления в стационар 20. Исход заболевания 21. Дата выписки перевода смерти 22. Время выписки перевода смерти 23. Количество, проведенных в стационаре дней 24. Диагноз направившего учреждения 25. Госпитализирован впервые повторно 26. Диагноз стационара 27. Хирургические операции 28. Обследование на реакцию Вассермана 29. Фамилия И.О. лечащего врача. 2.3. Оценка потоков информации, проходящих через отдел МедстатистикиВ 1998 году план на пролеченных больных в ДГКБ составил 22 400 человек.

На каждого пролеченного больного должна быть сформирована ф. 066 у. Объем одной этой формы составляет около 1 КБ, тогда объем поступающей информации по ф. 066 у в год составит порядка 19 МБ. При этом в медстатистику поступает и другая информация о движении больных и коечного фонда ф.7 , а также информация из хирургического центра, районной поликлиники и травмопункта.

Самый большой объем здесь имеет форма 7. Если считать, что объем одной ф.7 также равен 1 КБ, то в день объем поступившей информации по ф.7 составит 15 КБ. Если полагать, что число рабочих дней в году 273, то годовой объем информации, поступившей в медстатистику по ф.7 составит порядка 4 МБ. Тогда общий объем информации составит 23 МБ. При этом объем информации, поступающий в день, составит порядка 0.1 МБ. В стационар из медстатистики поступает порядка 0.003 МБ информации, в том случае, если администрации передается информация, сформированная на основе ф.7. Учитывая характер работы стационара, следует предположить, что основная информация будет проходить в сети с 8 до 14 часов.

При этом интенсивность потока информации составляет порядка 0.036 Кбит с. При пропускной способности стандартной сети Ethernet 10 Мбит с этот поток не представляет большой нагрузки на сеть. Следует ожидать, что не рассмотренные оценки потоков информации из хирургического центра, районной поликлиники и травмопункта не окажут существенного влияния на загрузку сети. 3. Разработка структуры базы данных БД и алгоритмов обработки3.1. Структура БДДля хранения информации по выбывшим больным была разработана БД, концептуальная модель которой представлена на рис.2. Рис. 2. Концептуальная модель базы данных.

БД является распределенной - она состоит из трех таблиц Ш ТАБЛИЦЫ DIA66 содержащей диагнозы заболеваний больного Ш ТАБЛИЦЫ OP66 содержащей названия операций больного Ш ТАБЛИЦЫ KARTA содержащей всю остальную информацию . Связь осуществляется по номеру истории болезни.

Каждому выбывшему соответствует одна запись в таблице KARTA и такое количество записей в таблицах DIA66 и OP66 , сколько диагнозов ему проставлено и сколько операций ему было проведено соответственно.

Другими словами между таблицей KARTA и таблицей DIA66 , а также между таблицей KARTA и таблицей OP66 существует связь один ко многим . Для уменьшения объема, отводимого для хранения одной записи в таблице KARTA , используется следующее заполнение ф. 066 у в программе идет в автоматизированном режиме, т.е. все пункты ф. 066 у где это возможно заполняются с помощью выбора одной из нескольких альтернатив, представленных в виде меню. Совокупность всех альтернатив называется справочником. Заполнение справочника происходит на самом раннем этапе эксплуатации программы.

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

В виду этого в БД хранятся не сами альтернативы, а их коды. Существуют отработанные процедуры работы со справочниками, в частности разработанные сотрудниками кафедры 29. 3.1.1. Файловая структура таблицКаждая таблица включает в себя файл ы данных и файл ы индексов.

Таблица для хранения данных по пациентам содержит файлы Ш КАRТА66.DBF и КАRТА66.NTX Ш DIA66.DBF и DIA66.NTX Ш OP66.DBF и OP66.NTX. Структура файла KARTA66.DBF ИМЯ ПОЛЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM IB C 7 номер истории болезни FAM C 30 фамилия больного F S NAME C 30 имя, отчество больного DATE B D 8 дата рождения HOUR B N 2 часы рождения MINS B N 2 минуты рождения OLD N 2 код возраста POL N 1 код пола MASSA C 6 масса PLACE LIV C 60 адрес RAION N 2 код района CITY VIL N 1 код горожанин селянин DIRECT1 N 2 код направляющего учреждения DIRECT2 N 2 код стационара STATE N 2 код государства WHY N 1 код причины направления DEPARTMENT N 2 код отделения стационара KOIKA N 2 код профиля койки PASS N 1 код состояния поступления TIME N 1 код поступления после болезни DATE IN D 8 дата поступления в стационар HOUR IN N 2 часы поступления MINS IN N 2 минуты поступления END1 N 1 код исхода END2 N 1 код причины исхода END3 N 2 код учреждения для перевода DATE END D 8 дата исхода HOUR END N 2 часы исхода MINS END N 2 минуты исхода OLD D N 2 возраст на момент смерти ALL DAY N 2 количество дней в стационаре DIA DIRECT C 4 направляющий диагноз NUM COME N 1 код числа поступлений RW DATE D 8 дата анализа на RW RW REZ N 1 код результата RW FAM DOCTOR N 2 код фамилии лечащего врача Индексное выражение для файла NUM IB. Структура файла DIA66.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM IB C 7 номер истории болезни KOD1 C 1 код заболевания KOD2 C 1 код диагноза SHIFR C 4 шифр заболевания COMM1 M 10 названия заболеваний Индексное выражение для файла NUM IB KOD1. Структура файла OP66.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM IB C 7 номер истории болезни SHIFR C 4 шифр операции DATA D 8 дата операции COMM M 10 название операции Индексное выражение для файла NUM IB. 3.1.2. Сохранность БДВ целях поддержания сохранности и целостности БД были разработаны организационно - технические мероприятия, заключающиеся в создании программы сохранения на дискеты основных баз данных автоматизированной системы и обучения работы с ней пользователей, а также рекомендации по ее применению, заключающиеся в следующем по окончанию сеанса работы с системой желательно сохранить вновь введенную информацию на дискеты для возможности ее восстановления, если жесткий диск выйдет из строя. При сохранении информации на дискеты переносятся все основные базы данных полностью, причем каждая база данных на свою дискету.

Если объема одной дискета будет не достаточно для сохранения какой-либо базы данных, то эта база данных будет сохранена на нескольких дискетах.

Программа сохранения не требует от персонала специальных навыков необходимо только запустить ее и вставлять вынимать дискеты, реагируя на сообщения, которые она будет выдавать на экран. Частоту запусков программы сохранения определяет сам пользователь. 3.2. Алгоритм программыСистема предназначена для автоматизации заполнения формы 066 у Минздрава России и генерации на ее основе типовых отчетов для стационаров.

В соответствии с ТЗ на разработку системы взаимодействие программы с пользователем должно быть реализовано по следующему алгоритму 1 Ввод текущей даты 2 Выбор из главного меню одной из следующих функций а Ввод данных перечень данных см. пункт 2.2 и печать б Коррекция ранее введенных данных в Поиск данных больного по N ИБ или по фамилии. г Получение отчетных форм за отчетный период с число, месяц, год по число, месяц, год д Выход из программы.

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

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

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

Режим настройки должен быть скрыт от конечного пользователя программы и доступен лишь администратору БД. Разработанный алгоритм программы приведен на рис.3. Алгоритм процедуры формирования отчетных документов приведен на рис.4. Рис. 3.Алгоритм программы.

Рис. 4. Алгоритм формирования отчетов. 4. Описание программной реализации4.1. Описание программыКак уже отмечалось ранее, автоматизированная система выбывшего из стационара предназначена для автоматизации процесса заполнения формы 066 у Минздрава России и формирования на ее основе отчетных форм для стационара. Программа обеспечивает Ш ввод, хранение, коррекцию данных по выбывшим из стационара больным Ш оформление печатных документов по данным о выбывших больных за отчетный период Ш настройку на структуру конкретного стационара.

Она ориентирована на пользователя, не являющегося профессионалом в области вычислительной техники.

Система реализована для персональных ЭВМ IBM PC XT AT со следующим набором периферийных устройств принтер дисплей с платой адаптера EGA VGA, накопитель на жестком диске объемом не менее 80 Мб. Минимальный объем свободной оперативной памяти 540 Кб. Программа написана на языке программирования Clipper и работает под управлением операционной системой MS DOS версии 3.1 и выше. Для запуска программы необходимо набрать в командной строке karta и нажать клавишу ENTER. Об успешном запуске программы свидетельствует приглашение ввести дату см. пункт 4.1.1 Процесс работы с системой разбивается на несколько этапов Ш ввод текущей даты Ш работа в главном меню Ш ввод новых данных Ш коррекция введенных данных Ш формирование и печать отчетов за выбранный период Ш настройка программы на структуру конкретного стационара Ш выход из программы 4.1.1. Ввод текущей датыПри запуске программы на экране появляется заставка с надписью СЕГОДНЯ и некоторой датой.

На машинах, снабженных автономными встроенными часами, будет выведена текущая дата, на других машинах выводится дата, установленная последней системной командой DATE . Для подтверждения даты нажмите клавишу ENTER, для изменения - наберите нужную дату и нажмите клавишу ENTER. Можно также ввести любую дату, а не только текущую. 4.1.2. Работа в главном менюГлавное меню программы содержит следующие пункты Ш создание Ш удаление Ш редактирование Ш навигация Ш отчеты Ш выход.

Перемещение по пунктам главного меню осуществляется клавишами перемещения курсора стрелка вправо, стрелка вниз и стрелка влево, стрелка вверх.

Выбор и отказ от выбора пункта меню осуществляется клавишами ENTER и ESC соответственно.

В нижней части экрана имеется подсказка о тех действиях, которые будут производиться при выборе соответствующего пункта главного меню. 4.1.3. Ввод новых данныхЕсли выбран пункт главного меню Создание , то можно ввести данные в новую карту, выбывшего из стационара другими словами, заполнить новую форму 066 у . Высвечивается приглашение для введения номера истории болезни вновь выбывшего из стационара больного.

Новая карта будет создана только в том случае, если информации о больном, с указанным номером истории болезни, в базе данных нет. После этого на экране появляется текст, который содержит основные пункты формы 066 у, подлежащие заполнению см. пункт 2.2 . Движение по этому тексту осуществляется клавишами перемещения курсора, при этом по экрану перемещается световое пятно . Для заполнения нужного пункта надо подвести световое пятно к данному пункту текста и нажать клавишу ENTER. Если данный пункт формы 066 у может содержать одно из наперед заданных значений, то на экран выводятся все эти значения и пользователь, используя клавиши перемещения курсора и клавишу ENTER, осуществляет выбор используя клавишу ESC, можно выйти из данного пункта без выбора какого-либо значения . Все эти, наперед заданные значения хранятся в справочниках.

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

Возврат в основное меню происходит по нажатию клавиши F10. Если некоторые пункты а именно, те которые нужны для составления отчетных документов не будут заполнены, то вновь введенная форма не будет сохранена.

При попытке выхода, в этом случае, пользователю будет предложено заполнить нужные пункты. 4.1.4. Редактирование ранее введенной информацииВыбрав пункт главного меню Редактирование , пользователь может произвести коррекцию любой ранее введенной формы, хранящейся в БД. Для этого ему предлагается либо ввести номер истории болезни, либо фамилию интересующего его больного. Коррекция осуществляется по тем же правилам, что о при Создании см. пункт 4.1.3 Для поиска 066 у формы интересующего больного, пользователь может использовать Навигатор БД см. пункт 4.1.5 Пользователь имеет возможность получить твердую копию отредактированной им формы.

Для этого ему надо, находясь в режиме Редактирование или Создание , сделать следующее Ш включить принтер Ш вставить в принтер лист бумаги Ш нажать клавишу F5 . Перед пользователем появится меню, пунктами которого являются 1. Печатать текущий раздел документа , т.е. тот пункт, на котором в данный момент находится курсор световое пятно 2. Печатать весь документ , т.е. всю данную 066 у форму целиком 3. Отказ от печати . Клавишами перемещения курсора и клавишей ENTER пользователь осуществляет выбор. 4.1.5. Просмотр БДВыбрав пункт Навигатор , пользователь может просмотреть всю информацию, которая хранится в БД. Для этого ему предлагается меню второго уровня, используя пункты Текущая карта , Следующая карта и Предыдущая карта которого, пользователь может последовательно просмотреть всю БД. При этом в нижней части экрана будет представлены номер истории болезни пациента, его фамилия и дата выписки, соответствующие очередной 066 у форме. Кроме того, пользователь может ввести условия просмотра Ш либо номер истории болезни интересующего его больного в этом случае, пользователь будет просматривать БД, начиная с формы с введенным номером истории болезни если она есть в БД если формы с введенным номером истории болезни в БД нет, то будет представлена первая форма с номером большим, чем у заданной Ш либо фамилию больного Ш либо дату выписки больного из стационара в этом случае, пользователь будет просматривать 066 у формы больных, выписанных во введенную дату и во все последующие дни . Возврат в основное меню - по F10 или по ESC. После выхода из Навигатора текущим номер истории болезни становится тот номер, который был у последней из просмотренных форм. Это можно использовать для поиска и последующего редактирования интересующей пользователя формы или для её удаления см. пункт 4.1.6 4.1.6. Удаление информацииВыбрав этот пункт основного меню, пользователь получает возможность, путем последовательного просмотра БД, помечать интересующие его 066 у формы на удаление.

Помеченные пользователем на удаление формы после выполнения пункта Удаление физически удаляются из БД. 4.1.7. Получение отчетных формБлок- схема процедуры формирования отчетов была представлена ранее на рис.4. Выбрав пункт главного меню Отчеты , можно получить отчеты фиксированной формы на основе введенной информации.

Предлагается меню со следующими пунктами Ш Месячные отчеты Ш Квартальные отчеты.

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

Для этого пользователю предлагается указать названия отделения, по которому будет формироваться отчет. Если отделение не будет указано, то отчет формироваться не будет.

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

Выбор осуществляется с помощью следующего меню 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. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Можно получить квартальные отчеты, как по всему стационару, так и по любому его отделению.

Для этого пользователю предлагается определить отделение, по которому будет формироваться отчет.

Если отделение не будет указано нажата клавиша ESC , то отчет будет формироваться по всему стационару.

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

Можно получить твердую копию отчетной формы на принтере.

Чтобы получить твердую копию на принтере необходимо вы- полнить следующие действия Ш включить принтер Ш вставить в принтер лист бумаги Ш выбрать в меню альтернативу Выводить отчет на печать . Всюду для возврата в предыдущее меню используется клавиша ESC. Некоторые отчетные документы имеют большую ширину, поэтому для их распечатки необходим широкий принтер.

Ширину отчета можно определить при его просмотре после того, как он появится на экране. 4.1.8. НастройкаНастройка программы на режим конкретного использования заключается в корректировке справочников.

Режим настройки скрыт от конечного пользователя программы и доступен лишь администратору БД. Для корректировки справочников необходимо, находясь в главном меню программы, нажать Control-F10. При этом пользователь попадает в меню со следующими альтернативами Ш выбор и изменение списка отделений стационара Ш выбор и изменение списка профилей коек Ш выбор и изменение списка направляющих организаций Ш выбор и изменение списка причин смерти Ш выбор и изменение списка районов Ш выбор и изменение списка возрастов Ш выбор и изменение списка причин перевода Ш выбор и изменение списка причин направлений Ш выбор и изменение списка стран содружества.

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

В меню, для добавления нового элемента необходимо нажать клавишу INS. После этого будет предложено ввести новое название.

Закончив ввод, надо нажать клавишу ENTER. Для удаления элемента используется клавиша DEL. При нажатии клавиши ENTER осуществляется выбор текущего элемента в списке с целью его переименования. Вводится новое название элемента и нажимается клавиша ENTER. ESC означает отказ от переименования.При нажатии ESC происходит возврат в предыдущее меню. 4.1.9. Выход из программыДля окончания работы с системой следует выбрать пункт Выход главного меню. В программе не предусмотрено специальных сообщений для системного программиста.

При работе программы возможна выдача сообщений исполнительной системой Clipper. Типичными сообщениями могут быть Not enought memory , Memory fault - по этим сообщениям следует удалить из оперативной памяти все резидентные программы, кроме русификаторов. Unable to open file имя файла - следует проверить наличие в каталоге указанного файла и при его отсутствии скопировать с резервной дискеты.В более сложных случаях следует записать сообщение и ситуацию, в которой оно возникло, и обратиться к системному программисту, сопровождающему программу. 4.2. Результаты опытной эксплуатацииОпытная эксплуатация проходила в Детской городской клинической больнице N13 им. Н. Ф. Филатова ДГКБ N 13 . В систему было заложено порядка 900 форм 066 у действительно выбывших из ДГКБ N13 больных.

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

Все они были учтены в окончательном варианте программы. На основании этих 900 форм были получены все возможные отчетные документы. Сверка их с отчетами отдела медстатистики, полученными в ручную, подтвердила правильность работы системы.Система передана для внедрения в отделение медстатистики ДГКБ N13. 5.Экономико-организационная часть5.1.Анализ потока публикацийВ соответствии с заданием на дипломное проектирование проводилось изучение изменения потока публикаций по теме дипломного проекта. Анализ проводился с помощью автоматизированной поисковой системы, действующей в ГПНТБ. Для поиска использовались следующие ключевые слова Ш медицинская статистика Ш медицинская информатика Ш СУБД. Для оценки потока публикаций был взят отрезок времени, начинающийся 1993 годом.

Полученные результаты представлены на гистограмме изменения потока публикаций рис.5 . Рис. 5. Гистограмма изменения потока публикаций.Из данной гистограммы видно, что наблюдается непрерывное увеличение числа публикаций, говорящее, вероятно, о возрастании интереса к проблеме использования средств вычислительной техники в работе отдела медицинской статистики.

Это, скорее всего, связано со значительным увеличением парка ЭВМ, в первую очередь - персональных, их относительной дешевизной и увеличением их производительности, что играет не последнюю роль при обработке больших объемов статистической информации.Неослабевающий интерес к этой теме связан с теми большими возможностями, которые представляют такие средства, как СУБД и пакеты прикладных программ. 5.2. Расчет годового экономического эффектаГодовой экономический эффект будем рассчитывать согласно 7 Э Эб - Эн Ан, где Ш Эб Сб Ен Кб - приведенные затраты на единицу работы базового образца Ш Эн Сн Ен Кн - приведенные затраты на единицу работы нового образца Ш Ен - нормативный коэффициент эффективности Ен 0.15 Ш Кб,Кн - капитальные затраты Ш Сб,Сн - себестоимость единицы работы Ш Ан - годовой объем работ.

В качестве единицы работы возьмем работу, проводимую отделом Медстатистики больницы за год. В этом случае Ан 1. В качестве Эб возмем затраты труда этого отдела без использования ЭВМ т.о. Кб 0 . Капитальные затраты Кн представляют собой затраты на выполнение дипломного проекта Сдп, которые отражаются в величине его себестоимости 6 Кн Сдп Спр Снакл, где Ш Спр - прямые расходы на выполнение дипломного проекта Ш Снакл - накладные расходы.

Для МИФИ Снакл составляют примерно 25 от величины Спр Спр Зосн Зэвм Осс Оп, где Ш Зосн - зарплата и стипендия основных исполнителей ДП Ш Зэвм - затраты на использования машинного времени Ш Осс - отчисления на социальное страхование Ш Оп - отчисления в пенсионный фонд. Зосн Зстуд Тдп Зрук Трук Зконс Тконс, где Ш Зстуд, Зрук, Зконс - заработная плата студента-дипломника, его руководителя и консультанта соответственно Ш Тдп, Трук, Тконс - время, затраченное на участие в выполнении ДП этими лицами соответственно см. табл. 1 Таблица 1. Расчет заработной платы.

Зарплата Время работы Руководитель к. т. н доцент 62 руб час 24 часа Консультант к. т. н. доцент 62 руб час 2 часа Дипломник XI 800 руб. XII 800 руб. I 1600 руб. II 1600 руб. 4 месяца Таким образом Зосн 800 800 1600 1600 62 24 62 2 4800 1488 124 6412. Выполнение ДП потребовало 320 часов машинного времени.

Стоимость 1 часа на PC XT составляла 40 рублей. Таким образом, Зэвм 320 40 12800 рублей.Отчисления на социальное страхование и в пенсионный фонд составляют 37 от Зосн, следовательно Осс Оп 0.37 Зосн 0.37 6412 2372.44 рублей Таким образом Спр Зосн Зэвм Осс Оп 6412 12800 2372.44 21584.44 Спр 21584.44 рублей Снакл 0.25 Спр 0.25 21584.44 5396.11 рублей Кн Сдп Спр Снакл 21584.44 5396.11 26980.55 Кн 26981 рубль.

Себестоимость эксплуатации Сн представляет собой стоимость единицы работы, сделанной новым образцом.Эта стоимость включает в себя зарплату оператора, работающего с программой новым образцом и стоимость машинного времени.

Зарплата оператора Зоп вычисляется как произведение времени работы с программой в часах Траб с почасовой оплатой оператора 35 руб. час . Стоимость машинного времени определяется как произведение Траб со стоимостью одного часа машинного времени 40руб час . Траб определяется из содержания самой работы, которую выполняет программа Ш формирование ежемесячных отчетов по 14 отделениям больницы среднее время формирования одного отчета 15 минут Ш формирование 19 различных годовых отчетов среднее время формирования одного годового отчета 45 минут . Следовательно, Траб 12 14 15 60 19 45 60 42 14.25 56.25 часов.

Таким образом, Зоп 56.25 35 1968.75 рублей, а стоимость машинного времени 56.25 40 2250 рублей. Отчисления в фонд социального страхования и в пенсионный фонд составят 37 от Зоп, т.е. 1968.75 0.37 728.44 рублей. С учетом накладных расходов получаем себестоимость работы программы Сн 1968.75 2250 728.44 0.25 1968.75 2250 728.44 6183.99 рублей. Сн 6184 рублей.Для оценки Эб рассчитаем затраты отдела медстатистики стационара без использования ЭВМ. В отделе работает пять человек Ш 4 медрегистратора ставка 4000 руб. месяц Ш 1 врач ставка 6000 руб. месяц . Следовательно, затраты за год составляют 12 4 4000 6000 1 0.37 361680 рублей.

Разработанная система покрывает около 40 всей работы отдела, следовательно, Эб 0.40 361680 144672 рублей. В итоге получаем Э Эб - Эн Ан 144672 - 6184 0.15 26981 1 134440.85 рублей.Годовой экономический эффект от использования разработанной системы составит 134440 рублей.

Лимитная цена разработанной системы Ц 0.15 Кн П Кн НДС Кн Сн, где Ш Кн - себестоимость разработки Ш П - прибыль 0.30 Ш НДС- налог на добавленную стоимость 0.20 Ш Сн - себестоимость эксплуатации.Ц 0.15 26981 0.30 26981 0.20 26981 6184 23721.65 Следовательно, Лимитная цена разработки составляет 23 721 рубль ЗаключениеВ результате проделанной работы были получены следующие результаты Ш проведен анализ существующих методов создания информационных систем в медицине Ш проведен анализ работы отдела медстатистики стационара и анализ потоков информации, проходящей через него, на основании чего сделан вывод о возможности использования в работе отдела стандартной сети Ethernet, с пропускной способностью 10 Мбит с Ш учитывая объем хранимой информации, потоки запросов на ввод вывод, допустимую скорость обработки, в качестве технических средств выбраны ПЭВМ IBM PC XT АТ со следующим набором периферийных устройств принтер, дисплей с платой адаптера EGA VGA, накопитель на жестком диске объемом не менее 40 МБ, и минимальным объемом свободной оперативной памяти не менее 540 КБ а в качестве программных средств - язык программирования Clipper Ш составлено формализованное описание документооборота форма 066 у МЗ России Ш разработана концептуальная модель базы данных, содержащая в себе информацию, адекватную форме 066 у МЗ России и состоящую из трех баз данных, связанных по номеру истории болезни Ш разработаны алгоритмы обработки Ш разработанная с использование языка Clipper Summer 87 программа занимает в виде загрузочного модуля 310 КБ ОП Ш разработаны организационно- технические мероприятия, направленные на поддержание сохранности и целостности БД Ш определен годовой экономический эффект от внедрения разработанной автоматизированной системы, который составил 134 440 рублей.

Система прошла опытную эксплуатацию в Детской городской клинической больнице N13 им. Н.Ф.Филатова и передана для внедрения в отделение медстатистики этой больницы.

Литература1. Clipper Summer 87. Комплект документации. 2. Дейт К.Дж. Введение в системы баз данных Пер. с англ К Диалектика,1998 784с. ил. 3. Каррабис Дж Д. Программирование на dBase III plus М Финансы и статистика, 1991 240с. ил. 4. Мартин Дж. Организация баз данных в вычислительных системах пер. с англ М Мир, 1990 660с. ил. 5. Серия Обзоры по важнейшим проблемам медицины выпуск N 5 Использование автоматизированных больничных информационных систем за рубежом М Медицина и здравоохранение, 1998. 6. Тригер Д.Я. Технико-экономическое обоснование и информационное обеспечение дипломных проектов в области физики и вычислительной техники Учебное пособие - М МИФИ, 1982 44с. 7. Эриванский Ю.А. Экономическое обоснование эффективности программных средств вычислительной техники М МИФИ, 1990 67с. Приложение 1 Техническое задание на разработку автоматизированной информационной системы учета выбывших из стационара форма 066 у 1. Введение.

Автоматизированная система учета выбывших из стационара условное обозначение КАРТА предназначена для автоматизации заполнения формы 066 у Минздрава России и генерации на ее основе типовых отчетов для стационаров. 2. Основание для разработки.

Основанием для разработки является договор N 12-1-99 на создание научно-технической продукции между ДГКБ N13 и ИТЦ ИА. 3. Назначение разработки.

Указано во введении. 4. Требования к программе. 4.1. Функциональные характеристики.

Программа должна выполнять функции ввода, хранения и обработки информации о выбывшем больном и формирования ежедневных, месячных и годовых отчетов по фиксированным формам. В программе должен быть обеспечен Ш ввод непротиворечивой и целостной информации Ш удобство пользователя, не имеющего специальных навыков работы с вычислительной техникой при заполнении формы 066 у, высокая скорость заполнения за счет повышения наглядности и упрощения процесса ввода отдельных элементов информации Ш получение фиксированных отчетных форм за время, приемлемое для пользователя не более 5 минут для ежедневного отчета, не более 1 часа для месячного отчета и не более 1 рабочего дня для годового отчета . Контроль непротиворечивости и целостности информации должен состоять из двух этапов 1. контроля непосредственно при вводе проверка ограничений на элемент информации, вводимый в данный момент 2. контроля информации после завершения ввода проверка ограничений на совокупность элементов информации . Для удобства пользователя в качестве базы для экранного интерфейса необходимо использовать полноэкранное редактирование полей БД. Входной информацией программы является информация из формы 066 у см. Приложение 1.1 . Выходной информацией программы являются таблицы Ш месячного отчета см. Приложения 1.2 и 1.3 Ш годового отчета, включающие в себя 1. Состав больных в стационаре, сроки и исход лечения см. табл.1 ф. 14 2. Состав больных новорожденных, поступивших в возрасте 0-6 суток жизни и исход их лечения см. табл.2 ф. 14 3. Хирургическая работа учреждений см. табл.3 ф. 14 4. Распределение больных по возрасту и району см. Приложение 4 5. Состав больных, выбывших в возрасте от 0 до 6 суток жизни см. Приложение 1.5 6. Больные, переведенные в другие лечебные учреждения см. Приложение 1.6 7. Нозология больных, переведенных из других стационаров см. Приложение 1.7 8. Нозологическая таблица умерших см. Приложение 1.8 9. Нозология больных умерших по возрастам см. Приложение 1.9 10. Нозология умерших в возрасте от 0 до 6 дней жизни см. Приложение 1.10 11. Операции умерших см. Приложение 1.11 12. Нозология умерших до суток см. Приложение 1.12 13. Нозология инфекционных заболеваний см. Приложение 1.13 14. Распределение инфекционных заболеваний по отделениям см. Приложение 1.14 15. Распределение выбывших иногородних больных по каналам госпитализации и отделениям больницы см. Приложение 1.15 16. Число больных, переведенных в другие стационары, из них число новорожденных, переведенных в другие стационары, и число лиц, госпитализированных для обследования и оказавшихся здоровыми 17. Число новорожденных, умерших в возрасте от 0-6 суток, число умерших в первые 24 часа после поступления в стационар в возрасте 0-24 часа после рождения, до 1 года, в том числе от пневмонии 18. Число больных инфарктом миокарда, поступивших в первые сутки от начала заболевания, число больных инфарктом миокарда, умерших в первые 24 часа после поступления в стационар 19. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Таблицы 1-3,16-19 формируются для написания отчетов о деятельности стационара для администрации больницы и в вышестоящие организации, 4-15 - только для администрации больницы.

Взаимодействие программы с пользователем должно быть реализовано по следующему алгоритму 1. Ввод текущей даты. 2. Выбор из главного меню одной из следующих функций 2.1. Ввод данных перечень данных см. в Приложении 1.1 и печать 2.2. Коррекция ранее введенных данных 2.3. Поиск данных больного по ИБ или по Фамилии И.О 2.4. Получение отчетных форм за отчетный период с число, месяц по число, месяц 2.5. Выход из программы.

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

При выборе функции Выход из программы работа программы завершается.

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

Предусмотрен также режим Настройка программы , который должен обеспечивать адаптацию программы к изменяющимся справочникам, используемым в программе, а именно 1. Добавление и удаление списка отделений стационара 2. Добавление и удаление списка профилей коек 3. Добавление и удаление списка направляющих организаций 4. Добавление и удаление списка причин смерти 5. Добавление и удаление списка операций 6. Добавление и удаление списка районов 7. Добавление и удаление списка возрастов 8. Добавление и удаление списка учреждений, откуда и куда переводятся больные ДГКБ 13 9. Добавление и удаление причин перевода больного 10. Добавление и удаление причин направлений больного 11. Добавление и удаление стран содружеств и их шифров.

Режим настройки должен быть скрыт от конечного пользователя программы и доступен лишь администратору БД. Концептуальная модель БД ф. 066 у представлена в Приложении 14. 4.2. Требования к надежности.

Разработанная программа должна обладать средствами защиты от ошибочных действий персонала. 4.3. Условия эксплуатации.

Программа должна быть ориентирована на пользователя, не имеющего специальных навыков работы в области вычислительной техники и программирования. 4.4. Требования к составу и параметрам технических средств. Программу необходимо реализовать на базе ПЭВМ типа IBM PC XT AT с набором периферийных устройств принтер, дисплей с платой адаптера EGA VGA, накопителем на жестком диске с объемом не менее 40 МБ . 5. Требования к программной документации.

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

Приложение 1.1. Данные о больном, фиксируемые в форме 066 у 1. Номер истории болезни 2. Фамилия И.О 3. Пол 3.1. Мужской 3.2. Женский 4. Дата и время рождения год, месяц, число, время 5. Возраст 5.1. 0-6 дней. 5.2. 7-28 дней 5.3. 29 дней-3 мес. 5.4. 4-6 мес. 5.5. 7-9 мес. 5.6. 10-12 мес. 5.7. 1год 5.8. 2-3 года 5.9. 4-7 лет 5.10. 8-14 лет 5.11. 15 лет 6. Вес кг г 7. Проживает 7.1. Адрес постоянного местожительства 7.2. Район 7.2.1. Москва 7.2.2. Московская область 7.2.3. Иногородний 7.2.4. Сельский житель 7.2.5. Иностранец 8. Житель 8.1. Города 8.2. Села 9. Государство 10. Кем направлен 10.1. Род. дома, род. отделения больниц 10.2. Клиники, больницы 10.2.1. ДГКБ 32 10.2.2. ДГКБ 67 10.2.3. ДГКБ 1 10.2.4. ДКБ 11 10.2.5. ДГКБ 3 10.2.6. ГКБ 13 10.2.7. ДКБ 2 10.2.8. ДГКБ 9 10.2.9. 5 ДИБ 10.2.10. ДИБ 12 10.2.11. ДИБ 6 10.3. Поликлиники 10.4. Консультации 10.5. Минздрав России 10.6. Скорая 10.7. Самотек 10.8. ГУЗМ 10.9. Военная часть 10.10. Милиция 10.11. Повторные больные 10.12. ГУЗМО 10.13. РЗГВ 10.14. Прочее 11. Причина 11.1. Оперативное вмешательство 11.2. На гемодиализ 11.3. В реанимационное отделение 11.4. Прочее 12. Отделение 12.1. Микрохирургия 12.2. Хирургия новорожденных 12.3. Урология 12.4. Травматология 12.5. Гнойной хирургии 12.6. Торакальное 12.7. Искусственная почка 12.8. Нефрология 12.9. Терапия старшего возраста 12.10. Токсикология 12.11. Патология новорожденных 12.12. Лор 12.13. Реанимация 12.14. Неонатальный центр 13. Профиль коек 13.1. Хирургический 13.2. Терапевтический 13.3. Реологический 13.4. Реанимационный 14. Доставлен в стационар по экстренным показаниям 14.1. Да 14.2. Нет 15. Через сколько часов после заболевания получения травмы 15.1. в первые 6 часов 15.2. 7-24 ч. 15.3. позднее 24 ч. 16. Дата и время поступления в стационар год, месяц, число, время 17. Исход заболевания 17.1. выписан 17.2. умер 17.3. переведен 18. Если переведен 18.1. Куда 18.1.1. ДГКБ 32 18.1.2. ДГКБ 67 18.1.3. ДГКБ 1 18.1.4. ДКБ 11 18.1.5. ДГКБ 3 18.1.6. ГКБ 13 18.1.7. ДКБ 2 18.1.8. ДГКБ 9 18.1.9. 5 ДИБ 18.1.10. ДИБ 12 18.1.11. ДИБ 6 18.2. Причины перевода 18.2.1. по профилю 18.2.2. для дальнейшего лечения 18.2.3. оперативное вмешательство 19. Дата и время выписки, перевода, либо смерти год, месяц, число, час 20. Проведено дней вычисляется автоматически как разность между датой выписки, перевода, либо смерти и датой поступления 21. Диагноз направившего учреждения по МКБ 22. Госпитализирован в данном году по поводу данного заболевания 22.1. Впервые 22.2. Повторно 23. Диагноз стационара по МКБ 23.1. Основной 23.1.1. клинический 23.1.2. патологоанатомический 23.2. осложнения 23.2.1. клинический 23.2.2. патологоанатомический 23.3. сопутствующие заболевания 23.3.1. клинический 23.3.2. патологоанатомический 24. Причина смерти 24.1. основное заболевание 24.2. осложнения основного заболевания 24.3. другие важные заболевания, способствовавшие смертельному исходу, но не связанные с заболеванием или его осложнениями, послужившим непосредственной причиной смерти 25. Хирургические операции 25.1. Дата число, месяц, год 25.2. Название операции берется из каталога операций в ф. 14 - отчет о деятельности стационара и каталога операций из ф. 30-здрав - отчет ЛПУ 26. Обследование на реакцию Вассермана 26.1. Число, месяц, год 26.2. Результат 26.2.1. Положительный 26.2.2. Отрицательный 27. Фамилия, имя, отчество лечащего врача.

Приложение 1.2. Месячная таблица для отделений Хирургия новорожденных и Патология новорожденных должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни 5. Возраст 5.1. 0 - 6 дней 5.2. 7 - 14 дней 5.3. 15- 21 дня 5.4. 22- 28 дней 5.5. 29 дней - 3 мес. 5.6. 4 - 6 мес. 5.7. 7 - 9 мес. 5.8. 10 - 12 мес. 6. Всего до одного года 6.1. Всего 6.2. В т.ч. сельских жителей 6.3. К Д 6.4. В т.ч. сельских жителей 7. Выписано 7.1. Всего 7.2. Москва 7.3. Московская область 7.4. Иногородние 7.5. Сельские жители 7.6. Иностранцы 8. Первично Вторично 9. Направляющие организации.

Приложение 1.3. Месячная таблица для всех отделений стационара кроме отделений Хирургия новорожденных и Патология новорожденных должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни 5. Возраст 5.1. 29 дней 3 мес. 5.2. 4 - 6 мес. 5.3. 7 - 9 мес. 5.4. 10 - 12 мес. 6. Всего до одного года 6.1. Всего 6.2. В т.ч. сельских жителей 6.3. К Д 6.4. В т.ч. сельских жителей 7. Выписано до 14 лет 7.1. 1 год 7.2. 2 года 7.3. 3- 7 лет 7.4. 8- 17 лет 7.5. Всего 7.6. В т.ч. сельские жители 7.7. К Д 7.8. В т.ч. сельские жители 8. 15 лет и старше 8.1. Всего 8.2. В т.ч. сельские жители 8.3. К Д 8.4. В т.ч. сельские жители 9. Выписано всего 9.1. Всего 9.2. Москва 9.3. Московская область 9.4. Иногородние 9.5. Сельские жители 9.6. Иностранцы 9.7. К Д 10. Первично Вторично 11. Направляющие организации.

Приложение 1.4. Таблица распределения выбывших по возрасту и району за год должна включать следующие графы 1. Возраст 1.1. 0 - 6 дней 1.2. 7 - 28 дней 1.3. Всего новорожденных 1.4. 29 дней - 3 мес. 1.5. 4 - 6 мес. 1.6. 7 - 9 мес. 1.7. 10 - 12 мес. 1.8. Всего до одного года 1.9. Один год 1.10. 2 - 3 года 1.11. 4 - 7 лет 1.12. 8 - 14 лет 1.13. 15 лет 2. Всего выбыло 3. Число койко-дней выбывших 4. Число койко-дней умерших 5. Выбыло москвичей 6. По каждому возрасту исход 6.1. Выбыло домой 6.2. Переведено в другие учреждения 6.3. Умерло 7. Для каждого вида исхода распределение по районам 7.1. Москва 7.2. Московская область 7.3. Иногородние 7.4. Сельские жители 7.5. Иностранцы 8. Общее число больных 9. Общее число больных из прикрепленных районов 10. Общее число иногородних больных 11. Процент от общего числа больных из прикрепленных районов 12. Процент от общего числа больных иногородних Приложение 1.5. Таблица Состав больных выбывших в возрасте от 0 до 6 суток жизни должна включать следующие графы 1. Наименование болезни и шифр по МКБ 1.1. Острые распираторные инфекции 460 - 466 1.2. Пневмония 480-486 1.3. Инфекции кожи и подкожной клетчатки 680 - 686 1.4. Врожденные аномалии 740 - 759 1.5. Внутричерепная родовая травма 767.6 1.6. Другие родовые травмы 767.4-7 1.7. Внутриматочная гипоксия и асфиксия при родах 768 1.8. Синдром дыхательных расстройств и другие распираторные состояния 769, 770.1-9 1.9. Врожденные пневмонии 770.0 1.10. Инфекции, специфичные для перинатального периода 771.0-7 1.11. Сепсис новорожденных 771.8-часть 1.12. Гемолитическая болезнь, обусловленная иммунизацией 773 1.13. Другие болезни перинатальной желтухи 774 1.14. Прочие болезни плода и новорожденного 2. Количество детей с массой тела при рождении 2.1. До 1000 грамм 2.2. Большей либо равной 1000 грамм. 2.3. Для новорожденных с массой тела как меньшей 1000 грамм, так и большей либо равной 1000 грамм. 3. Поступило больных в первые 0 - 6 суток после рождения 4. Умерло 4.1. Всего 4.2. В том числе в первые 0 - 6 суток после рождения.

Приложение 1.6. Таблица Больные, переведенные в другие лечебные учреждения должна включать следующие графы 1. Наименование классов заболеваний 2. Шифр по МКБ 3. Общее количество больных, переведенных в другие лечебные учреждения по каждому классу заболеваний 4. Количество больных до года, переведенных в другие лечебные учреждения по каждому классу заболеваний 5. Причины перевода по каждому классу заболеваний.

Приложение 1.7. Таблица Нозология больных, переведенных из других лечебных учреждений должна включать следующие графы 1. Название болезни 2. Шифр по МКБ По каждому названию болезни 3. Количество детей 3.1. до 28 дней 3.2. до года 3.3. всего 4. Причины направления в ДГКБ 4.1. оперативное вмешательство 4.2. на гемодиализ 4.3. в реанимационное отделение 4.4. прочее 5. Из каких учреждений направлены больные.

Приложение 1.8. Таблица Нозология умерших должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни. 5. Пол 5.1. Всего мальчиков 5.2. Всего девочек Приложение 1.9. Таблица Нозология умерших больных по возрастам должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни 5. Пол 5.1. Всего мальчиков 5.2. Всего девочек 6. Возраст 6.1. 0 - 6 дней 6.2. 7 - 28 дней 6.3. Всего новорожденных 6.4. 29 дней - 3 мес. 6.5. 4 - 6 мес. 6.6. 7 - 9 мес. 6.7. 10 - 12 мес. 6.8. Всего до одного года 6.9. Койко-дни больных до одного года 6.10. Один год 6.11. 2 - 3 года 6.12. 4 - 7 лет 6.13. 8 - 14 лет 6.14. 15 лет 6.15. Всего умерло 6.16. Койко-дни всех умерших 7. Кем направлен 7.1. Род. Дома 7.2. Клиники, больницы 7.3. Поликлиники 7.4. Консультации 7.5. Минздрав России 7.6. Скорая 7.7. Самотек 7.8. ГУЗМ 7.9. Военная часть 7.10. Милиция 7.11. Повторные больные 7.12. ГУЗМО 7.13. РЗГВ 7.14. Прочее 8. Районы 8.1. Москва 8.2. Московская область 8.3. Иногородние 8.4. Сельские жители 8.5. Иностранцы 9. Сколько дней пробыл в больнице 9.1. До суток 9.2. Одни сутки 9.3. Двое суток 9.4. Трое суток 9.5. Свыше трех суток Приложение 1.10. Таблица Нозология умерших в возрасте от 0 до 6 дней жизни должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни. 5. Пол 5.1. Всего мальчиков 5.2. Всего девочек 6. Возраст 6.1. 0 - 1 дня 6.2. 2 - 3 дней 6.3. 4 - 6 дней 6.4. Всего умерло 7. Кем направлен 7.1. Род. Дома 7.2. Клиники, больницы 7.3. Поликлиники 7.4. Консультации 7.5. Минздрав России 7.6. Скорая 7.7. Самотек 7.8. ГУЗМ 7.9. Военная часть 7.10. Милиция 7.11. Повторные больные 7.12. ГУЗМО 7.13. РЗГВ 7.14. Прочее 8. Районы 8.1. Москва 8.2. Московская область 8.3. Иногородние 8.4. Сельские жители 9. Пробыло в стационаре 9.1. До суток 9.2. Сутки 9.3. Двое суток 9.4. Трое суток 9.5. Четверо суток 9.6. Пять суток 9.7. Шесть суток.

Приложение 1.11. Таблица Операции умерших должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе.

По каждому названию болезни 5. Количество оперированных больных всего На нервной системе 5.1. На головном мозге 5.2. На периферийной нервной системе 6. На эндокринной системе 6.1. Из них тиреотомии 7. Операции на органах зрения 7.1. По поводу глуакомы 7.2. По поводу энуклеации 7.3. По поводу катаракты 8. Операции на органах уха, горла, носа 8.1. Из них на ухе 9. Операции на органах дыхания 9.1. На миндалинах и аденоидах 9.2. Пульмонэктомия 9.3. Резекция доли легкого 9.4. Резекция сегмента легкого 10. Операции на сердце 10.1. На открытом сердце 10.2. Имплантации кардиостимулятора 11. Операции на сосудах 11.1. Операции на артериях 11.2. Операции на венах 12. Операции на органах брюшной полости 12.1. На желудке по поводу язвенной болезни 12.2. По поводу острой непроходимости кишечника 12.3. По поводу острого аппендицита 12.4. По поводу прободной язвы желудка 12.5. По поводу желудочно-кишечного кровотечения 12.6. По поводу ущемленной грыжи 12.7. По поводу острого холецистита 12.8. По поводу острого панкреатита 12.9. Аппендиктомии при хроническом аппендиците 12.10. Грыжеиссечение при неущемленной грыже 12.11. Холецистомии при хронических холециститах 12.12. Липафотомии диагностические 13. Операции на почках и мочеточниках 14. Операции на предстательной железе 15. Операции на женских половых органах 15.1. Выскабливание матки кроме аборта 15.2. По поводу стерилизации женщин 16. Акушерские операции 16.1. По поводу внематочной беременности 16.2. Наложение щипцов 16.3. Вакуум-экстрация 16.4. Кесарево сечение кроме малого влагалищного 16.5. Плодоразрушающие 16.6. Аборт 17. Операции на костно-мышечной системе 17.1. На костях и суставах 18. Операции на молочной железе 19. Операции на коже и подкожной клетчатке 19.1. Прочие операции 20. Для каждой операции число операций 21. В том числе детям до 14 лет включительно.

Приложение 1.12. Таблица Нозология умерших до суток должна включать следующие графы 1. Шифр классов болезней 2. Названия классов болезней 3. Шифр болезни в классе 4. Название болезни в классе. По каждому названию болезни. 5. Пол 5.1. Всего мальчиков 5.2. Всего девочек 6. Возраст 6.1. 0 - 6 дней 6.2. 7 - 14 дней 6.3. 15 - 21 дня 6.4. 22 дней - 28 дней 6.5. Всего новорожденных 6.6. 29 дней - 3 мес. 6.7. Всего умерло 7. Кем направлен 7.1. Род. Дома 7.2. Клиники, больницы 7.3. Поликлиники 7.4. Консультации 7.5. Минздрав России 7.6. Скорая 7.7. Самотек 7.8. ГУЗМ 7.9. Военная часть 7.10. Милиция 7.11. Повторные больные 7.12. ГУЗМО 7.13. РЗГВ 7.14. Прочее 8. Время пребывания в больнице 8.1. 0-30 мин 8.2. 30 мин 8.3. 1 час 8.4. 1-3 ч 8.5. 10-24 ч 8.6. более 24 ч 9. Койко-дни умерших.

Приложение 1.13. Таблица Нозология инфекционных заболеваний должна включать следующие графы 1. Шифр 1.1. Общее количество больных выбывших из стационара 1.2. Количество больных в возрасте до 1 года, выбывших из стационара 1.3. Количество койко-дней проведенное выписанными больными 1.4. Количество умерших 1.5. Количество умерших до года 1.6. Количество койко-дней умерших 1.7. Летальность от общего числа умерших. Приложение 1.14. Таблица Распределение инфекционных заболеваний по отделениям должна включать следующие графы 1. Шифр и название болезни 2. Отделение, в котором зарегистрировано данное заболевание.

Приложение 1.15. Таблица Распределения выбывших иногородних больных по каналам госпитализации и отделениям больницы должна включать следующие графы 1. Всего выписанных больных из больницы 1.1. из Москвы 1.2. иностранцев 2. Наименование страны содружества 3. Шифр страны По каждой стране содружества 4. Направляющее учреждение 5. Отделения больницы 6. Койко-дни 7. Всего выписанных иногородних больных 8. Процент иногородних больных от числа выписанных больных Приложение 2Описание применения Автоматизированной системы учета выбывших из стационара .1.Назначение программы.

Автоматизированная система учета выбывших из стационара условное обозначение КАРТА предназначена для автоматизации процесса заполнения формы 066 у Минздрава России и формирования на ее основе отчетных форм для стационара.

Программа позволяет во много раз сократить время получения справочной информации по выбывшим больным за отчетный период, практически исключить ошибки, возникающие при оформлении документов, упростить процедуру коррекции данных.

Программа обеспечивает 1. Ввод, хранение, коррекцию данных по выбывшим из стационара больных 2. Оформление печатных документов по данным о выбывших больных за отчетный период 3. Настройку на структуру конкретного стационара.

Программа ориентирована на пользователя, не являющегося профессионалом в области вычислительной техники. 2.Условия применения.

Программа КАРТА реализована для персональных ЭВМ IBM PC XT АТ со следующим набором периферийных устройств принтер, дисплей с платой адаптера EGA VGA, накопитель на жестком диске объемом не менее 40 МБ. Минимальный объем свободной оперативной памяти 540 КБ. Программа работает под управлением операционной системы MS DOS версии 3.1 и выше. Программа реализована на языке программирования Clipper Summer 87. 3.Описание задачи.

Программа обеспечивает ввод и хранение следующих данных 1. Номер истории болезни больного 2. Фамилия И.О. больного 3. Пол больного 4. Дата рождения 5. Время рождения 6. Возраст 7. Вес 8. Адрес постоянного местожительства 9. Район проживания 10. Горожанин селянин 11. Государство, гражданином которого является больной 12. Направляющая организация 13. Причина направления 14. Отделение стационара 15. Профиль койки 16. Доставлен в стационар по экстренным показаниям нет 17. Через сколько часов после заболевания получения травмы 18. Дата поступления в стационар 19. Время поступления в стационар 20. Исход заболевания 21. Дата выписки перевода смерти 22. Время выписки перевода смерти 23. Количество, проведенных в стационаре дней 24. Диагноз направившего учреждения 25. Госпитализирован впервые повторно 26. Диагноз стационара 27. Хирургические операции 28. Обследование на реакцию Вассермана 29. Фамилия И.О. лечащего врача.

Программа обеспечивает формирование отчетных документов Ш месячных по любому отделению стационара Ш годовых квартальных как по всему стационару, так и по любому его отделению 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. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Таблицы 1-3,16-19 формируются для написания отчетов о деятельности стационара для администрации больницы и в вышестоящие организации, 4-15 - только для администрации больницы.

Различия между месячными и квартальными отчетами наблюдаются только в составе информации, выводимой в таблицы.

И те, и другие отчеты могут формироваться за любой период.

Программа обеспечивает использование и настройку следующих видов справочников 1. Справочник названий отделений стационара 2. Справочник названий профилей коек 3. Справочник названий направляющих организаций 4. Справочник причин смерти 5. Справочник названий районов 6. Справочник возрастов 7. Справочник названий учреждений, откуда и куда переводятся больные 8. Справочник причин перевода больного 9. Справочник причин направлений больного 10. Справочник названий стран содружества и их шифров. 4. Входная и выходная информация программы. 4.1 Входная информация.

Входной информацией программы является следующая Ш данные, вводимые пользователем Ш данные, хранящиеся в базе данных по пациентам Ш текущая системная дата Ш данные, хранящиеся в справочных базах данных 4.2 Выходная информация.

Выходной информацией программы является следующая Ш данные, введенные пользователем в базу данных по пациентам Ш отчетные документы.

Приложение 3Руководство оператора Автоматизированной системы учета выбывших из стационара .1.Введение.

Автоматизированная система учета выбывших из стационара условное обозначение КАРТА предназначена для автоматизации процесса заполнения формы 066 у Минздрава России и формирования на ее основе отчетных форм для стационара.

Программа обеспечивает Ш Ввод, хранение, коррекцию данных по выбывшим из стационара больным Ш Оформление печатных документов по данным о выбывших больных за отчетный период Ш Настройку на структуру конкретного стационара.

Программа ориентирована на пользователя, не являющегося профессионалом в области вычислительной техники. 2.Условия выполнения программы.

Программа КАРТА реализована на персональных ЭВМ IBM PC XT AT со следующим набором периферийных устройств принтер, дисплей с платой адаптера EGA VGA, накопитель на жестком диске объемом не менее 80 Мб. Минимальный объем свободной оперативной памяти 540 Кб. Программа работает под управлением операционной системы MS DOS версии 3.1 и выше. 3.Выполнение программы. 3.1 Запуск программы.

Для запуска программы необходимо набрать в командной строке karta и нажать клавишу ENTER. Об успешном запуске программы свидетельствует приглашение ввести дату см пункт 3.2.1 . 3.2 Выполнение программы.

Процесс работы с программой разбивается на несколько этапов Ш ввод текущей даты Ш работа в главном меню Ш ввод новых данных Ш коррекция введенных данных Ш формирование и печать отчетов за выбранный период Ш настройка программы на структуру конкретного стационара Ш выход из программы. 3.2.1 Ввод текущей даты При запуске программы на экране появляется заставка с надписью СЕГОДНЯ и некоторой датой.

На машинах, снабженных автономными встроенными часами, будет выведена текущая дата, на других машинах выводится дата, установленная последней системной командой DATE . Для подтверждения даты нажмите клавишу ENTER, для изменения - наберите нужную дату и нажмите клавишу ENTER. Внимание! Можно также ввести любую дату, а не только текущую. 3.2.2 Работа в главном меню. Главное меню программы содержит следующие пункты Ш создание Ш удаление Ш редактирование Ш навигация Ш отчеты Ш выход.

Перемещение по пунктам главного меню осуществляется клавишами перемещения курсора стрелка вправо, стрелка вниз и стрелка влево, стрелка вверх.

Выбор и отказ от выбора пункта меню осуществляется клавишами ENTER и ESC соответственно.

В нижней части экрана имеется подсказка о тех действиях, которые будут производиться при выборе соответствующего пункта главного меню. 3.2.3 Ввод новых данных Если выбран пункт главного меню СОЗДАНИЕ , то можно ввести данные в новую карту, выбывшего из стационара другими словами, заполнить новую форму 066 у . Перед вами высвечивается приглашение для введения номера истории болезни вновь выбывшего из стационара больного.

Внимание! Новая карта будет создана только в том случае, если информации о больном, с введенным вами номером истории болезни, в базе данных нет. После этого на экране появляется текст, который содержит основные пункты формы 066 у, подлежащие заполнению см. пункт 3 Описания применения . Движение по этому тексту осуществляется клавишами перемещения курсора, при этом по экрану перемещается световое пятно . Для заполнения нужного пункта КАРТЫ надо подвести световое пятно к данному пункту текста и нажать клавишу ENTER. Если данный пункт формы 066 у может содержать одно из наперед заданных значений, то на экран выводятся все эти значения и пользователь, используя клавиши перемещения курсора и клавишу ENTER, осуществляет выбор используя клавишу ESC, можно выйти из данного пункта КАРТЫ без выбора какого-либо значения . Все эти, наперед заданные значения хранятся в справочниках. Если данный пункт может содержать любое значение, то пользователю предлагается ввести его самому.

Возврат в основное меню происходит по нажатию клавиши F10. Внимание! Если некоторые пункты КАРТЫ а именно, те которые нужны для составления отчетных документов не будут заполнены, то вновь введенная форма не будет сохранена.

При попытке выхода, в этом случае, пользователю будет предложено заполнить нужные пункты КАРТЫ. 3.2.4. Редактирование ранее введенных форм. Выбрав пункт главного меню Редактирование , пользователь может произвести коррекцию любой ранее введенной формы, хранящейся в БД. Для этого ему предлагается либо ввести номер истории болезни, либо фамилию интересующего его больного.

Коррекция осуществляется по тем же правилам, что и при Создании см. пункт 3.2.3 Для поиска КАРТЫ интересующего больного, пользователь может использовать Навигатор БД см. пункт 3.2.5 Пользователь имеет возможность получить твердую копию отредактированной им КАРТЫ. Для этого ему надо, находясь в режиме Редактирование , сделать следующее Ш включить принтер Ш вставить в принтер лист бумаги Ш нажать клавишу F5. Перед пользователем появится меню, пунктами которого являются 1. Печатать текущий раздел документа , т.е. тот пункт КАРТЫ, на котором в данный момент находится курсор световое пятно 2. Печатать весь документ , т.е. всю данную КАРТУ целиком 3. Отказ от печати . Клавишами перемещения курсора и клавишей ENTER пользователь осуществляет выбор. 3.2.5. Навигация просмотр БД. Выбрав пункт Навигатор , пользователь может просмотреть всю информацию, которая хранится в БД. Для этого ему предлагается меню второго уровня, используя пункты Текущая карта , Следующая карта и Предыдущая карта которого, пользователь может последовательно просмотреть всю БД. При этом в нижней части экрана будет представлены номер истории болезни пациента, его фамилия и дата выписки, соответствующие очередной КАРТЕ. Кроме того, пользователь может ввести условия просмотра Ш либо номер истории болезни интересующего его больного в этом случае, пользователь будет просматривать БД, начиная с КАРТЫ с введенным номером истории болезни если она есть в БД если КАРТЫ с введенным номером истории болезни в БД нет, то будет представлена первая КАРТА с номером большим, чем у заданной Ш либо фамилию больного Ш либо дату выписки больного из стационара в этом случае, пользователь будет просматривать КАРТЫ больных, выписанных во введенную дату и во все последующие дни . Возврат в основное меню - по F10 или по ESC. Внимание! После выхода из Навигатора текущим номер истории болезни становится тот номер, который был у последней из просмотренных КАРТ. Это можно использовать для поиска и последующего редактирования интересующей пользователя КАРТЫ или для ее удаления см. пункт 3.2.6 . 3.2.6. Удаление КАРТ. Выбрав этот пункт основного меню, пользователь получает возможность, путем последовательного просмотра БД, помечать определенные им КАРТЫ на удаление.

Внимание! Помеченные пользователем на удаление КАРТЫ после выполнения пункта Удаление физически удаляются из БД. 3.2.7. Получение отчетных форм. Выбрав пункт главного меню Отчеты , можно получить отчеты фиксированной формы на основе введенной информации.

Предлагается меню со следующими пунктами Ш Месячные отчеты Ш Квартальные отчеты.

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

Для этого пользователю предлагается указать названия отделения, по которому будет формироваться отчет.

Если отделение не будет указано, то отчет формироваться не будет.

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

Выбор осуществляется с помощью следующего меню 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. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Можно получить квартальные отчеты, как по всему стационару, так и по любому его стационару.

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

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

Для ввода даты наберите чч мм гг на клавиатуре и нажмите клавишу ENTER. Для отказа от ввода нажмите клавишу ESC. После обработки получается необходимая отчетная форма, которая изображается на экране и сохраняется в файле. Можно получить твердую копию отчетной формы на принтере.

Чтобы получить твердую копию на принтере необходимо выполнить следующие действия Ш включить принтер Ш вставить в принтер лист бумаги Ш выбрать в меню альтернативу с заголовком Выводить отчет на печать . Всюду для возврата в предыдущее меню используйте клавишу ESC. Внимание! Некоторые отчетные документы имеют большую ширину, поэтому для их распечатки необходим широкий принтер.

Ширину отчета можно определить при его просмотре после того, как он появится на экране. 3.2.8. Настройка.

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

Подробнее процедура настройки описана в Руководстве системного программиста . 3.2.9. Выход из программы.

Для окончания работы с программой КАРТА следует выбрать пункт Выход главного меню. Приложение 4Руководство системного программиста Автоматизированной системы учета выбывших из стационара 1. Общие сведения о программе ВНИМАНИЕ! Перед прочтением данного документа следует ознакомиться с документами Описание применения и Руководство оператора . Системному программисту необходимо также ознакомиться с документом Текст и описание программы . Автоматизированная система учета выбывших из стационара условное обозначение КАРТА предназначена для автоматизации процесса заполнения формы 066 у Минздрава России и получения на ее основе фиксированных отчетных форм. Программа обеспечивает 1. Ввод, хранение, коррекцию данных по выписанным из стационара больным 2. Оформление печатных документов по данным о выписанных больных за отчетный период 3. Настройку на структуру конкретного стационара.

Программа КАРТА реализована на персональных ЭВМ IBM PC XT AT со следующим набором периферийных устройств принтер, дисплей с платой адаптера EGA VGA, накопитель на жестком диске объемом не менее 80 Мб. Минимальный объем свободной оперативной памяти 540 Кб. Программа работает под управлением операционной системы MS DOS версии 3.1 и выше. Перед первым запуском программы в файл AUTOEXEC.BAT необходимо включить запись SET CLIPPER F50. В файле CONFIG.SYS параметр FILES установить равным 50 FILES 50 . Программа реализована на языке программирования Clipper Summer 87. 2.Структура базы данных 2.1 Общая структура База данных БД программы КАРТА состоит из следующих основных компонентов Ш Таблица для хранения данных по пациентам Ш Таблица для хранения шаблона формы N66 у Ш Таблица для хранения справочных данных и данных для настройки программы структуру конкретного стационара Ш Таблица для формирования и хранения отчетных документов. 2.2 Файловая структура БД Каждая таблица включает в себя файл ы данных и файл ы индексов. Таблица для хранения данных по пациентам содержит файлы КАRТА66.DBF и КАRТА66.NTX DIA66.DBF и DIA66.NTX OP66.DBF и OP66.NTX Таблица для хранения шаблона формы 066 у содержит файлы MENU.DBF и MENU.NTX Таблица для хранения справочных данных содержит файлы CODIF.DBF и CODIF.NTX Таблица для формирования и хранения отчетных документов содержит файлы CLASS.DBF и CLASS.NTX GRUP1.DBF и GRUP1.NTX GRUP2.DBF и GRUP2.NTX BUFF8.DBF и BUFF8.NTX Кроме того, имеются файлы с информацией для представления отчетов в удобной для пользователя форме OTD.FRM OTD1.FRM OTD2.FRM OTD5.FRM, OTD51.FRM NEONAT.FRM OTCH.FRM OTCH1.FRM OTCH2.FRM OTCH3.FRM OTCH4.FRM, OTCH41.FRM OTCH5.FRM OTCH6.FRM OTCH7.FRM OTCH8.FRM OTCH9.FRM OTCH91.FRM OTCH92.FRM OTCH10.FRM OTCH101.FRM OTCH102.FRM OTCH11.FRM OTCH111.FRM OTCH112.FRM OTCH12.FRM OTCH121.FRM OTCH13.FRM OTCH14.FRM OTCH15.FRM OTCH151.FRM OTCH16.FRM OTCH17.FRM OTCH18.FRM OTCH19.FRM 2.3 Структуры файлов БД 2.3.1 Структура файла KARTA66.DBF. ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM IB C 7 номер истории болезни FAM C 30 фамилия больного F S NAME C 30 имя, отчество больного DATE B D 8 дата рождения HOUR B N 2 часы рождения MINS B N 2 минуты рождения OLD N 2 код возраста POL N 1 код пола MASSA C 6 масса PLACE LIV C 60 адрес RAION N 2 код района CITY VIL N 1 код горожанин селянин DIRECT1 N 2 код направляющего учреждения DIRECT2 N 2 код стационара STATE N 2 код государства WHY N 1 код причины направления DEPARTMENT N 2 код отделения стационара KOIKA N 2 код профиля койки PASS N 1 код состояния поступления TIME N 1 код поступления после болезни DATE IN D 8 дата поступления в стационар HOUR IN N 2 часы поступления MINS IN N 2 минуты поступления END1 N 1 код исхода END2 N 1 код причины исхода END3 N 2 код учреждения для перевода DATE END D 8 дата исхода HOUR END N 2 часы исхода MINS END N 2 минуты исхода ALL DAY N 2 количество дней в стационаре DIA DIRECT C 4 направляющий диагноз NUM COME N 1 код числа поступлений RW DATE D 8 дата анализа на RW RW REZ N 1 код результата RW FAM DOCTOR N 2 код фамилии лечащего врача Индексное выражение для файла NUM IB. 2.3.2 Структура файла DIA66.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM IB C 7 номер истории болезни KOD1 C 1 код заболевания KOD2 C 1 код диагноза SHIFR C 4 шифр заболевания COMM M 10 названия заболеваний Индексное выражение для файла NUM IB KOD1. 2.3.3 Структура файла OP66.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUM I C 7 номер истории болезни SHIFR C 4 шифр операции DATA D 8 дата операции COMM M 10 название операции Индексное выражение для файла NUM IB. 2.3.4 Структура файла MENU.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ KEY C 9 ключ элемента 66 формы TEXT C 60 текст элемента Индексное выражение для файла KEY. 2.3.5 Структура файла CODIF.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ KEY C 9 ключ элемента справочника TEXT C 60 текст элемента справочника Индексное выражение для файла KEY. 2.3.6 Структура файла CLASS.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NAME CLASS C 100 название класса заболеваний SHIFR LEFT C 4 левая граница класса SHIFR RIGH C 4 правая граница класса Индексное выражение для файла SHIFR LEFT. Файлы GRUP1.DBF и GRUP2.DBF имеют аналогичную структуру. 2.3.7 Структура файла BUFF8.DBF ИМЯ ТИП ДЛИНА СОДЕРЖАНИЕ NUMBER C 2 Содержание каждого поля SHIFR C 4 зависит от вида отчетного NAME C 100 документа, который формируется NAMECL C 100 и затем хранится в SHIFRL C 4 этой базе данных.

SHIFRR C 4 COUNT1 N 10 COUNT2 N 10 A1 N 5 E1 N 5 Индексное выражение для файла SHIFR. 3. Структура программы КАРТА 3.1 Общие сведения о структуре программы Структура программы КАРТА представлена на рис.6. Рис. 6. Логическая структура программы Программа состоит из 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. Число умерших беременных, рожениц и родильниц, из них число умерших от заболеваний, осложняющих беременность и роды. Модуль настройки выполняет следующие функции Ш организация меню настройки Ш коррекция справочников по структуре стационара.

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

Связь между отдельными модулями второго уровня осуществляется только по данным через глобальные переменные и файлы активной базы данных.

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

Для корректировки справочников необходимо, находясь в главном меню программы, нажать Ctrl-F10. При этом пользователь попадает в меню со следующими альтернативами Ш выбор и изменение списка отделений стационара Ш выбор и изменение списка профилей коек Ш выбор и изменение списка направляющих организаций Ш выбор и изменение списка причин смерти Ш выбор и изменение списка районов Ш выбор и изменение списка возрастов Ш выбор и изменение списка причин перевода Ш выбор и изменение списка причин направлений Ш выбор и изменение списка стран содружества.

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

В меню, для добавления нового элемента необходимо нажать клавишу INS. При этом вам будет предложено ввести новое название.

Введите его и нажмите клавишу ENTER. Для удаления элемента нажмите клавишу DEL. Предоставляется другое меню из двух альтернатив Удалять элемент из списка , Не удалять . Для отказа от удаления выберите пункт Не удалять и нажмите клавишу ENTER либо клавишу ESC. Для удаления стационара выберите пункт меню Удалять стационар из списка и нажмите клавишу ENTER. При нажатии клавиши ENTER осуществляется выбор текущего элемента в списке с целью его переименования.

Введите новое название и нажмите клавишу ENTER. ESC означает отказ от переименования.

При нажатии ESC происходит возврат в предыдущее меню. 5. Сообщения системному программисту В программе не предусмотрено специальных сообщений для системного программиста.

При работе программы возможна выдача сообщений исполнительной системой Clipper.

Типичными сообщениями могут быть Ш Not enought memory , Memory fault - по этим сообщениям следует удалить из оперативной памяти все резидентные программы, кроме русификаторов.

Ш Unable to open file имя файла - следует проверить наличие в директории указанного файла и при его отсутствии скопировать с резервной дискеты.

В более сложных случаях следует записать сообщение и ситуацию, в которой оно возникло и обратиться к разработчикам программы Приложение 5Текст и описание программы Автоматизированная система учета выбывших из стационара .1. Общие сведения о программе.

ВНИМАНИЕ! Перед прочтением данного документа следует ознакомиться с документами Описание применения и Руководство оператора . Автоматизированная система учета выбывших из стационара условное обозначение КАРТА предназначена для автоматизации процесса заполнения формы 066 у Минздрава и получения фиксированных отчетных форм. Программа работает под управлением операционной системы MS DOS версии 3.1 и выше. Перед первым запуском программы в файл AUTOEXEC.BAT необходимо включить запись SET CLIPPER F50. В файле CONFIG.SYS параметр FILES установить равным 50 FILES 50 . Программа реализована на языке программирования Clipper Summer 87. 2. Функциональное назначение.

Программа выполняет следующие функции 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 Кб. 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 0 ОСНОВНОЙ ЦИКЛ ПРОГРАММЫ 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 ret -1 2,1,4,78 BOX f3 fon2 sel SELECT SELECT KARTA SET CURSOR ON DO WHILE !gotomain SET COLOR TO color2 3,28 SAY Номер ИБ GET NUM IB PICTURE R 99 9 READ IF LASTKEY 27 ESC ret -1 EXIT ENDIF IF LEN ALLTRIM NUM IB 7 SEEK NUM IB IF FOUND TONE 100,3 message e , ТАКАЯ ЗАПИСЬ УЖЕ СУЩЕСТВУЕТ,ПРОВЕРЬТЕ HОМЕР ИБ LOOP ENDIF ret 0 EXIT ELSE TONE 100,3 message e , HЕ ЗАПОЛHЕH НОМЕР ИБ,ПРОВЕРЬТЕ ЗАПИСЬ ret -1 ENDIF ENDDO SELECT sel RETURN ret DET - функция поиска необходимой для редактирования записи FUNCTION det PRIVATE ret1,menu1 PRIVATE sel1,clr1,screen1 ret1 2 sel1 SELECT clr1 SETCOLOR SELECT karta SET COLOR TO color5 10,8 CLEAR TO 14,72 SAVE SCREEN TO screen1 11,15 PROMPT ВВЕДИТЕ НОМЕР И Б 13,15 PROMPT ВВЕДИТЕ ФАМИЛИЮ БОЛЬНОГО MENU TO menu1 IF menu1 0 ret1 0 ELSEIF menu1 1 SET CURSOR ON 11,45 GET NUM IB PICTURE R 99 9 READ SET CURSOR OFF SEEK NUM IB IF FOUND ret1 1 ENDIF ELSEIF menu1 2 SET CURSOR ON 13,45 GET FAM PICTURE K VALID RUSSIAN FAM READ SET CURSOR OFF SET FILTER TO FAM ALLTRIM FAM GO TOP IF !EOF ret1 1 NUM IB NUM IB ENDIF SET FILTER TO ENDIF RESTORE SCREEN FROM screen1 SELECT sel1 SET COLOR TO clr1 RETURN ret1 ЗАПОЛНЕНИЕ 66 ФОРМЫ PROCEDURE edit PARAMETERS do edit PRIVATE wt,wb,wl,wr,choice,beg line,length,string,string1,title PRIVATE sel,str,i ОБЪЯВЛЕНИЕ МЕНЮ PRIVATE last,numenu last SELECT numenu 1 select 0 use menu.dbf index menu alias menu numenu RECCOUNT DECLARE promp numenu-1 ,vars numenu-1 ,row numenu-1 ,col numenu-1 массив промптеров для основного меню GO TOP i 1 SEEK MAIN title STRTRAN ALLTRIM text , Н , H SKIP DO WHILE !EOF LEFT KEY,4 MAIN promp i STRTRAN ALLTRIM text , Н , H i i 1 SKIP ENDDO use SELECT last КОНЕЦ ОБЪЯВЛЕНИЯ AFILL vars, AFILL col,1 wt 3 wb 22 wl 2 wr 77 length wr-wl 1 Длина строки текста, выводимого на экран beg line 1 PRIVATE New Str Признак новой строки для Context New Str .F. Без выделения промптеров s IF KARTA- END1 3,6,3 DECLARE promp1 s ,vars1 s ,row1 s ,col1 s массив промптеров дополн. меню promp1 1 Основное заболевание promp1 2 Осложнения promp1 3 Сопутствующие заболевания AFILL vars1, AFILL col1,1 IF s 6 promp1 4 Основное заболевание promp1 5 Осложнения promp1 6 Сопутствующие заболевания ENDIF DO initial Процедура формирования выводимого текста cur promp 1 3,1 CLEAR TO 22,78 DO WHILE .T. IF gotomain.AND.do edit IF yesno 12, Сохранить изменения в базе данных ? 1 IF all r DO new save RETURN ELSE gotomain .F. ENDIF ELSE RETURN ENDIF ELSEIF gotomain.AND do edit RETURN ENDIF new str .F. choice hypertxt wt,wl,wb,wr,string,promp,row,col, beg line, cur promp,color8, title cur promp cur promp len promp 1 IF do edit i choice DO CASE CASE i 0 LOOP CASE i 1 LOOP CASE i 2 vars i offset get wt,wl,beg line,row i ,col i ,promp i , FAM RUSSIAN FAM CASE i 3 vars i offset get wt,wl,beg line,row i ,col i ,promp i , F S NAME RUSSIAN F S NAME CASE i 4 DATE IN d input DATE IN vars i DTOC DATE IN ALL DAY DATE END- DATE IN IF ALL DAY 0 ALL DAY 1 ENDIF DO ch day Изменение количества дней, проведеннх в стационаре CASE i 5 vars i offset get wt,wl,beg line,row i ,col i ,promp i , time IN, 99.99 , check T time IN HOUR IN VAL SUBSTR time IN,1,2 MINS IN VAL SUBSTR time IN,4,5 CASE i 6 vars i codif1 POLS , POL CASE i 7 DATE B d input DATE B vars i DTOC DATE B CASE i 8 vars i offset get wt,wl,beg line,row i ,col i ,promp i , time B, 99.99 , check T time B HOUR B VAL SUBSTR time B,1,2 MINS B VAL SUBSTR time B,4,5 y m day DATE B, HOUR B, MINS B, DATE IN, HOUR IN, MINS IN CASE i 9 vars i codif1 OLDS , OLD CASE i 10 vars i m input Ввод веса тела CASE i 11 vars i offset get wt,wl,beg line,row i ,col i ,promp i , PLACE LIV CASE i 12 vars i codif1 RIGS , RAION CASE i 13 vars i codif1 CITZ , CITY VILL CASE i 14 vars i codif1 DIRS , DIRECT1 IF DIRECT1 1 vars i codif1 BIRS , DIRECT2 ELSEIF DIRECT1 2 vars i codif1 HOSP , DIRECT2 ELSE DIRECT2 0 ENDIF CASE i 15 vars i codifpic CODIF , STTE , STATE IF STATE 1 promp i Регион vars i codifpic CODIF , PLCE , PLACE ELSE promp i Государство ENDIF CASE i 15 vars i codif1 RIZS , WHY CASE i 16 vars i codif1 DEPS , DEPARTMENT CASE i 17 vars i codif1 KOIK , KOIKA CASE i 18 vars i codif1 EXTR , PASS CASE i 19 vars i codif1 TIMS , TIME CASE i 20 vars i codif1 REZS , END1 CASE i 21 DATE END d input DATE END vars i DTOC DATE END ALL DAY DATE END- DATE IN IF ALL DAY 0 ALL DAY 1 ENDIF IF ALL DAY 0.AND.EMPTY DATE IN .F. vars i vars i SPACE 5 Проведено дней в стационаре STR ALL DAY ENDIF CASE i 22 vars i offset get wt,wl,beg line,row i ,col i ,promp i , time END, 99.99 , check T time END HOUR END VAL SUBSTR time END,1,2 MINS END VAL SUBSTR time END,4,5 CASE i 23 PRIVATE txtd txtd SPACE 100 vars i offset get wt,wl,beg line,row i ,col i ,promp i , DIA DIRECT, R 999.9 mkb 1,1, DIA DIRECT, txtd IF DIA DIRECT vars 23 ELSE vars 23 SUBSTR DIA DIRECT,1,3 . SUBSTR DIA DIRECT,4,1 TRIM txtd new str .T. ENDIF RELEASE txtd CASE i 24 vars i codif1 VIZI , NUM COME CASE i 27 RW DATE d input RW DATE vars i DTOC RW DATE CASE i 28 vars i codif1 RWRZ , RW REZ CASE i 29 vars i codifpic CODIF , FAMS , FAM DOCTOR CASE i 25 vars i diagn new str .T. CASE i 26 DO op new str .T. ENDCASE string1 IF choice 25.AND.choice 26 vars choice TRIM vars choice . ENDIF context string1,promp choice ,vars choice ,length, New Str IF choice 20 IF END1 2 переведен context string1, Причина ,codif1 RIZ2 , END2 . ,length F. context string1, Куда ,codif1 HOSP , END3 . ,length F. ELSEIF END1 3 умер context string1, Причина ,codif1 RIZ3 , END2 . ,length F. ENDIF ELSEIF choice 22.AND. END1 3 y m day DATE B, HOUR B, MINS B, DATE END, HOUR END, MINS END context string1, Возраст на момент смерти , extra1 OLD D, OLDS . ,length F. ELSEIF choice 26 context string1, Обследование на реакцию ВАССЕРМАНА , ,length F. ENDIF stuff1 string,length,string1,choice,row,len promp ENDIF ENDDO RETURN ПРОЦЕДУРА ФОРМИРОВАНИЯ СОДЕРЖИМОГО 66 ФОРМЫ PROCEDURE initial PRIVATE sel,i,v PRIVATE rez SET CURSOR OFF sel SELECT v replicate chr 176 ,30 13,25 SAY v SELECT karta vars 1 SUBSTR NUM IB,1,2 SUBSTR NUM IB,3,7 vars 2 FAM FAM FAM vars 3 F S NAME F S NAME F S NAME vars 4 DTOC DATE IN DATE IN DATE IN HOUR IN HOUR IN MINS IN MINS IN IF HOUR IN 0.AND. MINS IN 0 time IN 00.00 ELSEIF HOUR IN 0 time IN 00. STR MINS IN ELSEIF MINS IN 0 time IN STR HOUR IN .00 ELSE time IN STR HOUR IN . STR MINS IN ENDIF vars 5 time IN vars 6 extra1 POL, POLS POL POL vars 7 DTOC DATE B DATE B DATE B HOUR B HOUR B MINS B MINS B IF HOUR B 0.AND. MINS B 0 time B 00.00 ELSEIF HOUR B 0 time B 00. STR MINS B ELSEIF MINS B 0 time B STR HOUR B .00 ELSE time B STR HOUR B . STR MINS B ENDIF vars 8 time B vars 9 extra1 OLD, OLDS OLD OLD OLD D OLD D vars 10 MASSA MASSA MASSA vars 11 PLACE LIV PLACE LIV PLACE LIV vars 12 extra1 RAION, RIGS RAION RAION vars 13 extra1 CITY VILL, CITZ CITY VILL CITY VILL DIRECT1 DIRECT1 DIRECT2 DIRECT2 vars 14 IF DIRECT2 0,extra1 DIRECT1, DIRS , IF DIRECT1 1,extra1 DIRECT2, BIRS , extra1 DIRECT2, HOSP promp 15 IF PLACE 0, Регион , Государство vars 15 IF STATE 0,IF STATE 1, IF PLACE 0, Российская Федерация ,extra1 PLACE, PLCE , extra1 STATE, STTE , Российская Федерация STATE IF STATE 0,1,STATE PLACE PLACE vars 16 extra1 DEPARTMENT, DEPS DEPARTMENT DEPARTMENT vars 17 extra1 KOIKA, KOIK KOIKA KOIKA vars 18 extra1 PASS, EXTR PASS PASS vars 19 extra1 TIME, TIMS TIME TIME END1 END1 END2 END2 END3 END3 vars 20 extra1 END1, REZS vars 21 DTOC DATE END DATE END DATE END HOUR END HOUR END MINS END MINS END IF HOUR END 0.AND. MINS END 0 time END 00.00 ELSEIF HOUR END 0 time IN 00. STR MINS END ELSEIF MINS END 0 time IN STR HOUR END .00 ELSE time END STR HOUR END . STR MINS END ENDIF vars 22 time END ALL DAY ALL DAY IF !EMPTY DATE END vars 21 vars 21 SPACE 5 Проведено дней в стационаре STR ALL DAY ENDIF DIA DIRECT SHIFR IF DIA DIRECT PRIVATE txtd txtd SPACE 100 mkb 1,1, DIA DIRECT, txtd vars 23 SUBSTR DIA DIRECT,1,3 . SUBSTR DIA DIRECT,4,1 TRIM txtd RELEASE txtd ELSEIF DIA DIRECT vars 23 DIA DIRECT ENDIF vars 24 extra1 NUM COME, VIZI NUM COME NUM COME vars 27 DTOC RW DATE RW DATE RW DATE vars 28 extra1 RW REZ, RWRZ RW REZ RW REZ vars 29 extra1 FAM DOCTOR, FAMS FAM DOCTOR FAM DOCTOR v replicate chr 178 ,10 13,25 SAY v vars 25 initial1 DIA66 v replicate chr 178 ,20 13,25 SAY v SELECT op66 SET SOFTSEEK ON seek num ib SET SOFTSEEK OFF IF !FOUND vars 26 Хирургические операции SHIFR ILL 0000 SHIFR ILL ELSE PRIVATE txts,string8 txts SPACE 70 STORE TO string8 DO WHILE NUM IB NUM IB SHIFR ILL SHIFR catalog SHIFR ILL, txts txts TRIM txts context string8, ,txts,length F. context string8, Дата проведения ,DTOC DATA . ,length F. context string8, Название операции ,ALLTRIM COMM ,length F. vars 26 string8 SKIP 1 ENDDO RELEASE txts,string8 SELECT BUFF2 COMMIT APPEND FROM OP66 FOR NUM IB NUM IB ENDIF v replicate chr 178 ,30 13,25 SAY v ФОРМИРОВАНИЕ ТЕКСТА string Начальный текст SELECT karta SEEK NUM IB rez FOUND New Str .F. FOR i 1 TO LEN promp IF i 23.AND. DIA DIRECT .OR.i 25.OR.i 26 New Str .T. ENDIF IF rez.AND EMPTY vars i row i context string,promp i ,TRIM vars i . ,length, New Str ELSE row i context string,promp i ,vars i ,length,New Str ENDIF New Str .F. IF i 20 Промпт ИСХОД IF END1 2 переведен context string, Причина ,extra1 END2, RIZ2 . ,length F. context string, Куда ,extra1 END3, HOSP . ,length F. ELSEIF END1 3 умер context string, Причина ,extra1 END2, RIZ3 . ,length F. ENDIF ELSEIF i 22.AND. END1 3 context string, Возраст на момент смерти , extra1 OLD D, OLDS . ,length F. ELSEIF i 26 context string, Обследование на реакцию ВАССЕРМАНА , ,length F. ENDIF NEXT SET CURSOR ON SELECT sel RETURN Функция инициализации диагнозов FUNCTION initial1 PARAMETERS DBN PRIVATE sl,rez1 SET CURSOR OFF sl SELECT SELECT DBN SET SOFTSEEK ON SEEK NUM IB SET SOFTSEEK OFF rez1 FOUND IF !rez1 vars1 1 Основной диагноз vars1 2 Осложнения vars1 3 Сопутствующие заболевания IF END1 3 vars1 4 Основной диагноз vars1 5 Осложнения vars1 6 Сопутствующие заболевания ENDIF SHIFR SPACE 4 SHIFR KOD1 0 KOD1 KOD2 0 KOD2 ELSE PRIVATE txts,string2,string3,string4,string5,str ing6,string7 txts SPACE 100 STORE TO string2,string3,string4,string5,string6, string7 DO WHILE NUM IB NUM IB KOD1 KOD1 KOD2 KOD2 SHIFR SHIFR IF SHIFR 0000 txts Здоров ELSE IF KOD1 1 .OR. KOD1 2 .AND. KOD2 2 mkb 1,1, SHIFR, txts ENDIF ENDIF txts SUBSTR SHIFR,1,3 . SUBSTR SHIFR,4,1 TRIM txts IF KOD2 2 IF KOD1 1 context string2, ,txts,length F. context string2, ,ALLTRIM COMM1 ,length F. vars1 1 string2 ELSEIF KOD1 2 context string3, ,txts,length F. vars1 2 string3 ELSEIF KOD1 3 context string4, ,ALLTRIM COMM1 ,length F. vars1 3 string4 ENDIF ELSEIF KOD2 2 .AND. END1 3 IF KOD1 1 context string5, ,txts,length F. context string5, ,ALLTRIM COMM1 ,length F. vars1 4 string5 ELSEIF KOD1 2 context string6, ,ALLTRIM COMM1 ,length F. vars1 5 string6 ELSEIF KOD1 3 context string7, ,ALLTRIM COMM1 ,length F. vars1 6 string7 ENDIF ENDIF SKIP 1 ENDDO RELEASE txts,string2,string3,string4,string5,str ing6,string7 SELECT BUFF APPEND FROM DIA66 FOR NUM IB NUM IB ENDIF PRIVATE string11,j string11 New Str .T. context string11,SPACE 10 Клинический диагноз , ,length T. FOR j 1 TO s IF rez1.AND EMPTY vars1 j row1 j context string11,promp1 j ,TRIM vars1 j . ,length, New Str ELSE row1 j context string11,promp1 j ,vars1 j ,length,New Str ENDIF IF j 3.AND. END1 3 context string11 ,length T. context string11,SPACE 10 Паталого-анатомический диагноз , ,length T. ENDIF NEXT SET CURSOR ON SELECT sl RETURN string11 Функция ввода даты FUNCTION d input PARAMETERS dat PRIVATE screen SAVE SCREEN TO screen SET CURSOR ON 10,25 CLEAR TO 15,55 10,25 TO 15,55 saycent 10,30,50, ВВЕДИТЕ В ФОРМАТЕ 12,36 SAY дд.мм.гг 14,36 GET dat PICTURE D READ SET CURSOR OFF RESTORE SCREEN FROM screen RETURN dat Функция ввода массы пациента FUNCTION m input PRIVATE screen SAVE SCREEN TO screen SET CURSOR ON 10,25 CLEAR TO 15,55 10,25 TO 15,55 saycent 10,30,50, ВВЕДИТЕ В ФОРМАТЕ 12,38 SAY кг гр. 14,38 GET MASSA PICTURE P 99 999 READ SET CURSOR OFF RESTORE SCREEN FROM screen RETURN MASSA Функция проверки времени FUNCTION check T PARAMETERS timeS PRIVATE L,hour,mins L .F. hour SUBSTR timeS,1,2 mins SUBSTR timeS,4,5 IF VAL hour 24.AND.VAL mins 60 L .T. ENDIF RETURN L Определение количества дней, проведеннх в стационаре PROCEDURE ch day PRIVATE string2 string2 vars choice vars choice . context string2,promp choice ,vars choice ,length,New Str stuff1 string,length,string2,choice,row,len promp choice 21 vars choice DTOC DATE END IF ALL DAY 0.AND.EMPTY DATE IN .F. vars choice DTOC DATE END SPACE 5 Проведено дней в стационаре STR ALL DAY ENDIF RETURN Процедура работы с диагнозами FUNCTION diagn PRIVATE txtf,sel,w do PRIVATE F1,screen,color PRIVATE str PRIVATE s PRIVATE q PRIVATE string11 q 0 str txtf SPACE 100 SHIFR SPACE 4 sel SELECT F1 0 string11 vars 25 s IF END1 3,6,3 IF LEN promp1 s 11,18 CLEAR TO 13,62 11,18 TO 13,62 saycent 12,20,60, ФОРМИРУЕТСЯ МЕНЮ ДИАГНОЗОВ DECLARE promp1 s ,vars1 s ,row1 s ,col1 s массив промптеров дополн. меню promp1 1 Основное заболевание promp1 2 Осложнения promp1 3 Сопутствующие заболевания IF s 6 promp1 4 Основное заболевание promp1 5 Осложнения promp1 6 Сопутствующие заболевания ENDIF AFILL vars1, AFILL col1,1 string11 initial1 BUFF Функция формирования выводимого текста ENDIF wt1 3 wb1 IF s 3,12,20 wl1 2 wr1 77 length wr1-wl1 1 Длина строки текста, выводимого на экран beg line1 1 PRIVATE New Str1 Признак новой строки для Context New Str1 .F. Без выделения промптеров cur promp1 1 DO WHILE !gotomain q hypertxt wt1,wl1,wb1,wr1,string11,promp1,row1,col 1, beg line1, cur promp1,color9, ДИАГНОЗ ПАЦИЕНТА cur promp1 cur promp1 len promp1 1 DO CASE CASE q 0 LOOP CASE q 1.OR.q 2.OR.q 4 w do 1 SAVE SCREEN TO screen 11,25 CLEAR TO 16,55 11,25 TO 16,55 DOUBLE 11,30 PROMPT ДОБАВИТЬ 11,44 PROMPT УДАЛИТЬ IF EMPTY vars1 q .OR.BUFF- KOD1 2 .AND.BUFF- KOD2 2 vars1 q KEYBOARD CHR 13 ENDIF MENU TO w do str vars1 q IF w do 1 13,30 SAY ВВЕДИТЕ КОД GET SHIFR PICTURE R 999.9 READ IF LASTKEY 27 vars1 q str RESTORE SCREEN FROM screen LOOP ENDIF F1 mkb 1,1, SHIFR, txtf IF F1 -1 txtf SUBSTR SHIFR,1,3 . SUBSTR SHIFR,4,1 TRIM txtf . SELECT BUFF APPEND BLANK REPLACE NUM IB WITH NUM IB REPLACE SHIFR WITH SHIFR REPLACE KOD2 WITH IF q 4, 2 , 1 REPLACE KOD1 WITH IF q 1.OR.q 4, 1 , 2 REPLACE COMM1 WITH MEMPRO COMM1,10,5,18,75, ВВЕДИТЕ НЕОБХОДИМЫЕ ЗАМЕЧАНИЯ , ILLS , ILLS context str, ,txtf . ,length F. context str, Замечания ,ALLTRIM COMM1 ,length T. ENDIF ELSEIF w do 2 PRIVATE i,j,k,EN,ET,NALL,MALL,NDEL NALL INT LEN str length MALL NALL FOR i 1 TO NALL ET ALLTRIM SUBSTR str,length i-1 1,length EN ASC ET IF EN 57 MALL MALL-1 ENDIF NEXT DECLARE 0B MALL , 0S MALL k 1 FOR j 1 TO NALL ET ALLTRIM SUBSTR str,length j-1 1,length EN ASC ET IF EN 58 0B k SUBSTR str,length j-1 1,length 0S k LEFT ALLTRIM 0B k ,5 k k 1 ELSE 0B k-1 0B k-1 SUBSTR str,length j-1 1,length ENDIF NEXT NDEL ACHOICE 13,35,15,45, 0S SELECT BUFF IF q 1.OR.q 4 SEEK NUM IB IF q 1, 1 , 2 1 ELSEIF q 2 SEEK NUM IB 1 2 ENDIF SKIP NDEL-1 DELETE PACK str FOR j 1 TO MALL IF j NDEL str str 0B j ENDIF NEXT RELEASE j,NALL,NDEL RELEASE 0B, 0S ENDIF vars1 q str RESTORE SCREEN FROM screen CASE q 3.OR.q 5.OR.q 6 PRIVATE str356 STORE TO str356 SELECT BUFF private s s NUM IB IF q 3, 1 , 2 IF q 5, 2 , 3 SEEK s NUM IB IF q 3, 1 , 2 IF q 5, 2 , 3 IF !FOUND APPEND BLANK REPLACE NUM IB WITH NUM IB REPLACE KOD1 WITH IF q 5, 2 , 3 REPLACE KOD2 WITH IF q 3, 1 , 2 ENDIF SET CURSOR ON REPLACE COMM1 WITH MEMPRO COMM1,10,5,15,75, IF q 5, ВВЕДИТЕ НАЗВАНИЯ ОСЛОЖНЕНИЙ , ВВЕДИТЕ НАЗВАНИЯ СОПУТСТВУЮЩИХ ЗАБОЛЕВАНИЙ , ILLS , ILLS context str356, , ALLTRIM COMM1 ,length F. vars1 q str356 RELEASE str356 ENDCASE new str1 .T. string111 context string111,promp1 q ,vars1 q ,length,New Str1 IF q 3.AND. END1 3 context string111 ,length T. context string111,SPACE 10 Паталого-анатомический диагноз , ,length T. ENDIF stuff1 string11,length,string111,q,row1,len promp1 ENDDO REINDEX gotomain .F. SELECT sel RETURN string11 Процедура работы с операциями PROCEDURE op PRIVATE txto,sel,w do PRIVATE F2,screen,color PRIVATE stro STORE TO stro txto SPACE 80 SHIFR ILL 0000 sel SELECT SAVE SCREEN TO screen 11,25 CLEAR TO 16,55 11,25 TO 16,55 DOUBLE 11,30 PROMPT ДОБАВИТЬ 11,44 PROMPT УДАЛИТЬ IF EMPTY vars choice KEYBOARD CHR 13 ENDIF MENU TO w do stro vars choice IF w do 1 13,30 SAY ВВЕДИТЕ КОД GET SHIFR ILL PICTURE R 99.99 READ RESTORE SCREEN FROM screen IF LASTKEY 27 RETURN ENDIF F2 catalog SHIFR ILL, txto IF F2 -1 SELECT BUFF2 APPEND BLANK REPLACE NUM IB WITH NUM IB REPLACE SHIFR WITH SHIFR ILL REPLACE DATA WITH d input DATA SET CURSOR ON REPLACE COMM WITH MEMPRO COMM,10,5,15,75, ВВЕДИТЕ НАЗВАНИЕ ОПЕРАЦИИ , OPER , OPER context stro, ,ALLTRIM txto . ,length F. context stro, Дата проведения ,DTOC DATA . ,length F. context stro, Название операции ,ALLTRIM COMM . ,length F. ENDIF ELSEIF w do 2 PRIVATE i,j,k,EN,ET,NALL,MALL,NDEL NALL INT LEN stro length MALL NALL FOR i 1 TO NALL ET ALLTRIM SUBSTR stro,length i-1 1,length EN ASC ET IF EN 60 MALL MALL-1 ENDIF NEXT DECLARE 0B MALL , 0S MALL k 1 FOR j 1 TO NALL ET ALLTRIM SUBSTR stro,length j-1 1,length EN ASC ET IF EN 60 0B k SUBSTR stro,length j-1 1,length 0S k LEFT ALLTRIM 0B k ,5 k k 1 ELSE 0B k-1 0B k-1 SUBSTR stro,length j-1 1,length ENDIF NEXT NDEL ACHOICE 13,35,15,45, 0S IF LASTKEY 27 RETURN ENDIF SELECT BUFF2 GO NDEL DELETE PACK stro FOR j 1 TO MALL IF j NDEL stro stro 0B j ENDIF NEXT RELEASE j,NALL,NDEL RELEASE 0B, 0S ENDIF vars choice stro SELECT sel RETURN ПРОЦЕДУРА ЗАПОЛНЕНИЯ БД karta.dbf PROCEDURE new save PRIVATE sel,v sel SELECT SET CURSOR OFF SELECT karta 11,18 CLEAR TO 13,62 10,17 TO 14,63 saycent 12,20,60, ПОДОЖДИТЕ НЕМНОГО - ИДЕТ ЗАПИСЬ В БД SET COLOR TO W N v replicate chr 32 ,30 SET COLOR TO 13,25 SAY v SEEK NUM IB IF FOUND .F. APPEND BLANK REPLACE NUM IB WITH NUM IB rec num RECNO ENDIF REPLACE FAM WITH ALLTRIM FAM REPLACE F S NAME WITH ALLTRIM F S NAME REPLACE DATE B WITH DATE B REPLACE HOUR B WITH HOUR B REPLACE MINS B WITH MINS B REPLACE POL WITH POL REPLACE OLD WITH OLD REPLACE OLD D WITH OLD D REPLACE MASSA WITH MASSA REPLACE PLACE LIV WITH PLACE LIV REPLACE RAION WITH RAION REPLACE CITY VILL WITH CITY VILL REPLACE DIRECT1 WITH DIRECT1 REPLACE DIRECT2 WITH DIRECT2 REPLACE STATE WITH STATE REPLACE PLACE WITH PLACE REPLACE WHY WITH WHY REPLACE DEPARTMENT WITH DEPARTMENT REPLACE KOIKA WITH KOIKA REPLACE PASS WITH PASS REPLACE TIME WITH TIME REPLACE DATE IN WITH DATE IN REPLACE HOUR IN WITH HOUR IN REPLACE MINS IN WITH MINS IN REPLACE END1 WITH END1 REPLACE END2 WITH END2 REPLACE END3 WITH END3 REPLACE DATE END WITH DATE END REPLACE HOUR END WITH HOUR END REPLACE MINS END WITH MINS END REPLACE ALL DAY WITH ALL DAY REPLACE SHIFR WITH DIA DIRECT REPLACE NUM COME WITH NUM COME REPLACE RW DATE WITH RW DATE REPLACE RW REZ WITH RW REZ REPLACE FAM DOCTOR WITH FAM DOCTOR REINDEX COMMIT v replicate chr 177 ,10 13,25 SAY v SELECT DIA66 DELETE FOR NUM IB NUM IB PACK COMMIT IF END1 3 APPEND FROM BUFF FOR NUM IB NUM IB ELSE APPEND FROM BUFF FOR NUM IB NUM IB.AND.KOD2 2 ENDIF REINDEX COMMIT SELECT BUFF ZAP COMMIT REINDEX COMMIT v replicate chr 177 ,20 13,25 SAY v SELECT OP66 DELETE FOR NUM IB NUM IB PACK COMMIT APPEND FROM BUFF2 FOR NUM IB NUM IB v replicate chr 177 ,30 REINDEX COMMIT 13,25 SAY v SELECT BUFF2 ZAP COMMIT REINDEX COMMIT SELECT sel RETURN Процедура удаления записей PROCEDURE del PRIVATE flag del число записей,помеченных для удаления PRIVATE nr,tr,del str,temp, 01, 02,sel 5,1,22,78 BOX dn s fon1 sel SELECT flag del 0 c d 2 SELECT KARTA RECALL ALL GO TOP nr RECCOUNT DECLARE stor ib nr DO WHILE !gotomain DO first 7,5,16,74 BOX singl fon2 SET COLOR TO r b saycent 5,0,79,if DELETED , Запись помечена на удаление ,SPACE 27 SET COLOR TO color1 10,10 PROMPT IF !BOF , Вернуться к предыдущей записи , 12,10 PROMPT IF DELETED , Отменить удаление текущей записи , Пометить текущую запись на удаление 14,10 PROMPT IF ! EOF , Перейти к следующей записи , 16,35 PROMPT Выполнить MESSAGE Удалить помеченные записи и вернуться в главное меню MENU TO c d DO CASE CASE c d 0 LOOP CASE c d 1 IF !BOF SKIP -1 ENDIF CASE c d 2 IF !EOF IF !DELETED DELETE flag del flag del 1 stor ib flag del NUM IB ELSE RECALL tr ASCAN stor ib,NUM IB ADEL stor ib,tr flag del flag del-1 ENDIF ENDIF CASE c d 3 IF !EOF SKIP ENDIF CASE c d 4 EXIT ENDCASE ENDDO IF flag del 0 y yesno 10, Удалить помеченные alltrim str flag del записей ? IF y 1 temp NUM IB del str temp stor ib 1 temp .OR. temp FOR tr 2 TO flag del del str del str temp stor ib tr NEXT DELETER del str, DIA66 Удаление из DIA66.DBF DELETER del str, OP66 Удаление из OP66.DBF pack Удаление из KARTA66.DBF ELSE RECALL ALL GOTO TOP ENDIF ENDIF SELECT sel RETURN Процедура формирования отчетных документов FUNCTION rez PRIVATE OTCH, OTCH N,scr1 OTCH 00 OTCH N SAVE SCREEN TO scr1 PRIVATE sel sel SELECT PRIVATE DATE FROM DATE FROM today PRIVATE DATE TILL DATE TILL today PRIVATE dep,dep name PRIVATE numb1 PRIVATE txt PRIVATE pole PRIVATE count count 1 PRIVATE c c 1 PRIVATE p p 1 PRIVATE OT1,OT2 PRIVATE coun,c1,v1,v2 PRIVATE f f 1 DO WHILE .T. SELECT 0 USE BUFF8.DBF INDEX BUFF8 ALIAS BUFF8 ZAP numb1 0 txt SPACE 100 pole 1 STORE TO OT1,OT2 dep 0 dep name codif1 PERD , p IF p 0 SELECT BUFF8 USE EXIT ELSEIF p 2 OTCH N codif1 OTCH , OTCH IF OTCH 0 SELECT BUFF8 USE EXIT ENDIF ENDIF dep name codif1 DEPS , dep IF p 1.AND.dep 0 SELECT BUFF8 USE LOOP ENDIF dep name IF dep 0, Весь стационар ,dep name IF period 0 Ввод пользователем периода отчета SET CURSOR OFF IF p 1 МЕСЯЧНЫЕ ОТЧЕТЫ OTCH N Месячный отчет SELECT DIA66 SET RELATION TO SHIFR INTO BUFF8 SELECT karta SET RELATION TO NUM IB INTO DIA66 GO TOP PRIVATE OT1D1,OT2D1,OT1D2,OT2D2 IF dep 2.OR.dep 11 OT1 OTD5.FRM OT1D1 OTD2.FRM OT2D1 OTD51.TXT ELSE OT1 OTD.FRM OT1D1 OTD1.FRM OT2D1 OTD 1.TXT OT1D2 OTD2.FRM OT2D2 OTD 2.TXT ENDIF DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF dep KARTA- DEPARTMENT.AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. KARTA- END1 3.AND.DIA66- KOD1 1 SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH txt ENDIF REPLACE COUNT1 WITH COUNT1 KARTA- ALL DAY ПРОВЕДЕНО ДНЕЙ REPLACE COUNT2 WITH COUNT2 1 ВСЕГО БОЛЬНЫХ pole FIELD 8 KARTA- RAION REPLACE pole WITH pole 1 из Москвы Моск.обл. Иногородн.

Село pole FIELD 14 KARTA- NUM COME REPLACE pole WITH pole 1 Первично Повторно pole FIELD 16 KARTA- DIRECT1 REPLACE pole WITH pole 1 Направляющие организации IF dep 2.OR.dep 11 IF KARTA- OLD 7 REPLACE C3 WITH C3 1 Всего до 1 года REPLACE C4 WITH C4 KARTA- ALL DAY К Д IF KARTA- CITY VILL 2 REPLACE C5 WITH C5 1 В том числе из села REPLACE C6 WITH C6 KARTA- ALL DAY К Д ENDIF ELSE IF KARTA- CITY VILL 2 REPLACE C9 WITH C9 1 Из села старше 1 года ENDIF ENDIF IF KARTA- OLD 1 pole FIELD 43 ELSEIF KARTA- OLD 2 ad piece KARTA- HOUR B,KARTA- MINS B,KARTA- HOUR END,KARTA- MINS END ad KARTA- DATE END-KARTA- DATE B IF ad 1,1,IF ad 0,0 1 pole FIELD 42 IF ad 14,2,IF ad 14.AND.ad 21,3,4 ELSE pole FIELD 44 KARTA- OLD ENDIF ELSE IF KARTA- OLD 7 REPLACE C3 WITH C3 1 Всего до 1 года REPLACE C4 WITH C4 KARTA- ALL DAY К Д IF KARTA- CITY VILL 2 REPLACE C5 WITH C5 1 В том числе из села REPLACE C6 WITH C6 KARTA- ALL DAY К Д ENDIF ELSEIF KARTA- OLD 11 REPLACE C7 WITH C7 1 Всего до 14 лет REPLACE C8 WITH C8 KARTA- ALL DAY К Д IF KARTA- CITY VILL 2 REPLACE C9 WITH C9 1 В том числе из села REPLACE C0 WITH C0 KARTA- ALL DAY К Д ENDIF ELSE REPLACE D1 WITH D1 1 Всего 15 лет и старше REPLACE D2 WITH D2 KARTA- ALL DAY К Д IF KARTA- CITY VILL 2 REPLACE D3 WITH D3 1 В том числе из села REPLACE D4 WITH D4 KARTA- ALL DAY К Д ENDIF ENDIF IF KARTA- OLD 3 pole FIELD 43 ELSE pole FIELD 40 KARTA- OLD ENDIF ENDIF REPLACE pole WITH pole 1 Возраст SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO SELECT DIA66 SET RELATION TO grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ SELECT BUFF8 OT2 OTD ALLTRIM STR dep .TXT 13,25 SAY СОЗДАЕТСЯ ОТЧЕТ OT2 IF dep 2.AND.dep 11 REPORT FORM OT1D2 TO FILE OT2D2 PLAIN ENDIF REPORT FORM OT1D1 TO FILE OT2D1 PLAIN REPORT FORM OT1 TO FILE OT2 PLAIN REPORT FORM OTCH.FRM TO FILE OTCH.TXT PLAIN USE corr ttl OTCH.TXT ,dep name,DTOC DATE FROM ,DTOC DATE TILL link2 OTCH.TXT ,OT2 RENAME OTCH.TXT TO OT2 link2 OT2,OT2D1 IF dep 2.AND.dep 11 link2 OT2,OT2D2 ENDIF ELSEIF p 2 КВАРТАЛЬНЫЕ ОТЧЕТЫ OT1 OTCH ALLTRIM STR OTCH .FRM OT2 OTCH ALLTRIM STR OTCH .TXT IF f FRM DO CASE CASE OTCH 1 SELECT DIA66 SET RELATION TO SHIFR INTO BUFF8 SELECT karta SET RELATION TO NUM IB INTO DIA66 GO TOP DO show st DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. DIA66- KOD1 1 state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR ENDIF IF KARTA- OLD 10 СТАРШЕ 14 лет IF KARTA- END1 1.OR.KARTA- END1 2 REPLACE COUNT1 WITH COUNT1 1 ВЫПИСАНО REPLACE A1 WITH A1 KARTA- ALL DAY ПРОВЕДЕНО ИМИ ДНЕЙ ELSE KARTA- END1 3 REPLACE A2 WITH A2 1 УМЕРЛО ENDIF ELSE KARTA- OLD 10 ДО 14 лет IF KARTA- END1 1.OR.KARTA- END1 2 REPLACE COUNT2 WITH COUNT2 1 ВЫПИСАНО REPLACE A3 WITH A3 KARTA- ALL DAY ПРОВЕДЕНО ИМИ ДНЕЙ IF KARTA- OLD 7 REPLACE A4 WITH A4 1 ДЕТИ ДО 1 года ENDIF ELSE KARTA- END1 3 REPLACE A5 WITH A5 1 УМЕРЛО IF KARTA- OLD 7 REPLACE A6 WITH A6 1 ДЕТИ ДО 1 года ENDIF ENDIF ENDIF SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ IF INKEY 0.01 27 IF yesno 14, Прервать обработку ? 1 SELECT sel RETURN 0 ENDIF ENDIF ENDDO SET RELATION TO SELECT DIA66 SET RELATION TO SELECT BUFF8 PRIVATE COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6 TO COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 APPEND BLANK REPLACE NUMBER WITH ,NAMECL WITH Всего , SHIFRL WITH 0000 ,SHIFRR WITH 999 , COUNT1 WITH COUNT1,COUNT2 WITH COUNT2,A1 WITH A1, A2 WITH A2,A3 WITH A3,A4 WITH A4,A5 WITH A5,A6 WITH A6 grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ grad1 РАЗБИЕНИЕ КЛАССОВ НА ГРУППЫ CASE OTCH 2.OR. OTCH 5 SELECT DIA66 SET RELATION TO SHIFR INTO BUFF8 SELECT KARTA SET RELATION TO NUM IB INTO DIA66 GO TOP DO show st DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. KARTA- DATE IN-KARTA- DATE B piece KARTA- HOUR B,KARTA- MINS B, KARTA- HOUR IN,KARTA- MINS IN 7.AND.DIA66- KOD1 1 state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR ENDIF IF LEFT KARTA- MASSA,2 00 .OR.LEFT KARTA- MASSA,2 .AND. VAL RIGHT KARTA- MASSA,3 500 REPLACE A1 WITH A1 1 IF KARTA- END1 3 REPLACE A2 WITH A2 1 IF KARTA- DATE END-KARTA- DATE B piece KARTA- HOUR B,KARTA- MINS B, KARTA- HOUR END,KARTA- MINS END 7 REPLACE A3 WITH A3 1 ENDIF ENDIF ELSE REPLACE A4 WITH A4 1 IF KARTA- END1 3 REPLACE A5 WITH A5 1 IF KARTA- DATE END-KARTA- DATE B piece KARTA- HOUR B,KARTA- MINS B, KARTA- HOUR END,KARTA- MINS END 7 REPLACE A6 WITH A6 1 ENDIF ENDIF ENDIF SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO SELECT DIA66 SET RELATION TO SELECT BUFF8 PRIVATE COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6 TO COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 APPEND BLANK REPLACE NUMBER WITH ,NAMECL WITH Всего детей , COUNT1 WITH COUNT1,COUNT2 WITH COUNT2,A1 WITH A1, A2 WITH A2,A3 WITH A3,A4 WITH A4,A5 WITH A5,A6 WITH A6 grad1 РАЗБИЕНИЕ БОЛЕЗНЕЙ НА ГРУППЫ SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6 TO COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 FOR NUMBER - GO TOP COUNT1 COUNT1- COUNT1 COUNT2 COUNT2- COUNT2 A1 A1- A1 A2 A2- A2 A3 A3- A3 A4 A4- A4 A5 A5- A5 A6 A6- A6 APPEND BLANK REPLACE NUMBER WITH - ,SHIFR WITH 774 NAMECL WITH Прочие болезни плода и новорожденного , COUNT1 WITH COUNT1,COUNT2 WITH COUNT2,A1 WITH A1, A2 WITH A2,A3 WITH A3,A4 WITH A4,A5 WITH A5,A6 WITH A6 CASE OTCH 3 SELECT OP66 SET RELATION TO NUM IB INTO KARTA, TO SHIFR INTO BUFF8 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL SHIFR ILL OP66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR ILL catalog SHIFR ILL, txt REPLACE NAME WITH ALLTRIM txt ENDIF REPLACE COUNT1 WITH COUNT1 1 IF KARTA- OLD 10 REPLACE COUNT2 WITH COUNT2 1 ENDIF IF KARTA- END1 3 REPLACE A1 WITH A1 1 ENDIF SELECT OP66 ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO summ Суммирование по классам операций CASE OTCH 4 SELECT BUFF8 APPEND BLANK REPLACE NUMBER WITH 1 REPLACE NAME WITH ВЫПИСАНО APPEND BLANK REPLACE NUMBER WITH 2 REPLACE NAME WITH ПЕРЕВЕДЕНО APPEND BLANK REPLACE NUMBER WITH 3 REPLACE NAME WITH УМЕРЛО SELECT KARTA GO TOP PRIVATE OT1D1,OT2D1 DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL SELECT BUFF8 GOTO KARTA- END1 pole FIELD 8 KARTA- OLD REPLACE pole WITH pole 1 ВОЗРАСТ БОЛЬНЫХ pole FIELD 19 KARTA- RAION REPLACE pole WITH pole 1 РАЙОН ПРОЖИВАНИЯ REPLACE COUNT1 WITH COUNT1 KARTA- ALL DAY ПРОВЕДЕНО ДНЕЙ REPLACE COUNT2 WITH COUNT2 1 ВСЕГО БОЛЬНЫХ SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO OT1D1 OTCH ALLTRIM STR OTCH 1 .FRM OTCH 1.FRM OT2D1 OTCH ALLTRIM STR OTCH 1 .TXT OTCH 1.TXT SELECT BUFF8 REPORT FORM OT1D1 TO FILE OT2D1 PLAIN CASE OTCH 6.OR. OTCH 8 SELECT DIA66 SET RELATION to NUM IB into KARTA, TO SHIFR INTO BUFF8 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. DIA66- KOD1 1 count state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF OTCH 6.AND.KARTA- END1 2 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR ENDIF REPLACE COUNT1 WITH COUNT1 1 ELSEIF OTCH 8.AND.KARTA- END1 3 pole FIELD 8 KARTA- POL IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH txt ENDIF REPLACE pole WITH pole 1 ENDIF SELECT DIA66 ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ CASE OTCH 7 SELECT KARTA SET RELATION TO SHIFR INTO BUFF8 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL SHIFR KARTA- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH ALLTRIM txt ENDIF REPLACE A3 WITH A3 1 Всего IF KARTA- OLD 7 До 1 года REPLACE A2 WITH A2 1 IF KARTA- OLD 2 До 28 дней REPLACE A1 WITH A1 1 ENDIF ENDIF pole FIELD 11 KARTA- WHY REPLACE pole WITH pole 1 Причины направления pole FIELD 15 KARTA- DIRECT1 REPLACE pole WITH pole 1 Направляющие организации SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO numb STR НУМЕРАЦИЯ СТРОК CASE OTCH 9.AND.dep 14 .OR. OTCH 10.OR. OTCH 12 SELECT DIA66 SET RELATION to NUM IB into KARTA, TO SHIFR INTO BUFF8 GO TOP PRIVATE OT1D1,OT2D1,OT1D2,OT2D2 DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. KARTA- END1 3.AND.DIA66- KOD1 1 IF OTCH 9.OR. OTCH 10.AND. KARTA- DATE END-KARTA- DATE B piece KARTA- HOUR B,KARTA- MINS B,KARTA- HOUR END,KARTA- MINS END 7 .OR. OTCH 12.AND. KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN,KARTA- HOUR END,KARTA- MINS END 1 count state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH txt ENDIF pole FIELD 6 KARTA- POL REPLACE pole WITH pole 1 ПОЛ УМЕРШИХ IF OTCH 9.OR. OTCH 12 REPLACE B2 WITH B2 KARTA- ALL DAY КОЛ-ВО ДНЕЙ, ПРОВЕДЕННОЕ ИМИ IF OTCH 9.AND.KARTA- OLD D 7 REPLACE B3 WITH B3 KARTA- ALL DAY БОЛЬНЫМИ ДО 1 года ENDIF pole FIELD 8 KARTA- OLD D ELSEIF OTCH 10 PRIVATE ad ad piece KARTA- HOUR B,KARTA- MINS B,KARTA- HOUR END,KARTA- MINS END pole FIELD 9 KARTA- DATE END-KARTA- DATE B IF ad 1,1,IF ad 0,0 1 ENDIF REPLACE pole WITH pole 1 ВОЗРАСТ УМЕРШИХ pole FIELD 21 KARTA- DIRECT1 REPLACE pole WITH pole 1 НАПРАВЛЯЮЩЕЕ УЧРЕЖДЕНИЕ pole FIELD 35 KARTA- RAION REPLACE pole WITH pole 1 РАЙОН IF OTCH 9 IF KARTA- ALL DAY 1 pole FIELD 44 IF KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN, KARTA- HOUR END,KARTA- MINS END 1,0,1 ELSE pole FIELD 44 IF KARTA- ALL DAY 4,KARTA- ALL DAY,4 ENDIF ELSEIF OTCH 10 IF KARTA- ALL DAY 1 pole FIELD 44 IF KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN, KARTA- HOUR END,KARTA- MINS END 1,0,1 ELSE pole FIELD 44 KARTA- ALL DAY ENDIF ELSE OTCH 12 PRIVATE t,d STORE 0 TO t,d t KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN,KARTA- HOUR END,KARTA- MINS END d IF t 0.5 24 ,0,IF t 1 24 ,1,IF t 3 24,2,IF t 10 24,3,4 pole FIELD 44 d RELEASE t,d ENDIF REPLACE pole WITH pole 1 ПРОВЕДЕНО ДНЕЙ SELECT DIA66 ENDIF ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ OT1D1 OTCH ALLTRIM STR OTCH 1 .FRM OTCH 1.FRM OT2D1 OTCH ALLTRIM STR OTCH 1 .TXT OTCH 1.TXT SELECT BUFF8 REPORT FORM OT1D1 TO FILE OT2D1 PLAIN IF OTCH 9.OR. OTCH 10 OT1D2 OTCH ALLTRIM STR OTCH 2 .FRM OTCH 2.FRM OT2D2 OTCH ALLTRIM STR OTCH 2 .TXT OTCH 2.TXT REPORT FORM OT1D2 TO FILE OT2D2 PLAIN link2 OT2D1,OT2D2 СЛИЯНИЕ ДВУХ ФАЙЛОВ ENDIF CASE OTCH 9.AND.dep 14 Дла Неонатального центра SELECT DIA66 SET RELATION TO SHIFR INTO BUFF8 SELECT karta SET RELATION TO NUM IB INTO DIA66 GO TOP OT1 NEONAT.FRM OT2 NEONAT.TXT DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF dep KARTA- DEPARTMENT. AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. KARTA- END1 3.AND.DIA66- KOD1 1 count state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH txt ENDIF pole FIELD 6 KARTA- POL REPLACE pole WITH pole 1 Пол pole FIELD 16 KARTA- DIRECT1 REPLACE pole WITH pole 1 Направляющие организации REPLACE C3 WITH C3 1 Всего умерло REPLACE C4 WITH C4 KARTA- ALL DAY К Д IF KARTA- OLD 1 pole FIELD 43 ELSEIF KARTA- OLD 2 ad piece KARTA- HOUR B,KARTA- MINS B,KARTA- HOUR END,KARTA- MINS END ad KARTA- DATE END-KARTA- DATE B IF ad 1,1,IF ad 0,0 1 pole FIELD 42 IF ad 14,2,IF ad 14.AND.ad 21,3,4 ELSE pole FIELD 44 KARTA- OLD ENDIF REPLACE pole WITH pole 1 Возраст SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO SELECT DIA66 SET RELATION TO grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ CASE OTCH 11 codif1 FULL , f IF f 0 LOOP ENDIF SELECT DIA66 SET CURSOR OFF SET RELATION to SHIFR into BUFF8 SELECT OP66 SET RELATION to NUM IB into KARTA, TO NUM IB INTO DIA66 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. KARTA- END1 3.AND.DIA66- KOD1 1 state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR NUM IB OP66- NUM IB SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR mkb 1,1, SHIFR, txt REPLACE NAME WITH txt ENDIF REPLACE COUNT1 WITH COUNT1 1 ВСЕГО ОПЕРИРОВАННЫХ БОЛЬНЫХ SELECT 0 USE CATO.DBF INDEX CATO ALIAS CATO DO WHILE .T. SEEK OP66- SHIFR SELECT BUFF8 pole FIELD 8 CATO- NUMBER REPLACE pole WITH pole 1 REPLACE COUNT2 WITH COUNT2 1 ВСЕГО ОПЕРАЦИЙ SKIP 1 ALIAS OP66 SELECT CATO IF OP66- NUM IB NUM IB SKIP -1 ALIAS OP66 EXIT ENDIF show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO USE ENDIF SELECT OP66 SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO SELECT DIA66 SET RELATION TO grad РАЗБИЕНИЕ БОЛЕЗНЕЙ НА КЛАССЫ IF f 1 OT1 OTCH ALLTRIM STR OTCH L .FRM ELSE OT1D1 OTCH ALLTRIM STR OTCH 1 .FRM OTCH 1.FRM OT2D1 OTCH ALLTRIM STR OTCH 1 . TXT OTCH 1.TXT SELECT BUFF8 REPORT FORM OT1D1 TO FILE OT2D1 PLAIN OT1D2 OTCH ALLTRIM STR OTCH 2 .FRM OTCH 2.FRM OT2D2 OTCH ALLTRIM STR OTCH 2 .TXT OTCH 2.TXT REPORT FORM OT1D2 TO FILE OT2D2 PLAIN link2 OT2D1,OT2D2 СЛИЯНИЕ ДВУХ ФАЙЛОВ ENDIF CASE OTCH 13 SELECT DIA66 SET RELATION to NUM IB into KARTA, TO SHIFR INTO BUFF8 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. DIA66- SHIFR 0000 .AND.DIA66- SHIFR 1399 . AND.DIA66- KOD1 1 count state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK REPLACE SHIFR WITH SHIFR ENDIF IF KARTA- END1 1.OR.KARTA- END1 2 REPLACE COUNT1 WITH COUNT1 1 ОБЩЕЕ КОЛИЧЕСТВО ВЫБЫВШИХ REPLACE A1 WITH A1 KARTA- ALL DAY ПРОВЕДЕНО ИМИ ДНЕЙ IF KARTA- OLD 7 REPLACE COUNT2 WITH COUNT2 1 КОЛИЧЕСТВО ВЫБЫВШИХ ДО 1 ENDIF ELSEIF KARTA- END1 3 REPLACE A2 WITH A2 1 ОБЩЕЕ КОЛИЧЕСТВО УМЕРШИХ REPLACE A3 WITH A3 KARTA- ALL DAY ПРОВЕДЕНО ИМИ ДНЕЙ IF KARTA- OLD 7 REPLACE A4 WITH A4 1 КОЛИЧЕСТВО УМЕРШИХ ДО 1 ENDIF ENDIF SELECT DIA66 ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO numb STR НУМЕРАЦИЯ СТРОК CASE OTCH 14 SELECT DIA66 SET RELATION to NUM IB into KARTA, TO SHIFR INTO BUFF8 GO TOP DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL.AND. DIA66- SHIFR 0000 .AND.DIA66- SHIFR 1399 .AND.DIA66- KOD1 1 count state Поиск паталого-анатомического диагноза если он есть SHIFR DIA66- SHIFR SELECT BUFF8 IF EOF APPEND BLANK mkb 1,1, SHIFR, txt REPLACE NAME WITH txt REPLACE SHIFR WITH SHIFR ENDIF pole FIELD 8 KARTA- DEPARTMENT REPLACE pole WITH pole 1 SELECT DIA66 ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO numb STR НУМЕРАЦИЯ СТРОК CASE OTCH 15 SELECT KARTA GO TOP PRIVATE NAME, NUMBER PRIVATE OT1D1,OT2D1 DO show st ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL IF KARTA- RAION 1 SELECT BUFF8 IF KARTA- STATE 1 NUMBER IF KARTA- PLACE 0 SHIFR 99 NAME Прочие области и районы РФ ELSE SHIFR RIGHT ALLTRIM extra1 KARTA- PLACE, PLCE ,4 NAME extra1 KARTA- PLACE, PLCE ENDIF IF KARTA- RAION 2 NUMBER SHIFR 1000 NAME Московская область ENDIF ELSE NUMBER SHIFR SPACE 2 STR KARTA- STATE,2 NAME extra1 KARTA- STATE, STTE ENDIF SEEK SHIFR IF !FOUND APPEND BLANK REPLACE NUMBER WITH NUMBER,SHIFR WITH SHIFR,NAME WITH NAME ENDIF pole FIELD 8 KARTA- DIRECT1 REPLACE pole WITH pole 1 НАПРАВЛЯЮЩЕЕ УЧРЕЖДЕНИЕ pole FIELD 23 KARTA- DEPARTMENT REPLACE pole WITH pole 1 ОТДЕЛЕНИЯ БОЛЬНИЦЫ pole FIELD 38 KARTA- PASS REPLACE pole WITH pole 1 Планово экстренно REPLACE COUNT1 WITH COUNT1 KARTA- ALL DAY Проведено дней REPLACE COUNT2 WITH COUNT2 1 ВСЕГО ВЫПИСАНО SELECT KARTA ENDIF ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SELECT BUFF8 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6,A7,A8,A9 , A0, B1,B2,B3,B4,B5,B6,B7,B8,B9,B0,C1,C2,C3,C 4,C5,C6,C7,C8,C9,C0 TO 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 Суммирование по всем столбцам APPEND BLANK REPLACE SHIFR WITH ,NAME WITH Всего ,COUNT1 WITH 1, COUNT2 WITH 2,A1 WITH 3,A2 WITH 4,A3 WITH 5,A4 WITH 6, A5 WITH 7,A6 WITH 8,A7 WITH 9,A8 WITH 10,A9 WITH 11,A0 WITH 12, B1 WITH 13,B2 WITH 14,B3 WITH 15,B4 WITH 16,B5 WITH 17, B6 WITH 18,B7 WITH 19,B8 WITH 20,B9 WITH 21,B0 WITH 22, C1 WITH 23,C2 WITH 24,C3 WITH 25,C4 WITH 26,C5 WITH 27, C6 WITH 28,C7 WITH 29,C8 WITH 30,C9 WITH 31,C0 WITH 32 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6,A7,A8,A9 ,A0, B1,B2,B3,B4,B5,B6,B7,B8,B9,B0,C1,C2,C3,C 4,C5,C6,C7,C8,C9,C0 TO 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 FOR SHIFR .AND.SHIFR 1000 Суммирование столбцов по всем иностранцам APPEND BLANK REPLACE SHIFR WITH 100 ,NAME WITH Всего иностранцев , COUNT1 WITH 1, COUNT2 WITH 2,A1 WITH 3,A2 WITH 4,A3 WITH 5,A4 WITH 6, A5 WITH 7,A6 WITH 8,A7 WITH 9,A8 WITH 10,A9 WITH 11,A0 WITH 12, B1 WITH 13,B2 WITH 14,B3 WITH 15,B4 WITH 16,B5 WITH 17, B6 WITH 18,B7 WITH 19,B8 WITH 20,B9 WITH 21,B0 WITH 22, C1 WITH 23,C2 WITH 24,C3 WITH 25,C4 WITH 26,C5 WITH 27, C6 WITH 28,C7 WITH 29,C8 WITH 30,C9 WITH 31,C0 WITH 32 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6,A7,A8,A9 ,A0, B1,B2,B3,B4,B5,B6,B7,B8,B9,B0,C1,C2,C3,C 4,C5,C6,C7,C8,C9,C0 TO 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 FOR SHIFR 1000 Суммирование столбцов по всем областям РФ APPEND BLANK REPLACE SHIFR WITH 9990 ,NAME WITH Всего по РФ ,COUNT1 WITH 1, COUNT2 WITH 2,A1 WITH 3,A2 WITH 4,A3 WITH 5,A4 WITH 6, A5 WITH 7,A6 WITH 8,A7 WITH 9,A8 WITH 10,A9 WITH 11,A0 WITH 12, B1 WITH 13,B2 WITH 14,B3 WITH 15,B4 WITH 16,B5 WITH 17, B6 WITH 18,B7 WITH 19,B8 WITH 20,B9 WITH 21,B0 WITH 22, C1 WITH 23,C2 WITH 24,C3 WITH 25,C4 WITH 26,C5 WITH 27, C6 WITH 28,C7 WITH 29,C8 WITH 30,C9 WITH 31,C0 WITH 32 OT1D1 OTCH ALLTRIM STR OTCH 1 .FRM OTCH 1.FRM OT2D1 OTCH ALLTRIM STR OTCH 1 .TXT OTCH 1.TXT REPORT FORM OT1D1 TO FILE OT2D1 PLAIN CASE OTCH 16.OR. OTCH 17.OR. OTCH 18.OR. OTCH 19 SELECT BUFF8 APPEND BLANK SELECT KARTA SET RELATION TO NUM IB INTO DIA66 GO TOP DO show st DO WHILE !EOF IF IF dep 0 T IF dep KARTA- DEPARTMENT T F. .AND. KARTA- DATE END DATE FROM.AND.KARTA- DATE END DATE TILL SELECT BUFF8 IF OTCH 16 IF KARTA- END1 2 REPLACE A1 WITH A1 1 ВСЕГО IF KARTA- OLD 3 НОВОРОЖДЕННЫЕ REPLACE A2 WITH A2 1 ENDIF ENDIF IF DIA66- SHIFR 0000 ОКАЗАВШИЕСЯ ЗДОРОВЫМИ REPLACE A3 WITH A3 1 ENDIF ELSEIF OTCH 17.AND.KARTA- END1 3 IF KARTA- OLD 1 REPLACE A1 WITH A1 1 УМЕРЛО В ВОЗРАСТЕ 0-6 СУТОК ENDIF IF KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN,KARTA- HOUR END,KARTA- MINS END 1 IF KARTA- DATE END-KARTA- DATE B piece KARTA- HOUR B,KARTA- MINS B,KARTA- HOUR END,KARTA- MINS END 1 В ВОЗРАСТЕ ДО СУТОК REPLACE A2 WITH A2 1 ENDIF IF KARTA- OLD 7 В ВОЗРАСТЕ ДО ГОДА REPLACE A3 WITH A3 1 SELECT DIA66 state Поиск паталого-анатомического диагноза если он есть DO WHILE DIA66- NUM IB KARTA- NUM IB IF DIA66- KOD1 1 .AND. DIA66- SHIFR 4800 .AND.DIA66- SHIFR 4869 SELECT BUFF8 REPLACE A4 WITH A4 1 В ТОМ ЧИСЛЕ УМЕРЛО ОТ ПНЕВМОНИИ EXIT ENDIF SKIP 1 ENDDO ENDIF ENDIF ELSEIF OTCH 18.AND. KARTA- SHIFR 410 .OR.KARTA- SHIFR 412 IF KARTA- TIME 3 REPLACE A1 WITH A1 1 ВСЕГО ПОСТУПИЛО БОЛЬНЫХ ИНФАРКТОМ ENDIF IF KARTA- END1 3.AND. KARTA- DATE END-KARTA- DATE IN piece KARTA- HOUR IN,KARTA- MINS IN,KARTA- HOUR END,KARTA- MINS END 1 REPLACE A2 WITH A2 1 УМЕРЛО В ПЕРВЫЕ 24 ЧАСА ENDIF ELSEIF OTCH 19.AND. KARTA- SHIFR 6300 .AND.KARTA- SHIFR 6769 IF KARTA- END1 3 REPLACE A1 WITH A1 1 ВСЕГО УМЕРЛО БЕРЕМЕННЫХ,РОЖЕНИЦ И РОДИЛЬНИЦ SELECT DIA66 state Поиск паталого-анатомического диагноза если он есть DO WHILE DIA66- NUM IB KARTA- NUM IB IF DIA66- KOD1 1 .AND. DIA66- SHIFR 6300 .AND.DIA66- SHIFR 6769 SELECT BUFF8 REPLACE A2 WITH A2 1 УМЕРЛО ОТ ОСЛОЖНЯЮЩИХ ЗАБОЛЕВАНИЙ EXIT ENDIF SKIP 1 ENDDO ENDIF ENDIF SELECT KARTA ENDIF SKIP 1 show din count ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИСЕЙ ENDDO SET RELATION TO numb STR НУМЕРАЦИЯ СТРОК ENDCASE SELECT BUFF8 IF OTCH 6 DELETE FOR EMPTY COUNT2 .T. PACK ENDIF 13,25 SAY СОЗДАЕТСЯ ОТЧЕТ OT2 REPORT FORM OT1 FOR IF OTCH 1.OR. OTCH 2.OR. OTCH 5, !EMPTY NUMBER T. TO FILE OT2 PLAIN IF OTCH 9.OR. OTCH 10.OR. OTCH 11.OR. OTCH 12 REPORT FORM OTCH.FRM TO FILE OTCH.TXT PLAIN USE corr ttl OTCH.TXT ,dep name,DTOC DATE FROM ,DTOC DATE TILL link2 OTCH.TXT ,OT2 RENAME OTCH.TXT TO OT2 ELSE USE corr ttl OT2,dep name,DTOC DATE FROM ,DTOC DATE TILL ENDIF IF OTCH 4.OR. OTCH 9.AND.dep 14.OR. OTCH 10.OR. OTCH 11.AND.f 2.OR. OTCH 12.OR. OTCH 15 link2 OT2,OT2D1 ENDIF ELSE SELECT BUFF8 USE LOOP ENDIF ENDIF SET CURSOR ON fileview OT2,3,2,21,77, N BG ,350 do PRN RESTORE SCREEN FROM scr1 SET CURSOR OFF ELSE SELECT BUFF8 USE ENDIF ENDDO RELEASE coun,c1,v1,v2,txt,seek,numb1, COUNTALL,rec SELECT sel RETURN 0 Функция нумерации строк в отчетном документе FUNCTION numb STR SELECT BUFF8 GO TOP PRIVATE numb1 numb1 0 DO WHILE !EOF numb1 numb1 1 REPLACE NUMBER WITH STR numb1,5 SKIP 1 ENDDO RETURN 0 Функция разбиения болезней на классы FUNCTION grad lsl SELECT SELECT 0 USE CLASS.DBF INDEX CLASS ALIAS CLASS PRIVATE coun1,K,seek, COUNTALL,rec coun1 RECCOUNT seek COUNTALL 0 rec 0 GO TOP SELECT BUFF8 SET SOFTSEEK ON FOR K 1 TO coun1 seek CLASS- SHIFR LEFT SEEK seek IF !EOF IF BUFF8- SHIFR CLASS- SHIFR RIGH numb1 numb1 1 rec RECNO IF OTCH 1 SHIFR SHIFR COUNT1 COUNT1 COUNT2 COUNT2 A1 A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 APPEND BLANK REPLACE SHIFR WITH SHIFR,COUNT1 WITH COUNT1,COUNT2 WITH COUNT2, A1 WITH A1,A2 WITH A2,A3 WITH A3,A4 WITH A4, A5 WITH A5,A6 WITH A6 SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6 TO COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 WHILE BUFF8- SHIFR CLASS- SHIFR RIGH GOTO rec REPLACE COUNT1 WITH COUNT1,COUNT2 WITH COUNT2,A1 WITH A1, A2 WITH A2,A3 WITH A3,A4 WITH A4,A5 WITH A5,A6 WITH A6 ENDIF REPLACE BUFF8- NUMBER WITH STR numb1,2 REPLACE BUFF8- NAMECL WITH CLASS- NAME CLASS REPLACE BUFF8- SHIFRL WITH CLASS- SHIFR LEFT REPLACE BUFF8- SHIFRR WITH CLASS- SHIFR RIGH IF OTCH 6 SUM COUNT1 TO COUNTALL WHILE BUFF8- SHIFR CLASS- SHIFR RIGH GO rec REPLACE BUFF8- COUNT2 WITH COUNTALL ENDIF ENDIF SKIP 1 ALIAS CLASS ELSE EXIT ENDIF NEXT SET SOFTSEEK OFF SELECT CLASS USE SELECT lsl RETURN 0 Функция разбиения на группы для отчета N1, N2 и N5 FUNCTION grad1 lsl SELECT SELECT 0 IF OTCH 1 USE GRUP1.DBF INDEX GRUP1 ALIAS GRUP ELSE для OTCH 2 и OTCH 5 USE GRUP2.DBF INDEX GRUP2 ALIAS GRUP ENDIF PRIVATE coun1,K,seek coun1 RECCOUNT seek GO TOP SELECT BUFF8 SET SOFTSEEK ON FOR K 1 TO coun1 seek GRUP- SHIFR LEFT SEEK seek IF !EOF IF BUFF8- SHIFR GRUP- SHIFR RIGH IF !EMPTY BUFF8- NUMBER SKIP 1 ALIAS BUFF8 ENDIF rec RECNO SUM COUNT1,COUNT2,A1,A2,A3,A4,A5,A6 TO COUNT1, COUNT2, A1, A2, A3, A4, A5, A6 WHILE BUFF8- SHIFR GRUP- SHIFR RIGH GOTO rec REPLACE COUNT1 WITH COUNT1,COUNT2 WITH COUNT2,A1 WITH A1, A2 WITH A2,A3 WITH A3,A4 WITH A4,A5 WITH A5,A6 WITH A6 REPLACE BUFF8- NUMBER WITH - REPLACE BUFF8- NAMECL WITH GRUP- NAME GRUP REPLACE BUFF8- SHIFRL WITH GRUP- SHIFR LEFT REPLACE BUFF8- SHIFRR WITH GRUP- SHIFR RIGH ENDIF SKIP 1 ALIAS GRUP ELSE EXIT ENDIF NEXT SET SOFTSEEK OFF SELECT GRUP USE SELECT lsl RETURN 0 Функция слияния двух текстовых файлов FUNCTION link2 PARAMETERS F1,F2 RUN COPY F1 F2 F1 NUL DELETE FILE F2 RETURN 0 Представление на экране обработки записей БД начало PROCEDURE SHOW ST 4,7 CLEAR TO 15,72 saycent 5,5,75, OTCH N saycent 6,5,75, по IF dep 0, всему стационару , отделению dep name saycent 7,5,75, за период с DTOC DATE FROM по DTOC DATE TILL STORE 0 TO c1,v1,v2 coun RECCOUNT v1 replicate chr 178 ,60 PRIVATE clr11 clr11 SETCOLOR SET COLOR TO color1 8,8 CLEAR TO 15,71 8,8 TO 15,71 DOUBLE saycent 15,5,75, ESC - прервать обработку 12,9 TO 14,70 13,10 say v1 9,10 TO 11,37 10,11 SAY ОБРАБОТАНО 10,24 SAY 0 9,41 TO 11,70 10,42 SAY ВСЕГО ЗАПИСЕЙ 10,61 SAY coun SET COLOR TO clr11 RETURN Представление на экране обработки записей БД динамика PROCEDURE SHOW DIN PARAMETERS counts c1 c1 counts v2 replicate chr 219 ,int 60 c1 coun 13,10 SAY v2 10,24 SAY c1 count 1 RETURN Суммирование колонок по классам операций для отчета N3 FUNCTION summ PRIVATE k,s,s1,n,A,B,C SELECT BUFF8 SET SOFTSEEK ON GO TOP FOR k 2 TO 16 s IF k 10, 0 STR k,1 ,STR k,2 00 SEEK s IF !FOUND APPEND BLANK REPLACE SHIFR WITH s catalog s, txt REPLACE NAME WITH ALLTRIM txt ENDIF n RECNO SKIP 1 s1 IF k 1 10, 0 STR k 1,1 ,STR k 1,2 00 SUM COUNT1,COUNT2,A1 TO A,B,C WHILE SHIFR s1 GO n REPLACE COUNT1 WITH COUNT1 A,COUNT2 WITH COUNT2 B,A1 WITH A1 C NEXT SUM COUNT1,COUNT2,A1 TO A,B,C FOR RIGHT SHIFR,2 00 APPEND BLANK REPLACE SHIFR WITH 9999 , NAME WITH Всего , COUNT1 WITH COUNT1 A,COUNT2 WITH COUNT2 B,A1 WITH A1 C SET SOFTSEEK OFF RETURN 0 Процедура навигации просмотра БД PROCEDURE navy PRIVATE sel1,clr1,screen1 sel1 SELECT clr1 SETCOLOR menu1 1 D2 .F. SELECT karta SET SOFTSEEK ON SET COLOR TO color5 DO WHILE menu1 0 7,8 CLEAR TO 14,72 SAVE SCREEN TO screen1 8,15 PROMPT ВВЕДИТЕ НОМЕР И Б 9,15 PROMPT ВВЕДИТЕ ФАМИЛИЮ БОЛЬНОГО 10,15 PROMPT ВВЕДИТЕ ДАТУ ПОСТУПЛЕНИЯ 11,15 PROMPT ТЕКУЩАЯ КАРТА 12,15 PROMPT СЛЕДУЮЩАЯ КАРТА 13,15 PROMPT ПРЕДЫДУЩАЯ КАРТА MENU TO menu1 IF menu1 1 SET CURSOR ON 8,45 GET NUM IB PICTURE R 99 9 READ SET CURSOR OFF SEEK NUM IB D2 EOF menu1 5 ELSEIF menu1 2 SET CURSOR ON 9,45 GET FAM PICTURE K VALID RUSSIAN FAM READ SET CURSOR OFF SET FILTER TO FAM ALLTRIM FAM GO TOP D2 EOF menu1 5 SET FILTER TO ELSEIF menu1 3 SET CURSOR ON 10,45 GET DATE IN PICTURE D READ SET CURSOR OFF SET FILTER TO DATE IN DATE IN GO TOP D2 EOF IF D2 .F. menu1 1 16,8 CLEAR TO 20,72 DO WHILE menu1 0.AND D2 NUM IB NUM IB FAM FAM DATE IN DATE IN DO first 11,14 TO 14,40 DOUBLE 12,15 PROMPT СЛЕДУЮЩАЯ КАРТА 13,15 PROMPT ПРЕДЫДУЩАЯ КАРТА MENU TO menu1 IF menu1 1 SKIP D2 EOF ELSEIF menu1 2 SKIP -1 D2 BOF ENDIF ENDDO menu1 1 ENDIF SET FILTER TO ELSEIF menu1 5 SKIP D2 EOF ELSEIF menu1 6 SKIP -1 D2 BOF ENDIF 16,8 CLEAR TO 20,72 IF D2 .F. NUM IB NUM IB FAM FAM DATE IN DATE IN DO first ELSEIF D2 .T. 17,25 TO 19,55 DOUBLE 18,31 SAY БОЛЬШЕ ЗАПИСЕЙ НЕТ! ENDIF ENDDO SET SOFTSEEK OFF SELECT sel1 SET COLOR TO clr1 RETURN ПРОВЕРКА ПРАВИЛЬНОСТИ ЗАПОЛНЕНИЯ КАРТЫ FUNCTION all r PRIVATE qui qui .F. IF EMPTY FAM .T. message e , НЕ ВВЕДЕНА ФАМИЛИЯ ПАЦИЕНТА beg line 1 cur promp 2 ELSEIF EMPTY DATE B .T. message e , НЕ ВВЕДЕНА ДАТА РОЖДЕНИЯ beg line 1 cur promp 5 ELSEIF EMPTY OLD .T. message e , НЕ ВВЕДЕН ВОЗРАСТ beg line 1 cur promp 6 ELSEIF EMPTY RAION .T. message e , НЕ ВВЕДЕН РАЙОН ПРОЖИВАНИЯ beg line 1 cur promp 9 ELSEIF EMPTY CITY VILL .T. message e , НЕ ВВЕДЕН ПУНКТ ЖИТЕЛЬ beg line 1 cur promp 10 ELSEIF EMPTY STATE .T. message e , НЕ ВВЕДЕНО НАЗВАНИЕ ГОСУДАРСТВА по умолчанию - РФ beg line 1 cur promp 12 ELSEIF EMPTY DEPARTMENT .T. message e , НЕ ВВЕДЕНO НАЗВАНИЕ ОТДЕЛЕНИЕ beg line 1 cur promp 13 ELSEIF EMPTY KOIKA .T. message e , НЕ ВВЕДЕН ПРОФИЛЬ КОЙКИ beg line 1 cur promp 14 ELSEIF EMPTY DATE IN .T. message e , НЕ ВВЕДЕНА ДАТА ПОСТУПЛЕНИЯ beg line 1 cur promp 17 ELSEIF EMPTY DATE END .T. message e , НЕ ВВЕДЕНА ДАТА ВЫПИСКИ beg line 20 cur promp 20 ELSEIF ALL DAY 0.AND.EMPTY DATE END .F. beg line 1 cur promp 17 message e , НЕСООТВЕТСТВИЕ МЕЖДУ ДАТАМИ ПОСТУПЛЕНИЯ И ВЫПИСКИ ELSEIF END1 3.AND.EMPTY OLD D .T. message e , НЕ ВВЕДЕН ВОЗРАСТ НА МОМЕНТ СМЕРТИ beg line 1 cur promp 18 ELSEIF EMPTY END1 .T. message e , НЕ ВВЕДЕН ПУНКТ ИСХОД beg line 1 cur promp 19 ELSEIF EMPTY NUM COME .T. message e , НЕ ВВЕДЕНО КОЛИЧЕСТВО ГОСПИТАЛИЗАЦИЙ beg line 20 cur promp 22 ELSEIF EMPTY DIA DIRECT .T. message e , НЕ ВВЕДЕН НАПРАВЛЯЮЩИЙ ДИАГНОЗ beg line 20 cur promp 21 ELSEIF LEN vars1 1 0 message e , НЕ ВВЕДЕН ОСНОВНОЙ ДИАГНОЗ beg line 20 cur promp 23 ELSEIF AT 000.0 ,vars1 1 0.AND.LEN vars 1 80 message e , ОШИБОЧНЫЙ ДИАГНОЗ beg line 20 cur promp 25 ELSEIF AT 000.0 ,vars1 1 0.AND.LEN vars1 2 0 message e , ОШИБОЧНЫЙ ДИАГНОЗ beg line 20 cur promp 25 ELSE qui .T. ENDIF RETURN qui Представление на экране основной информации из 66 формы PROCEDURE first IF !BOF .AND EOF 16,8 CLEAR TO 20,72 17,15 SAY НОМЕР И Б NUM IB 18,15 SAY ФАМИЛИЯ БОЛЬНОГО ALLTRIM FAM 19,15 SAY ДАТА ПОСТУПЛЕНИЯ 19,34 SAY DATE IN ENDIF RETURN Каталог операций FUNCTION catalog PARAMETERS s,t PRIVATE sel3,screen3,N3 sel3 SELECT SAVE SCREEN TO screen3 select 0 use cato.dbf index cato alias cato SET SOFTSEEK ON SEEK s SET SOFTSEEK OFF IF FOUND t NAME ILL ELSE private NUILL,K go top nuill RECCOUNT declare OPERATION NUILL for K 1 to NUILL operation k NAME ILL skip 1 next release NUILL,K 4,1 CLEAR TO 21,78 4,1 TO 21,78 saycent 4,1,78, КАТАЛОГ ОПЕРАЦИЙ N3 ACHOICE 5,2,20,77,operation T ,NUMBER-1 IF LASTKEY 27 RESTORE SCREEN FROM screen3 use SELECT sel3 RETURN -1 ENDIF GO N3 s SHIFR t NAME ILL ENDIF RESTORE SCREEN FROM screen3 use SELECT sel3 RETURN 0 Процедура настройки каталогов PROCEDURE recon PRIVATE N4,N5,cod name STORE 0 TO N4,N5 DO WHILE gotomain .F. cod name SPACE 4 codif1 CORR , N4 IF LASTKEY 27 SET CURSOR OFF RETURN ELSEIF N4 1 cod name RIGS ELSEIF N4 2 cod name DIRS ELSEIF N4 3 cod name STTE ELSEIF N4 4 cod name HOSP ELSEIF N4 5 cod name BIRS ELSEIF N4 6 cod name RIZS ELSEIF N4 7 cod name DEPS ELSEIF N4 8 cod name KOIK ELSEIF N4 9 cod name RIZ1 ELSEIF N4 10 cod name RIZ2 ELSEIF N4 11 cod name RIZ3 ELSEIF N4 12 cod name OLDS ELSEIF N4 13 cod name PLCE ENDIF codifM CODIF ,cod name, N5 ENDDO RELEASE N4,N5,cod name RETURN Продедура работы с каталогами FUNCTION codifM PARAMETERS codfile,code name,code var PRIVATE screen,sel,ret,i,k,svtx,maxlen,color,cou nt,first,x1,x2,y1,y2 PRIVATE prom,prom1 IF !t qwerty RETURN 0 ENDIF SAVE SCREEN TO screen SET CURSOR OFF color SETCOLOR sel SELECT SET COLOR TO color3 SET EXACT OFF SELECT CODFILE CLEAR TYPEAHEAD prom ESC- отказ,ENTER-переименовать prom1 INS-добавить,DEL-удалить first 1 DO WHILE .T. SEEK code name IF !FOUND RETURN ENDIF svtx ALLTRIM TEXT maxlen MAX LEN svtx ,MAX LEN prom ,LEN prom1 COUNT WHILE SUBSTR KEY,1,4 SUBSTR code name ,1,4 TO COUNT count count-1 не учитываем заголовок DECLARE A count ,B count A -массив для текстов шаблонов B -массив для номеров шаблонов IF count 0 DECLARE A 1 a 1 Кодификатор пуст,воспользуйтесь клавишей INS maxlen MAX maxlen,40 ENDIF SEEK code name FOR k 1 TO COUNT SKIP A K ALLTRIM TEXT B K SUBSTR KEY,5 maxlen MAX maxlen,LEN A K NEXT y1 12-ROUND MIN count,13 2 0.49,0 x1 37-ROUND MIN maxlen,72 2 0.49,0 рисование рамки и заголовка SET COLOR TO color3 y2 MIN y1 count 2,20 x2 MIN x1 maxlen 3,77 RESTORE SCREEN FROM SCREEN y1,x1,y2,x2 BOX singl fon2 y2,x1,y2 3,x2 BOX - L fon2 saycent y2 1,x1,x2,prom saycent y2 2,x1,x2,prom1 saycent y1,x1,x2,svtx I ACHOICE y1 1,x1 1,y2-1,x2-1,a t u key1 ,first IF i 0 ret CLEAR TYPEAHEAD EXIT ELSE DO CASE CASE LASTKEY 13.AND.COUNT 0 ENTER SEEK code name SKIP I PRIVATE scr,col1,pict pict SPACE LEN TEXT scr SAVESCREEN 10,9,12,70 col1 SETCOLOR SET COLOR TO color7 10,9,12,70 box singl fon2 saycent 10,9,70, ВВОДИТЕ НОВОЕ ИМЯ SET CURSOR ON 11,10 GET pict READ PICT STRTRAN pict, Н , H SET CURSOR OFF SETCOLOR col1 RESTSCREEN 10,9,12,70,scr IF LASTKEY 27.AND EMPTY PICT ESC REPLACE TEXT WITH pict ENDIF RELEASE scr,col1,pict CASE LASTKEY 22 INS IF count 0 ins pic code name,b count ELSE ins pic code name, ENDIF first count 1 CASE LASTKEY 7 DEL IF count 0 del pic code name,i ENDIF first i-1 ENDCASE ENDIF ENDDO CLEAR TYPEAHEAD REINDEX RESTORE SCREEN FROM screen SET COLOR TO color SELECT sel SET CURSOR OFF RETURN ret Проверка наличия в текущей директории файла отчета FUNCTION f FRM PRIVATE log,screen log .T. IF !FILE OT1 log .F. SAVE SCREEN TO screen 8,8 CLEAR TO 15,71 8,8 TO 15,71 DOUBLE saycent 8,20,60, ВНИМАНИЕ 11,15 SAY ДЛЯ СОЗДАНИЯ ОТЧЕТА НЕОБХОДИМ ФАЙЛ OT1 12,15 SAY УКАЗАННОГО ФАЙЛА НЕТ В РАБОЧЕЙ ДИРЕКТОРИИ INKEY 10 RESTORE SCREEN FROM screen ENDIF RETURN log Функция ввода отчетного периода FUNCTION period PRIVATE screen,M1,R1 R1 0 M1 1 SAVE SCREEN TO screen SET CURSOR ON 8,8 CLEAR TO 15,71 8,8 TO 15,71 DOUBLE DO WHILE .T. saycent 8,20,60, ВВЕДИТЕ ОТЧЕТНЫЙ ПЕРИОД 9,17 TO 11,34 10,20 SAY c GET DATE FROM PICTURE D 9,47 TO 11,64 10,50 SAY по GET DATE TILL PICTURE D 12,17 TO 14,64 13,21 PROMPT Ok 13,38 PROMPT ПОВТОР 13,53 PROMPT ОТКАЗ READ MENU TO M1 IF M1 1 EXIT ELSEIF M1 2 M1 1 ELSEIF M1 0.OR.M1 3 R1 1 EXIT ENDIF ENDDO SET CURSOR OFF RESTORE SCREEN FROM screen RETURN R1 Вывод отчетного документа на печать FUNCTION do PRN PRIVATE YN YN 1 codif1 PRNT , YN IF YN 2 SET CURSOR OFF TYPE OT2 TO PRINT ENDIF RETURN 0 Функция определения возраста пациента FUNCTION y m day PARAMETERS day bir,hour bir,mins bir,day bas,hour bas,mins bas PRIVATE years,mons,days,screen,txt SAVE SCREEN TO screen txt years 00 1,20 CLEAR TO 3,60 1,20 TO 3,60 2,22 SAY IF choice 8, Возраст пациента , Возраст на момент смерти years oldM day bir,day bas IF VAL years 0 txt years IF VAL years 1 txt txt год ELSEIF VAL years 5 txt txt года ELSE txt txt лет ENDIF ELSE mons INT day bas-day bir 30 IF mons 0 txt ALLTRIM STR mons IF mons 1 txt txt месяц ELSEIF mons 5 txt txt месяца ELSE txt txt месяцев ENDIF ELSE PRIVATE add add piece hour bir,mins bir,hour bas,mins bas days day bas-day bir add txt ALLTRIM STR days IF days 1 txt txt день ELSEIF days 5 txt txt дня ELSE txt txt дней ENDIF ENDIF ENDIF 2,50 SAY txt vars choice vars choice . PRIVATE string2 string2 IF choice 8 context string2,promp choice ,vars choice ,length,New Str stuff1 string,length,string2,choice,row,len promp choice 9 vars choice codif1 OLDS , OLD ELSEIF choice 22 codif1 OLDS , OLD D ENDIF RESTORE SCREEN FROM screen RETURN 0 Функция определения полных лет пациента FUNCTION oldM PARAMETERS b dat,today PRIVATE old1 PRIVATE year1 SET CENTURY OFF year1 year today -year b dat if month today month b dat old1 alltrim str year1 else if month today month b dat old1 alltrim str year1-1 else if day today day b dat old1 alltrim str year1-1 else old1 alltrim str year1 endif endif endif RETURN old1 Функция перевода минут в сутки FUNCTION piece PARAMETERS H1,M1,H2,M2 PRIVATE P P 0.00 P 60 H2 M2 - 60 H1 M1 1440 RETURN P Коррекция заголовка отчетного документа FUNCTION corr ttl PARAMETERS file, str1, str2, str3 PRIVATE h,l,v h FCREATE 0000F ,0 FSEEK h,0,0 FWRITE h, Отделение str1 CHR 13 CHR 10 ,11 LEN str1 2 FWRITE h, Отчетный период str2 - str3 CHR 13 CHR 10 , 17 LEN str2 3 LEN str3 2 FWRITE h, Дата формирования отчета DTOC today CHR 13 CHR 10 , 27 LEN DTOC today 2 FCLOSE h RUN COPY 0000F file 0000F NUL DELETE FILE file RENAME 0000F TO file RETURN 0 Модуль VIEWER.PRG Функция просмотра текстового файла в заданном окне - fileview.

Для перемещения текста в окне используются только Параметры filename - имя файла, wt,wl,wb,wr - окно просмотра, color - цвет необязательный параметр , linewide - длина строки гориз. скроллинг необязательный параметр . function fileview parameters filename,wt,wl,wb,wr,color,linewide private col sv col sv setcolor if pcount 6 color W B,N G,BG N,RB B,BG B endif if pcount 7 linewide wr-wl 1 endif set key 24 to cr set key 18 to bl set key 3 to bl set key 29 to bl set key 30 to bl set key 31 to bl if empty color color W B,N G,BG N,RB B,BG B endif setcolor color private f mov private fh,file len,file down,file up private blok,pos str,pos cur private lines,old line,count,cnt pos private buf,p,wt,wl,wb,wr private str vid,p vid private buf1,buf2 buf buf1 blok 2000 pos str wb-wt 1 pos cur wb-wt 1 lines 0 count 0 cnt pos 0 old line 0 last chr 13 chr 10 f mov 0 fh fopen filename,0 if ferror 0 1,2 say Ошибка при открытии файла filename return 0 endif file len fseek fh,0,2 fseek fh,0,0 buf1 freadstr fh, blok file down blok file up -1 str vid buf1 p vid rat last,str vid str vid left str vid,p vid-1 do while .T. clear typeahead memoedit STRTRAN str vid, Н , H ,wt,wl,wb,wr F mod ,linewide, ,pos str,0,pos cur,0 if lastkey 27 exit endif do case case f mov 1 str vid buf buf if buf buf1 , buf2 , buf1 fseek fh,file down,0 file down file down blok file up file down-3 blok buf freadstr fh,blok str vid str vid buf pos str lines-old line 1 pos cur wb-wt 1 old line pos str-1 p vid rat last,str vid str vid left str vid,p vid-1 count count 1 if count cnt pos cnt pos cnt pos 1 p pos alltrim str cnt pos private p p pos str endif case f mov -1 fseek fh,file up,0 file down file down-blok file up file down-3 blok buf freadstr fh,blok str vid buf buf if buf buf1 , buf2 , buf1 str vid str vid buf count count-1 p pos alltrim str count pos str p wb-wt 1 pos cur wb-wt 1 p vid rat last,str vid str vid left str vid,p vid-1 otherwise endcase enddo fclose fh set key 24 set key 18 set key 3 set key 29 set key 30 set key 31 setcolor col sv RETURN 0 function mod parameters mode,line,col private key key lastkey do case case key 13 .and. line lines .and. file down file len f mov 1 keyboard chr 23 return 0 case key 5 .and. line wb-wt 2 .and. file up -1 f mov -1 keyboard chr 23 return 0 otherwise lines line endcase return 0 procedure cr keyboard chr 13 return procedure bl keyboard chr 32 return.

– Конец работы –

Используемые теги: Разработка, автоматизированной, системы, учета, выбывших, стационара0.099

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Разработка автоматизированной системы учета выбывших из стационара

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания
ГОСТ Информационная технология Комплекс стандартов на автоматизированные системы Автоматизированные системы Стадии создания... Г О С У Д А Р С Т В Е Н Н Ы Й С Т А Н Д А Р Т С О Ю З... СОДЕРЖАНИЕ РАБОТ...

Разработка автоматизированной информационной системы по учету основных средств и материальных запасов
Некоторые организации используют шкафы для хранения папок с документами и ручной поиск и обработку необходимой информации. Но большинство предпочитают компьютеризированные базы данных и программы,… Причем по мере роста мощности персональных компьютеров сфера автоматизации непрерывно расширяется.

ПБУ 6/01 Учет ОС. Порядок признания ОС в учете. Организация аналитического учета ОС. Первичная документация по учету и инвентаризации ОС
Определение и классификация нематериальных активов особенности их учета ПБУ Учет НМА Условия признания НМА в бухгалтерском учете... Порядок бухгалтерского учета нематериальных активов регулируется Положением по бухгалтерскому учету Учет...

МЕТОДИЧЕСКИЕ УКАЗАНИЯ по технико-экономическому обоснованию дипломных проектов и работ специальности 220200 Автоматизированные системы обработки информации и управления Методические указания для специальности 2202 Автоматизированные системы обработки инфо
Российский химико технологический университет... им Д И Менделеева... Новомосковский институт Издательский центр...

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

ПБУ 6/01 Учет ОС. Порядок признания ОС в учете. Организация аналитического учета ОС. Первичная документация по учету и инвентаризации ОС
Определение и классификация нематериальных активов особенности их учета ПБУ Учет НМА Условия признания НМА в бухгалтерском учете... Порядок бухгалтерского учета нематериальных активов регулируется Положением по бухгалтерскому учету Учет...

Учет затрат по элементам, система счетов бухгалтерского учета для учета затрат по элементам (на примере ЗАО «ЛУКОЙЛ-ТРАНС»)
В этих условиях учет затрат важнейший инструмент управления предприятием. Необходимость учета затрат на производство растет по мере того, как… Огромна роль группировок затрат, которые определяют организацию их учета, а также является методом обработки и…

Методы учета затрат и калькулирования себестоимости. Системы учета затрат. Расчет себестоимости продукции на примере ячеек КРУ
Исчисление себестоимости единицы отдельных видов продукции, работ или услуг и всей товарной продукции называется калькуляцией. Различают плановую, сметную, нормативную и отчетную или фактическую… Эти нормы расходов являются средними для планируемого периода. Разновидностью плановых являются сметные калькуляции,…

0.04
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам
  • Система разработки управленческого учета в оптовой торговле Преобразования, проведенные в торговле на путях формирования свободной хозяйственной инициативы, не замедли сказаться на развитии потребительского… Вместе с тем позитивные тенденции развития внутренней торговли сопровождаются… С целью обеспечения позитивного развития внутреннего рынка необходимо решение следующих задач 1. Обеспечение для…
  • Разработка автоматизированной информационной системы планирования работы К функциям управления относится обеспечение тесных взаимосвязей и координации всех подразделений, отвечающих за проектирование, реализацию,… Кроме того, использование компьютерных производственно-экономических систем… Применение специализированных программ в бухгалтерском учете, маркетинговых исследованиях, учете различных видов…
  • Проектирование автоматизированной информационной системы по учету обеспеченности материалами процесса производства ПКФ "Анкей" Строительное производство характеризуется разнообразием и неподвижностью своей продукции, высокой материало- и трудоемкостью, территориальной… Особенность строительной отрасли налагает определенный отпечаток на ее систему… Заранее необходимо согласовать список участников возведения объектов и технологию строительно-монтажных работ,…
  • Международные финансовые системы и международная система учета и отчетности - билеты весна 2001 Виды инкассо. 96.Участники и схемы инкассовой формы расчетов. 97.Сущность банковского перевода, участники операций расчетов банковским переводом.… Акцепт векселя. 100.Чеки и кредитные карточки, используемые в международных… Лондонский клуб частных кредитов, их организация и деятельность. 117.Цели и деятельность региональных…
  • Разработка автоматизированных систем Что бы осуществить автоматизацию кадрового учета потребуется программа, которая поддерживает хранение в базе данных личных данных о каждом… Содержит шаблоны для составления документации. 1 Описание объекта исследования… Основной целью деятельности лицея является формирование общей культуры личности обучающихся на основе усвоения…