1 | ORGUEM ; slc/KCM - Set Up Formatted Protocol Menus ;5/28/92 14:41
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;;Dec 17, 1997
|
---|
3 | ;;
|
---|
4 | EN ; Select menu, change items, formatting, & other attributes
|
---|
5 | N ORGPOP,ORGMENU,IOINHI,IOINLOW ; ORGMENU declared globally for ORGUEM*
|
---|
6 | D GMENU^ORGUEM2("AEMQL",.ORGMENU) Q:$D(ORGPOP) ; Get protocol menu
|
---|
7 | I $P(ORGMENU,"^",3) D NEW^ORGUEM2 I $D(ORGPOP) D DMEN Q ; If creating a new protocol, get required fields
|
---|
8 | D HOME^%ZIS S X="IOINHI;IOINLOW" D ENDR^%ZISS
|
---|
9 | S ORGMENU("TOG")="F" D SHOW ; Show menu in formatted mode
|
---|
10 | S X=$O(^ORD(101,"B","ORCL PROTOCOL MENU SETUP",0))_";ORD(101,"
|
---|
11 | D EN^XQOR ; Use XQOR to select & execute actions
|
---|
12 | D BLANKS^ORGUEM2 ; Reset blank lines
|
---|
13 | S ^DISV(DUZ,"^ORD(101,")=+ORGMENU
|
---|
14 | K ^XUTL("XQORM",+ORGMENU_";"_$J) ; Clean up sequence/name menu node
|
---|
15 | Q
|
---|
16 | DMEN ; Delete Protocol Menu (pointers not updated)
|
---|
17 | N DA,DIK
|
---|
18 | S DA=+ORGMENU,DIK="^ORD(101,"
|
---|
19 | W !,"Insufficient information to create menu...."
|
---|
20 | D ^DIK
|
---|
21 | Q
|
---|
22 | COL ; Edit the number of columns for the protocol
|
---|
23 | N ORCOL,DIR,DIC,DIE,DR,DA
|
---|
24 | S ORCOL=80\$S($G(^ORD(101,+ORGMENU,4)):^(4),1:80)
|
---|
25 | S DIR(0)="NAO^1:3",DIR("A")="Number of Columns (1-3): ",DIR("B")=ORCOL
|
---|
26 | D ^DIR
|
---|
27 | I Y,Y'=ORCOL S DR="41///"_(80\Y),DIE="^ORD(101,",DA=+ORGMENU D ^DIE
|
---|
28 | Q
|
---|
29 | MNE ; Edit mnemonic width for the protocol
|
---|
30 | N ORMNE,DIR,DIC,DIE,DR,DA
|
---|
31 | S ORMNE=$P($G(^ORD(101,+ORGMENU,4)),"^",2)
|
---|
32 | S DIR(0)="NAO^1:9",DIR("A")="Width for Mnemonics: ",DIR("B")=$S(ORMNE:ORMNE,1:5)
|
---|
33 | D ^DIR
|
---|
34 | I Y,Y'=ORMNE S DR="42///"_Y,DIE="^ORD(101,",DA=+ORGMENU D ^DIE
|
---|
35 | Q
|
---|
36 | ADD ; Add a new item to the menu
|
---|
37 | N DIC
|
---|
38 | S DIC="^ORD(101,",DIC(0)="AEMQZ",DIC("A")="Select Item to be Added: "
|
---|
39 | F D ^DIC Q:Y'>0 D
|
---|
40 | . N D0,DD,DIC,DA,DIE,DR
|
---|
41 | . S:'$D(^ORD(101,+ORGMENU,10,0)) ^(0)="^101.01PA^^"
|
---|
42 | . S X=+Y,DA(1)=+ORGMENU,DIC="^ORD(101,"_DA(1)_",10,",DIC(0)=""
|
---|
43 | . D FILE^DICN I +Y S DIE=DIC,DA=+Y,DR="3;2;6" D ^DIE
|
---|
44 | Q
|
---|
45 | EDIT ; Edit an item on the menu
|
---|
46 | N ORGIDX,ORGLST,ORGFLG
|
---|
47 | S ORGLST=$$LOOK^ORGUEM2("Select item(s) to be edited: ")
|
---|
48 | F ORGIDX=1:1:$L(ORGLST,",") I +$P(ORGLST,",",ORGIDX) D FLDS^ORGUEM2(+$P(ORGLST,",",ORGIDX),.ORGFLG) Q:ORGFLG
|
---|
49 | Q
|
---|
50 | DEL ; Delete an item from the menu
|
---|
51 | N ORGIDX,ORGLST,DA,DIK
|
---|
52 | S ORGLST=$$LOOK^ORGUEM2("Select item(s) to be deleted: ")
|
---|
53 | F ORGIDX=1:1:$L(ORGLST,",") D ;delete item
|
---|
54 | . S DA=$P(ORGLST,",",ORGIDX)
|
---|
55 | . I DA S DA(1)=+ORGMENU,DIK="^ORD(101,"_DA(1)_",10," D ^DIK
|
---|
56 | Q
|
---|
57 | SHOW ; Display the menu
|
---|
58 | N XQORM,X
|
---|
59 | W !!,ORGMENU(0,0),?61,$$INHI^XQORM1,"HILITE",$$INLO^XQORM1,"=placeholder"
|
---|
60 | W ! F I=1:1:79 W "-"
|
---|
61 | D SMENU^ORGUEM2 D:ORGMENU("TOG")="R" SET^ORGUEM1(+ORGMENU) D EN^XQORM
|
---|
62 | I ORGMENU("TOG")="F" D
|
---|
63 | . W !,$S($D(XQORM("A")):XQORM("A"),1:"Select Item(s): ")
|
---|
64 | . W:$D(XQORM("B")) XQORM("B")_"// "
|
---|
65 | W ! F I=1:1:79 W "-"
|
---|
66 | Q
|
---|
67 | TOG ; Toggle menu display mode
|
---|
68 | I ORGMENU("TOG")="R" S ORGMENU("TOG")="F" W !,"Menus will now be displayed as the user will see them."
|
---|
69 | E S ORGMENU("TOG")="R" W !,"Menus will now be displayed using actual sequence numbers and protocol names."
|
---|
70 | Q
|
---|
71 | OPT ; Edit optional menu parameters
|
---|
72 | N DIE,DR,DA
|
---|
73 | S DIE="^ORD(101,",DR="[ORCL ADV MENU EDIT]",DA=+ORGMENU D ^DIE
|
---|
74 | Q
|
---|
75 | INQ ; Inquire protocol file
|
---|
76 | N DIC,DA,DR,DIQ
|
---|
77 | S DIC="^ORD(101,",DIC(0)="AEMQ" D ^DIC Q:Y'>0
|
---|
78 | W ! S DA=+Y D EN^DIQ
|
---|
79 | Q
|
---|