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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



66->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 && КОЛ-ВО ДНЕЙ, ПРОВЕДЕННОЕ ИМИ

OLD_DOLD_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_DAYALL_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()

DEPARTMENT.AND.;"> IF dep=KARTA->DEPARTMENT.AND.;

DATE_END>=_DATE_FROM.AND.KARTA->DATE_ENDDATE_END<=_DATE_TILL.AND.;

END1=3.AND.DIA66->KOD1="1""> 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))

14.AND.ad14.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.;

DATE_END>=_DATE_FROM.AND.KARTA->DATE_ENDDATE_END<=_DATE_TILL.AND.;

END1=3.AND.DIA66->KOD1="1""> 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) && ПРОЦЕДУРА ПРЕДСТАВЛЕНИЯ ОБРАБОТКИ ЗАПИ