1 | ECDSSCRN ;BIR/RHK - Enter Event Code Screens ;30 Mar 95
|
---|
2 | ;;2.0; EVENT CAPTURE ;;8 May 96
|
---|
3 | ;Routine for entering event code screens
|
---|
4 | START ; Check for location
|
---|
5 | W @IOF
|
---|
6 | I $O(^DIC(4,"LOC",""))="" W !,"You have no locations flagged for event cature.",!! Q
|
---|
7 | UNIT ; Select unit
|
---|
8 | K DIC S ECNOPE="",DIC=724,DIC(0)="QEAMZ",DIC("A")="Select DSS Unit: ",DIC("S")="I $P(^(0),U,8)" D ^DIC K DIC G:Y<0 END
|
---|
9 | S ECU=+Y,ECUN=$P(Y,U,2) D CHECK
|
---|
10 | I $D(DUOUT)!($D(DTOUT)) G END
|
---|
11 | I ECNOPE G UNIT
|
---|
12 | CAT ; Check if unit uses categories
|
---|
13 | I $P(^ECD(ECU,0),U,11) D S ECUDIR=$S($D(DUOUT):"END",$D(ECUERR):"UNIT",1:"PROC") W @IOF G @ECUDIR
|
---|
14 | .S DIC=726
|
---|
15 | .S DIC(0)="AEQMZ"
|
---|
16 | .S DIC("S")="I '$P(^(0),U,3)!($P(^(0),U,3)>DT)"
|
---|
17 | .S DIC("A")="Select Category: "
|
---|
18 | .D ^DIC K DIC Q:$D(DUOUT)
|
---|
19 | .I Y<0 S ECUERR=1 Q
|
---|
20 | .S ECUCAT=+Y
|
---|
21 | PROC ; Set procedures
|
---|
22 | ; Find highest entry number
|
---|
23 | F ECUP=0:0 S ECUP=$O(^ECD(ECU,"PRO",ECUP)) Q:+$O(^(ECUP))'>0
|
---|
24 | S ECUP=ECUP+1
|
---|
25 | I '$D(ECUCAT) S ECUCAT=""
|
---|
26 | S DIR(0)="724.011,.01",DIR("A")="Select Procedure" D ^DIR K DIR
|
---|
27 | I +Y'>0 G END
|
---|
28 | S ECUPRO=Y
|
---|
29 | I $D(^ECD(ECU,"PRO","CB",ECUCAT,ECUPRO)) D G PROC
|
---|
30 | .W !,"That procedure already exists.",!!
|
---|
31 | .S ECUPROP=$O(^ECD(ECU,"PRO","CB",ECUCAT,ECUPRO,""))
|
---|
32 | .I $P(^ECD(ECU,"PRO",ECUPROP,0),U,3),($P(^(0),U,3)<DT) D
|
---|
33 | ..S Y=$P(^ECD(ECU,"PRO",ECUPROP,0),U,3) X ^DD("DD")
|
---|
34 | ..W "This procedure was inactivated on ",Y,". You may use the 'Inactivate",!,"Event Code Screen option to change this date.",!!
|
---|
35 | .K ECUP
|
---|
36 | S ^ECD(ECU,"PRO",ECUP,0)=Y_"^"_ECUCAT
|
---|
37 | I '$D(^ECD(ECU,"PRO",0)) S ^ECD(ECU,"PRO",0)="^724.011AV^^"
|
---|
38 | ; Set the cross references for this entry
|
---|
39 | S ^ECD(ECU,"PRO","B",Y,ECUP)=""
|
---|
40 | S ^ECD(ECU,"PRO","C",ECUCAT,ECUP)=""
|
---|
41 | K DA,ECUP,Y,X G PROC
|
---|
42 | STOP ; Stop loop and check for another category
|
---|
43 | G CAT
|
---|
44 | END ;
|
---|
45 | K DA,DIE,DIK,DR,ECNOPE,ECU,ECUCAT,ECUDIR,ECUERR,ECUN,ECUP,ECUPRO,ECUPROP,X,Y
|
---|
46 | Q
|
---|
47 | CHECK ; Check to see if active unit
|
---|
48 | I $P(^ECD(ECU,0),U,6) S ECNOPE=1
|
---|
49 | I ECNOPE W !!,"This DSS Unit has not been activated for use in Event",!,"Capture software.",!! S DIR(0)="E" D ^DIR K DIR
|
---|
50 | Q
|
---|