| 1 | QANQUCK ;HISC/GJC-Initial sighting of an Incident for a QA person ; 10/29/03 10:34am | 
|---|
| 2 | ;;2.0;Incident Reporting;**1,9,14,27,26,28,29,32**;08/07/1992;Build 3 | 
|---|
| 3 | ; | 
|---|
| 4 | K QANLOCK | 
|---|
| 5 | D NEWREC^QANCDNT | 
|---|
| 6 | D DIV^QANCDNT | 
|---|
| 7 | I $G(QANQFLG)=1 Q | 
|---|
| 8 | S QANDEATH=$O(^QA(742.1,"BUPPER","DEATH",0)),QANSUI=$O(^QA(742.1,"BUPPER","SUICIDE",0)),QANHOMCD=$O(^QA(742.1,"BUPPER","HOMICIDE",0)) | 
|---|
| 9 | S QANPTAB=$O(^QA(742.1,"BUPPER","PATIENT ABUSE",0)) | 
|---|
| 10 | S DIE="^QA(742.4,",DA=QANIEN,DR="[QAN QUICK EDIT]" D ^DIE K DIE,DR I $D(Y) D DEL D:QANXIT KILL Q | 
|---|
| 11 | S QANLTTR=$P(^QA(742.4,QANIEN,0),U,2) | 
|---|
| 12 | S QANST=$P(^QA(742.4,QANIEN,0),U,2) I "12"[$P(^QA(742.1,QANST,0),U,2) S $P(^QA(742.4,QANIEN,0),U,9)=DT,QAQADICT=742.4,QAQAFLD=".1",X=DT D ENSET^QAQAXREF | 
|---|
| 13 | K QAUDIT S QAUDIT("FILE")="742.4^50",QAUDIT("DA")=QANIEN,QAUDIT("ACTION")="o",QAUDIT("COMMENT")="Open an incident record" D ^QAQAUDIT | 
|---|
| 14 | S DIE="^QA(742.4,",DR=".09///"_3,DA=QANIEN D ^DIE ; Set 'Local Case' flag to brief. | 
|---|
| 15 | ;Get the patient. | 
|---|
| 16 | K ^UTILITY($J,"QAN PAT") F  D PAT Q:QANXIT!(QANOUT) | 
|---|
| 17 | L -^QA(742.4,QANIEN) ;unlock record - it was locked in NEWREC^QANCDNT | 
|---|
| 18 | KILL K D0,DA,QANADMDT,QANAGE,QANAME,QANCHK,QANCODE,QANDFN,QANDOB,QANDT,QANDUZ | 
|---|
| 19 | K QANFLAG,QANHOMCD,QANHOME,QANIEN,QANINCR,QANINPAT,QANLTTR,QANOUT | 
|---|
| 20 | K QANPTAB,QANPID,QANPIEN,QANPSDO,QANSSN,QANSUI,QANDEATH,QANST,QANST1 | 
|---|
| 21 | K QANTRSP,QANTTL,QANWARD,QANXIT,QANZERO,QAQADICT,QAQAFLD,QUES,VAERR,X | 
|---|
| 22 | K QANPRS,X1,X2,Y,QANCODE,QANBFLG | 
|---|
| 23 | Q | 
|---|
| 24 | DEL ; | 
|---|
| 25 | K DIK S DIK="^QA(742.4,",DA=QANIEN W !!,$C(7),"Insufficient data entered for an incident, deleting!!" D ^DIK K DA,DIK S QANXIT=1 | 
|---|
| 26 | Q | 
|---|
| 27 | PAT ;Patient data. | 
|---|
| 28 | K DIC S DIC="^DPT(",DIC(0)="QEAMNZ",DIC("A")="Select Patient: ",DIC("W")="W "" "",$P(^(0),U,9)",D="B^BS5" | 
|---|
| 29 | D MIX^DIC1 K DIC S:+Y<1&(QANFLAG) QANOUT=1 | 
|---|
| 30 | D:+Y<1&('QANFLAG) DEL^QANCDNT Q:QANXIT!(QANOUT) | 
|---|
| 31 | F  D  Q:"-12"[% | 
|---|
| 32 | . W !?5,$G(Y(0,0))_" OK?" | 
|---|
| 33 | . S %=1 D YN^DICN Q:"-12"[% | 
|---|
| 34 | . W " Confirm that this is the correct patient." | 
|---|
| 35 | D:%=-1&('QANFLAG) DEL^QANQUCK Q:QANXIT!(QANOUT) | 
|---|
| 36 | I %=-1,(QANFLAG) S QANXIT=1 Q | 
|---|
| 37 | I %=2 W " ??" G PAT | 
|---|
| 38 | D PRIOR^QANCDNT I QANXIT D  Q | 
|---|
| 39 | . I 'QANFLAG K DA,DIK S DA=QANIEN,DIK="^QA(742.4," D ^DIK K DA,DIK | 
|---|
| 40 | I $D(^UTILITY($J,"QAN PAT",+Y)) W !!,$C(7),$P(^DPT(+Y,0),U)_" has been previously entered for this incident." K Y G PAT | 
|---|
| 41 | I $D(^DPT(+Y,.35)),$P(^DPT(+Y,.35),U)]"",($P(^DPT(+Y,.35),U)<$P(^QA(742.4,QANIEN,0),U,3)) W !!,$C(7),"The date of death for patient: "_$P(^DPT(+Y,0),U)_" precedes the incident date." K Y G PAT | 
|---|
| 42 | S QANPIEN=+Y,QANZERO=Y(0),QANAME=Y(0,0),QANSSN=$P(QANZERO,U,9),^UTILITY($J,"QAN PAT",+Y)="" | 
|---|
| 43 | S QANDOB=$P(^DPT(QANPIEN,0),U,3) | 
|---|
| 44 | I QANDOB]"" S X=DT,X1=X,X2=QANDOB,X="" D:X2 ^%DTC S X=X\365.25,QANAGE=X | 
|---|
| 45 | S QANPSDO(0)=Y(0),QANPSDO(0,0)=Y(0,0) | 
|---|
| 46 | S QANPID=$$QANPID^QANCDNT(.Y) | 
|---|
| 47 | D ADMDT^QANUTL1 | 
|---|
| 48 | ;L +^QA(742):10 I '$T W !!,"Another user is editing this file." Q | 
|---|
| 49 | K DIC,DD,DO,DINUM,DLAYGO S DLAYGO=742,DIC="^QA(742,",DIC(0)="L",X=QANPIEN D FILE^DICN K DIC,DD,DO,DINUM,DLAYGO | 
|---|
| 50 | I +Y=-1,('QANFLAG) D DEL Q | 
|---|
| 51 | I +Y=-1,(QANFLAG) S QANXIT=1 Q  ;Something is wrong, exit. | 
|---|
| 52 | S QANDFN=+Y | 
|---|
| 53 | ;L -^QA(742) | 
|---|
| 54 | L +^QA(742,QANDFN):10 I '$T W !!,"Another user is editing this patient incident." Q | 
|---|
| 55 | S $P(^QA(742,QANDFN,0),U,2,6)=QANPID_U_QANIEN_U_QANADMDT_U_QANINPAT_U_QANWARD | 
|---|
| 56 | S $P(^QA(742,QANDFN,0),U,7)=QANTRSP,$P(^QA(742,QANDFN,0),U,12)=1 | 
|---|
| 57 | S DIK="^QA(742,",DA=QANDFN D IX1^DIK K DA,DIK | 
|---|
| 58 | I (QANSUI=QANLTTR)!(QANDEATH=QANLTTR)!(QANHOMCD=QANLTTR) K DA,DIE,DR S DIE="^QA(742,",DA=QANDFN,DR=".1///^S X=3" D ^DIE K DA,DIE,DR | 
|---|
| 59 | I (QANSUI'=QANLTTR),(QANDEATH'=QANLTTR),(QANHOMCD'=QANLTTR) K DA,DIE,DR S DIE="^QA(742,",DR=".1",DA=QANDFN D ^DIE K DA,DIE,DR | 
|---|
| 60 | L -^QA(742,QANDFN) | 
|---|
| 61 | S QANFLAG=1 | 
|---|
| 62 | K QAUDIT S QAUDIT("FILE")="742^50",QAUDIT("DA")=QANDFN,QAUDIT("ACTION")="o",QAUDIT("COMMENT")="Open a patient record" D ^QAQAUDIT | 
|---|
| 63 | Q | 
|---|