1 | QANOPEN ;GJC/HISC-Open Incident Case Report ;6/15/92
|
---|
2 | ;;2.0;Incident Reporting;**26**;08/07/1992
|
---|
3 | S QANHD(0)="Open Incidents and the Associated Patient(s)"
|
---|
4 | S QANHD(1)="""c"" denotes a Closed Patient Record"
|
---|
5 | S QANHD(2)="""d"" denotes a Deleted Patient Record"
|
---|
6 | S QANHD(3)="No Open Cases found!"
|
---|
7 | S $P(QANLN,"+",$S(IOM=132:133,1:81))="",(QANPG,QANXIT)=0
|
---|
8 | S Y=DT X ^DD("DD") S QANTDY=Y
|
---|
9 | D DIV^QANRPT1 I $G(QANPOP) G KILL
|
---|
10 | F QANAA=1:2:3 D
|
---|
11 | . S QANIEN=0
|
---|
12 | . F S QANIEN=$O(^QA(742.4,"ACS",QANAA,QANIEN)) Q:QANAA'>0!(QANIEN'>0) D
|
---|
13 | . . D INCD
|
---|
14 | TASK ;Call to ^%ZTLOAD
|
---|
15 | K IOP,%ZIS S %ZIS("A")="Print on device: ",%ZIS="MQ" W ! D ^%ZIS W !!
|
---|
16 | G:POP KILL
|
---|
17 | I $D(IO("Q")) S ZTRTN="START^QANOPEN",ZTDESC="Open Incident/Patient report." D ZLOOP,^%ZTLOAD W !,$S($D(ZTSK):"Request Queued!",1:"Request Cancelled!"),! G EXIT
|
---|
18 | START ;
|
---|
19 | U IO W @IOF
|
---|
20 | I '$D(^TMP("QAN",$J)) D HDH W !!!!!?(IOM-$L(QANHD(3))\2),QANHD(3) G EXIT
|
---|
21 | S QANCC=""
|
---|
22 | F S QANCC=$O(^TMP("QAN",$J,"DIV",QANCC)) Q:QANCC']"" D
|
---|
23 | . I QANCC>0 S Y=QANCC I Y]"" S C=$P(^DD(742.4,52,0),U,2) D Y^DIQ S QANDIVN=Y
|
---|
24 | . I QANCC=0 S QANDIVN="Unknown"
|
---|
25 | . S QANHD(4)="Report for Division: "_QANDIVN
|
---|
26 | . W @IOF D HDR
|
---|
27 | . S QAN0=0
|
---|
28 | . F S QAN0=$O(^TMP("QAN",$J,"DIV",QANCC,QAN0)) Q:QAN0'>0 D
|
---|
29 | . . S QAN1=0
|
---|
30 | . . F S QAN1=$O(^TMP("QAN",$J,QAN0,QAN1)) Q:QAN1'>0!(QANXIT) D OUT1
|
---|
31 | EXIT ;Close device
|
---|
32 | W ! D ^%ZISC,HOME^%ZIS
|
---|
33 | KILL ;Kill and quit
|
---|
34 | K %ZIS,C,D,DIC,DIR,POP,QA,QAN0,QAN1,QANCASE,QANDATE,QANDFN,QANHD,QANIEN
|
---|
35 | K QANINCD,QANLCS,QANLN,QANPAT,QANPG,QANPRS,QANPT,QANTDY,QANXIT,QANZER0
|
---|
36 | K DTOUT,DIRUT,DIROUT,DUOUT,QANZERO,QAQ,X,Y,ZTDESC,ZTRTN,ZTSAVE,ZTSK
|
---|
37 | K ^TMP("QAN",$J)
|
---|
38 | Q
|
---|
39 | HDH ;End of Screen interface
|
---|
40 | I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR S:+Y=0 QANXIT=1 Q:QANXIT
|
---|
41 | W @IOF D HDR
|
---|
42 | Q
|
---|
43 | HDR ;Standard header
|
---|
44 | S QANPG=QANPG+1
|
---|
45 | W !,?63,"Date: ",?69,QANTDY,!?63,"Page: ",?69,QANPG
|
---|
46 | W !?(IOM-$L(QANHD(0))\2),QANHD(0)
|
---|
47 | W !?(IOM-$L(QANHD(1))\2),QANHD(1)
|
---|
48 | W !?(IOM-$L(QANHD(2))\2),QANHD(2)
|
---|
49 | I $G(QANDVFLG)=1,($G(QANHD(4))]"") W !?(IOM-$L(QANHD(4))\2),QANHD(4)
|
---|
50 | F QAQ=1:1:2 W !,QANLN
|
---|
51 | Q
|
---|
52 | INCD ;Incident data
|
---|
53 | S QANZERO=$G(^QA(742.4,QANIEN,0)) Q:QANZERO']""
|
---|
54 | S QANDIV=$P(QANZERO,U,22)
|
---|
55 | I $G(QAN1DIV)]"" Q:QAN1DIV'=QANDIV
|
---|
56 | I '$G(QANDVFLG) S QANDIV=0
|
---|
57 | I $G(QANDVFLG)=1 D DIV
|
---|
58 | S ^TMP("QAN",$J,"DIV",QANDIV,QANIEN)=""
|
---|
59 | S QANCASE=$P(QANZERO,U),QANINCD=$P(QANZERO,U,2),QANDATE=$P(QANZERO,U,3)
|
---|
60 | S Y=QANINCD I Y]"" S C=$P(^DD(742.4,.02,0),U,2) D Y^DIQ S QANINCD=Y
|
---|
61 | S Y=QANDATE I Y]"" S C=$P(^DD(742.4,.03,0),U,2) D Y^DIQ S QANDATE=Y
|
---|
62 | S ^TMP("QAN",$J,QANIEN,"CASE")=$S(QANCASE]"":QANCASE,1:"N/A")
|
---|
63 | S ^TMP("QAN",$J,QANIEN,"INCD")=$S(QANINCD]"":QANINCD,1:"N/A")
|
---|
64 | S ^TMP("QAN",$J,QANIEN,"DATE")=$S(QANDATE]"":QANDATE,1:"N/A")
|
---|
65 | F QANDFN=0:0 S QANDFN=$O(^QA(742,"BCS",QANIEN,QANDFN)) Q:QANDFN'>0 D PAT
|
---|
66 | Q
|
---|
67 | OUT1 ;Output data/results
|
---|
68 | I $Y>(IOSL-6) D HDH Q:QANXIT
|
---|
69 | W !!,"Case Number: ",$G(^TMP("QAN",$J,QAN0,"CASE")),?30,"Incident: ",$G(^TMP("QAN",$J,QAN0,"INCD"))
|
---|
70 | W !,"Date: ",$G(^TMP("QAN",$J,QAN0,"DATE")),?30,"Patient: ",$G(^TMP("QAN",$J,QAN0,QAN1,"PAT"))
|
---|
71 | Q
|
---|
72 | PAT ;Patient information
|
---|
73 | S QANZER0=$G(^QA(742,QANDFN,0)) Q:QANZER0']""
|
---|
74 | S QANPRS=+$P(QANZER0,U,12),QANPT=+$P(QANZER0,U)
|
---|
75 | I $G(^DPT(QANPT,0))]"" S QANPAT=$P(^DPT(QANPT,0),U)_$S(QANPRS<0:" (d)",QANPRS=0:" (c)",1:"")
|
---|
76 | I $G(^DPT(QANPT,0))']"" S QANPAT="N/A"
|
---|
77 | S ^TMP("QAN",$J,QANIEN,QANDFN,"PAT")=QANPAT
|
---|
78 | Q
|
---|
79 | ZLOOP ;Ztsave variable for ^%ZTLOAD
|
---|
80 | F QA="QA*","^TMP(""QAN"",$J," S ZTSAVE(QA)=""
|
---|
81 | Q
|
---|
82 | DIV ;
|
---|
83 | S (QANBB,QANOK)=0
|
---|
84 | F S QANBB=$O(^QA(740,1,"QAN2",QANBB)) Q:QANBB'>0!($G(QANOK)) D
|
---|
85 | . I QANDIV=^QA(740,1,"QAN2",QANBB,0) S QANOK=1
|
---|
86 | I $G(QANOK)'=1 S QANDIV=0
|
---|
87 | S QANOK=0
|
---|
88 | Q
|
---|