| 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
 | 
|---|