| 1 | QANQTTL ;GJC/HISC-QUARTERLY REPORT OF INVESTIGATIONS (REGIONAL) ;2/27/92
 | 
|---|
| 2 |  ;;2.0;Incident Reporting;;08/07/1992
 | 
|---|
| 3 |  N QANXIT S QANXIT=0 ;Set flag for abnormal exit
 | 
|---|
| 4 |  F WW=0:0 S WW=$O(QANARRY(WW)) Q:WW'>0!(QANXIT)  S XX="" F YY=0:0 S XX=$O(QANARRY(WW,XX)) Q:XX=""!(QANXIT)  S ZZ="" F AA=0:0 S ZZ=$O(QANARRY(WW,XX,ZZ)) Q:ZZ=""!(QANXIT)  D LOOP
 | 
|---|
| 5 |  Q
 | 
|---|
| 6 | DELETE ;Delete a non-lockable entry.
 | 
|---|
| 7 |  L -^QA(742.6,QANIEN) S QANXIT=1
 | 
|---|
| 8 |  K DA,DIK
 | 
|---|
| 9 |  S DA=QANIEN,DIK="^QA(742.6," D ^DIK
 | 
|---|
| 10 |  K DA,DIK
 | 
|---|
| 11 |  Q
 | 
|---|
| 12 | LOOP ;Check the results of the array.
 | 
|---|
| 13 |  S QANINCD=WW,QANALPV=XX,QANPTTY=ZZ
 | 
|---|
| 14 |  S QANFLD=".01^.02^.03^.04^.05^.06^.07^.08^.09^.1^.11^.12^.13^.14^.15^.16"
 | 
|---|
| 15 |  S QANX(1)=QANMED,QANX(2)=QANDATE,QANX(3)=QANPTTY,QANX(4)=QANINCD
 | 
|---|
| 16 |  S QANX(5)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,0))
 | 
|---|
| 17 |  S QANX(6)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,1))
 | 
|---|
| 18 |  S QANX(7)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,0,0))
 | 
|---|
| 19 |  S QANX(8)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,0,1))
 | 
|---|
| 20 |  S QANX(9)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,0,2))
 | 
|---|
| 21 |  S QANX(10)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,0,3))
 | 
|---|
| 22 |  S QANX(11)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,1,0))
 | 
|---|
| 23 |  S QANX(12)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,1,1))
 | 
|---|
| 24 |  S QANX(13)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,1,2))
 | 
|---|
| 25 |  S QANX(14)=+$G(QANARRY(QANINCD,QANALPV,QANPTTY,1,3)),QANX(15)=QANTODAY,QANX(16)=$S($D(^QA(742.1,"BUPPER","PATIENT ABUSE",QANINCD)):QANALPV,1:"")
 | 
|---|
| 26 |  K DD,DIC,DINUM,DLAYGO,DO
 | 
|---|
| 27 |  S DIC="^QA(742.6,",DIC(0)="L",DLAYGO=742.6,X=QANX(1)
 | 
|---|
| 28 |  D FILE^DICN K DD,DIC,DINUM,DLAYGO,DO
 | 
|---|
| 29 |  Q:+Y=-1  ;Bad entry
 | 
|---|
| 30 |  S QANIEN=+Y ;First Level, DA(1) -  D0.
 | 
|---|
| 31 |  L +^QA(742.6,QANIEN):0
 | 
|---|
| 32 |  I '$T W !,*7,"File entry is locked, exiting." D DELETE Q:QANXIT
 | 
|---|
| 33 |  K DA,DIE,DR S DIE="^QA(742.6,",DA=QANIEN
 | 
|---|
| 34 |  F BB=2:1:$L(QANFLD,U) S DR=$P(QANFLD,U,BB)_"///"_QANX(BB) D ^DIE
 | 
|---|
| 35 |  K DA,DIE,DR
 | 
|---|
| 36 |  I $D(^QA(742.1,"BUPPER","DEATH",QANINCD)),$D(QANARRY("QAN D",QANINCD,QANPTTY)) D DTH0
 | 
|---|
| 37 |  L -^QA(742.6,QANIEN) ;Unlock previously locked global.
 | 
|---|
| 38 |  Q
 | 
|---|
| 39 | DTH0 ;Creating and entry for death.
 | 
|---|
| 40 |  N QANFLD,QANX ;New previously used vars.
 | 
|---|
| 41 |  F CC=0:0 S CC=$O(^QA(742.14,CC)) Q:CC'>0  I '$D(QANARRY("QAN D",QANINCD,QANPTTY,CC)) S QANARRY("QAN D",QANINCD,QANPTTY,CC,0)="",QANARRY("QAN D",QANINCD,QANPTTY,CC,1)=""
 | 
|---|
| 42 |  F CC=0:0 S CC=$O(QANARRY("QAN D",QANINCD,QANPTTY,CC)) Q:CC'>0  D DTH1
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | DTH1 ;Store deaths.
 | 
|---|
| 45 |  I '$D(^QA(742.6,QANIEN,1,0))#2 S ^QA(742.6,QANIEN,1,0)="^742.61PA^^"
 | 
|---|
| 46 |  S QANFLD=".01^.02^.03"
 | 
|---|
| 47 |  S QANX(1)=CC,QANX(2)=+$G(QANARRY("QAN D",QANINCD,QANPTTY,CC,0))
 | 
|---|
| 48 |  S QANX(3)=+$G(QANARRY("QAN D",QANINCD,QANPTTY,CC,1))
 | 
|---|
| 49 |  K DD,DIC,DINUM,DLAYGO,DO
 | 
|---|
| 50 |  S DIC="^QA(742.6,"_QANIEN_",1,",DIC(0)="L",DLAYGO=742.61,X=QANX(1)
 | 
|---|
| 51 |  S DA(1)=QANIEN D FILE^DICN K DD,DIC,DINUM,DLAYGO,DO
 | 
|---|
| 52 |  Q:+Y=-1  ;Bad entry
 | 
|---|
| 53 |  S QANDFN=+Y ;2nd level, DA - D1
 | 
|---|
| 54 |  K DA,DIE,DR S DIE="^QA(742.6,"_QANIEN_",1,",DA(1)=QANIEN,DA=QANDFN
 | 
|---|
| 55 |  F BB=2:1:$L(QANFLD,U) S DR=$P(QANFLD,U,BB)_"///"_QANX(BB) D ^DIE
 | 
|---|
| 56 |  Q
 | 
|---|