- ORY280 ;ISL/TC,JER - Pre- and Post-install for patch OR*3*280 ;09/22/10 07:12
- ;;3.0;ORDER ENTRY/RESULTS REPORTING;**280**;Dec 17, 1997;Build 85
- ;
- ;
- PRE ; Initiate pre-init processes
- Q
- ;
- POST ; Initiate post-init processes
- D DLGBULL
- D UPDNAT
- D OC
- D UPDPAR
- D ^ORY280ES ;expert system changes
- D MAIN^ORY280P ;install parameter values
- K ^DIC(100.05,0,"RD") ; REMOVE @ ACCESS CODE FROM READ OF FILE 100.05
- ;D UPDPAR1
- Q
- ;
- SENDDLG(ANAME) ; Return true if the current order dialog should be sent
- I ANAME="OR GTX EARLIEST DATE" Q 1
- I ANAME="GMRCOR CONSULT" Q 1
- I ANAME="GMRCOR REQUEST" Q 1
- I ANAME="OR GTX ADDITIVE FREQUENCY" Q 1
- I ANAME="PSJI OR PAT FLUID OE" Q 1
- I ANAME="PSJ OR PAT OE" Q 1
- I ANAME="PSO OERR" Q 1
- I ANAME="PS MEDS" Q 1
- Q 0
- ;
- DLGBULL ; send bulletin about modified dialogs <on first install>
- N I,ORD
- F I="GMRCOR CONSULT","GMRCOR REQUEST","PSJI OR PAT FLUID OE" S ORD(I)=""
- D EN^ORYDLG(280,.ORD)
- Q
- ;
- OC ; setup new order checks
- S ^ORD(100.8,34,0)="DRUG DOSAGE"
- S ^ORD(100.8,34,1,0)="^^2^2^3090623^"
- S ^ORD(100.8,34,1,1,0)="This is an order check that Pharmacy performs to check the dosage of a "
- S ^ORD(100.8,34,1,2,0)="drug order for various problems."
- S ^ORD(100.8,35,0)="CLINICAL REMINDER TEST"
- S ^ORD(100.8,35,1,0)="^^4^4^3090706^"
- S ^ORD(100.8,35,1,1,0)="This order check refers to Clinical Reminder Rules that will look at the "
- S ^ORD(100.8,35,1,2,0)="Orderable Item that is getting placed and determin if a Reminder Rule "
- S ^ORD(100.8,35,1,3,0)="should fire. The CLINICAL REMINDER TEST order check is for testing "
- S ^ORD(100.8,35,1,4,0)="Reminder Order checks before deploying them to production."
- S ^ORD(100.8,36,0)="CLINICAL REMINDER LIVE"
- S ^ORD(100.8,36,1,0)="^^3^3^3090706^"
- S ^ORD(100.8,36,1,1,0)="This order check refers to Clinical Reminder Rules that will look at the "
- S ^ORD(100.8,36,1,2,0)="Orderable Item that is getting placed and determin if a Reminder Rule "
- S ^ORD(100.8,36,1,3,0)="should fire. "
- S ^ORD(100.8,"B","DRUG DOSAGE",34)=""
- S ^ORD(100.8,"B","CLINICAL REMINDER LIVE",36)=""
- S ^ORD(100.8,"B","CLINICAL REMINDER TEST",35)=""
- D EN^XPAR("PKG","ORK PROCESSING FLAG","DRUG DOSAGE","Enabled",.ERR)
- D EN^XPAR("PKG","ORK PROCESSING FLAG","CLINICAL REMINDER TEST","Disabled",.ERR)
- D EN^XPAR("PKG","ORK PROCESSING FLAG","CLINICAL REMINDER LIVE","Enabled",.ERR)
- D EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","CLINICAL REMINDER LIVE","Moderate",.ERR)
- D EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","CLINICAL REMINDER TEST","Low",.ERR)
- D EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","DRUG DOSAGE","High",.ERR)
- Q
- ;
- UPDNAT ;
- N DA,DIE,DR,UPDATED,XUMF
- S XUMF=1
- S DIE="^ORD(100.02,"
- S DA=$O(^ORD(100.02,"B","SERVICE REJECT","")) I DA'>0 Q
- ;DBIA 4631
- S UPDATED=$$SETVUID^XTID(100.02,.01,DA_",",4712356)
- I +$P(UPDATED,U)=0 D Q
- .D EN^DDIOL("Nature of Order file entry 'Service Reject' not updated")
- .D EN^DDIOL($P(UPDATED,U,2))
- S DR=".01///REJECTED BY SERVICE"
- D ^DIE
- D EN^DDIOL("Nature of Order file entry 'Service Reject' renamed to 'Rejected by Service'.")
- Q
- ;
- UPDPAR ;
- N ZTDESC,ZTDTH,ZTRTN,ZTSAVE,ZTIO,TEXT,ZTSK
- S ZTDESC="Session Order Dialog setting update"
- S TEXT=ZTDESC_" has been queued, task number "
- S ZTRTN="UPDPARQ^ORY280"
- S ZTIO=""
- S ZTDTH=$$NOW^XLFDT
- D ^%ZTLOAD
- I $D(ZTSK) S TEXT=TEXT_ZTSK D MES^XPDUTL(.TEXT)
- Q
- ;
- UPDPARQ ;
- N ENT,INST,ORERR,ORLIST,PAR,VALUE
- S PAR="ORWCH BOUNDS",INST="frmOCSession",VALUE="0,0,0,0"
- D ENVAL^XPAR(.ORLIST,PAR,INST,.ORERR)
- S ENT=""
- F S ENT=$O(ORLIST(ENT)) Q:ENT="" D DEL^XPAR(ENT,PAR,INST,.ORERR)
- ;F S ENT=$O(ORLIST(ENT)) Q:ENT="" D CHG^XPAR(ENT,PAR,INST,VALUE,.ORERR)
- Q
- ;
- UPDPAR1 ;Update ORWT TOOLS MENU parameter description
- N TMP,DIE,ARRAY,ERR,X
- D BMES^XPDUTL("Starting update of ORWT TOOLS MENU parameter definition description...")
- S TMP("OR*3*280",8989.51,1)="This parameter may be used to identify which items should appear on the"
- S TMP("OR*3*280",8989.51,2)="tools menu which is displayed by the CPRS GUI. Each item should contain"
- S TMP("OR*3*280",8989.51,3)="a name that should be displayed on the menu, followed by an equal sign,"
- S TMP("OR*3*280",8989.51,4)="followed by the command string used to invoke the executable. This"
- S TMP("OR*3*280",8989.51,5)="string may also include parameters that are passed to the executable."
- S TMP("OR*3*280",8989.51,6)="Some example entries are:"
- S TMP("OR*3*280",8989.51,7)=" "
- S TMP("OR*3*280",8989.51,8)=" Hospital Policy=C:\WINNT\SYSTEM32\VIEWERS\QUIKVIEW.EXE LOCPLCY.DOC"
- S TMP("OR*3*280",8989.51,9)=" VISTA Terminal=C:\PROGRA~1\KEA\KEAVT.EXE VISTA.KTC"
- S TMP("OR*3*280",8989.51,10)=" "
- S TMP("OR*3*280",8989.51,11)="An ampersand may be used in the name portion to identify a letter that"
- S TMP("OR*3*280",8989.51,12)="should be underlined on the menu for quick keyboard access. For example,"
- S TMP("OR*3*280",8989.51,13)="to underscore the letter H in Hospital Policy, enter &Hospital Policy as"
- S TMP("OR*3*280",8989.51,14)="the name part."
- S TMP("OR*3*280",8989.51,15)=" "
- S TMP("OR*3*280",8989.51,16)="To use submenus on the tools menu, you must place special text in the"
- S TMP("OR*3*280",8989.51,17)="caption and action values. Submenus must have action text SUBMENU ID,"
- S TMP("OR*3*280",8989.51,18)="where ID is a unique identifier for the submenu. Menu items belonging to"
- S TMP("OR*3*280",8989.51,19)="the submenu must specify which submenu they belong to by appending [ID]"
- S TMP("OR*3*280",8989.51,20)="after the caption. Thus the following entries create a Utilities submenu"
- S TMP("OR*3*280",8989.51,21)="with 2 child items:"
- S TMP("OR*3*280",8989.51,22)=" "
- S TMP("OR*3*280",8989.51,23)=" Utilities=SUBMENU 1"
- S TMP("OR*3*280",8989.51,24)=" Calculator[1]=calc.exe"
- S TMP("OR*3*280",8989.51,25)=" Notepad[1]=notepad.exe"
- S TMP("OR*3*280",8989.51,26)=" "
- S TMP("OR*3*280",8989.51,27)="To create a nested submenu, you create a submenu that belongs to another"
- S TMP("OR*3*280",8989.51,28)="submenu s ID. For example, to create a nested submenu belonging the"
- S TMP("OR*3*280",8989.51,29)="above Utilities submenu, you would do the following:"
- S TMP("OR*3*280",8989.51,30)=" "
- S TMP("OR*3*280",8989.51,31)=" Utility Web Sites[1]=SUBMENU UtilWeb"
- S TMP("OR*3*280",8989.51,32)=" MicroSoft Tools[UtilWeb]=http:\\www.msdn"
- S TMP("OR*3*280",8989.51,33)=" "
- S TMP("OR*3*280",8989.51,34)="While submenu IDs at the end of a caption are not displayed on the Tools"
- S TMP("OR*3*280",8989.51,35)="menu, this is only true if a corresponding menu ID is found. If no Menu"
- S TMP("OR*3*280",8989.51,36)="ID is found, the square brackets and included text will appear as part of"
- S TMP("OR*3*280",8989.51,37)="the caption on the Tools menu. This allows for existing bracketed text"
- S TMP("OR*3*280",8989.51,38)="to remain displayed."
- S TMP("OR*3*280",8989.51,39)=" "
- S TMP("OR*3*280",8989.51,40)="If two submenus share the same menu ID, the second submenu will be"
- S TMP("OR*3*280",8989.51,41)="treated as belonging to the first menu."
- S TMP("OR*3*280",8989.51,42)=" "
- S TMP("OR*3*280",8989.51,43)="One point worth noting. If you have a caption of a single dash (or a"
- S TMP("OR*3*280",8989.51,44)="single dash followed by a submenu id), it will create a separator line in"
- S TMP("OR*3*280",8989.51,45)="the menu or submenu. This is not new functionality, but may not have"
- S TMP("OR*3*280",8989.51,46)="been previously documented."
- S TMP("OR*3*280",8989.51,47)=" "
- S TMP("OR*3*280",8989.51,48)="Finally, if more than 30 menu items are assigned to the top level menu"
- S TMP("OR*3*280",8989.51,49)="(i.e. they are not part of a submenu), a ""More..."" submenu will"
- S TMP("OR*3*280",8989.51,50)="automatically be created at the top of the Tools menu, with additional"
- S TMP("OR*3*280",8989.51,51)="menu items spilling into the newly created ""More..."" submenu. If more"
- S TMP("OR*3*280",8989.51,52)="than 30 menu items spill into the ""More..."" submenu, another ""More..."""
- S TMP("OR*3*280",8989.51,53)="submenu will be created inside the first ""More..."" submenu, with"
- S TMP("OR*3*280",8989.51,54)="additional menu items spilling into it, and so on, as needed. Note,"
- S TMP("OR*3*280",8989.51,55)="however, that there is a limit of 99 total menu items, since you can only"
- S TMP("OR*3*280",8989.51,56)="enter an integer sequence number from 1-99 when defining the ORWT TOOLS"
- S TMP("OR*3*280",8989.51,57)="MENU parameter."
- S X=$$FIND1^DIC(8989.51,,"BX","ORWT TOOLS MENU",,,)
- S ARRAY=$NA(TMP("OR*3*280",8989.51))
- S ERR=$NA(TMP("OR*3*280","ERR"))
- D WP^DIE(8989.51,X_",",20,"K",ARRAY,ERR)
- I $D(TMP("OR*3*280","ERR")) D Q
- . N ERRORS,LINES,FILE,IENS,TXT,TEXT,Y
- . S FILE=8989.51
- . S ERRORS=0 F S ERRORS=$O(TMP("OR*3*280","ERR","DIERR",ERRORS)) Q:+ERRORS=0 D
- .. S IENS=$G(TMP("OR*3*280","ERR","DIERR",ERRORS,"PARAM","IENS"))
- .. S Y=0
- .. F S Y=$O(TMP("OR*3*280","ERR","DIERR",ERRORS,"TEXT",Y)) Q:+Y=0 D
- ... S TXT(Y)=$G(TMP("OR*3*280","ERR","DIERR",ERRORS,"TEXT",Y))
- . D BMES^XPDUTL(" Error occurred during update of ORWT TOOLS MENU parameter definition.")
- . D MES^XPDUTL(" Entry"_$S($G(IENS)'="":" "_IENS,1:"")_" in file "_FILE_$S($G(IENS)'="":",",1:"")_" failed to update with the following")
- . D MES^XPDUTL(" error message:")
- . D MES^XPDUTL(" ")
- . S Y=0 F S Y=$O(TXT(Y)) Q:Y="" D
- .. S TEXT=$G(TXT(Y))
- .. D MES^XPDUTL(" "_TEXT)
- . K TMP
- D BMES^XPDUTL("Update of ORWT TOOLS MENU parameter definition description has")
- D MES^XPDUTL(" successfully completed")
- Q
- ;
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HORY280 9679 printed Feb 19, 2025@00:07:01 Page 2
- ORY280 ;ISL/TC,JER - Pre- and Post-install for patch OR*3*280 ;09/22/10 07:12
- +1 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**280**;Dec 17, 1997;Build 85
- +2 ;
- +3 ;
- PRE ; Initiate pre-init processes
- +1 QUIT
- +2 ;
- POST ; Initiate post-init processes
- +1 DO DLGBULL
- +2 DO UPDNAT
- +3 DO OC
- +4 DO UPDPAR
- +5 ;expert system changes
- DO ^ORY280ES
- +6 ;install parameter values
- DO MAIN^ORY280P
- +7 ; REMOVE @ ACCESS CODE FROM READ OF FILE 100.05
- KILL ^DIC(100.05,0,"RD")
- +8 ;D UPDPAR1
- +9 QUIT
- +10 ;
- SENDDLG(ANAME) ; Return true if the current order dialog should be sent
- +1 IF ANAME="OR GTX EARLIEST DATE"
- QUIT 1
- +2 IF ANAME="GMRCOR CONSULT"
- QUIT 1
- +3 IF ANAME="GMRCOR REQUEST"
- QUIT 1
- +4 IF ANAME="OR GTX ADDITIVE FREQUENCY"
- QUIT 1
- +5 IF ANAME="PSJI OR PAT FLUID OE"
- QUIT 1
- +6 IF ANAME="PSJ OR PAT OE"
- QUIT 1
- +7 IF ANAME="PSO OERR"
- QUIT 1
- +8 IF ANAME="PS MEDS"
- QUIT 1
- +9 QUIT 0
- +10 ;
- DLGBULL ; send bulletin about modified dialogs <on first install>
- +1 NEW I,ORD
- +2 FOR I="GMRCOR CONSULT","GMRCOR REQUEST","PSJI OR PAT FLUID OE"
- SET ORD(I)=""
- +3 DO EN^ORYDLG(280,.ORD)
- +4 QUIT
- +5 ;
- OC ; setup new order checks
- +1 SET ^ORD(100.8,34,0)="DRUG DOSAGE"
- +2 SET ^ORD(100.8,34,1,0)="^^2^2^3090623^"
- +3 SET ^ORD(100.8,34,1,1,0)="This is an order check that Pharmacy performs to check the dosage of a "
- +4 SET ^ORD(100.8,34,1,2,0)="drug order for various problems."
- +5 SET ^ORD(100.8,35,0)="CLINICAL REMINDER TEST"
- +6 SET ^ORD(100.8,35,1,0)="^^4^4^3090706^"
- +7 SET ^ORD(100.8,35,1,1,0)="This order check refers to Clinical Reminder Rules that will look at the "
- +8 SET ^ORD(100.8,35,1,2,0)="Orderable Item that is getting placed and determin if a Reminder Rule "
- +9 SET ^ORD(100.8,35,1,3,0)="should fire. The CLINICAL REMINDER TEST order check is for testing "
- +10 SET ^ORD(100.8,35,1,4,0)="Reminder Order checks before deploying them to production."
- +11 SET ^ORD(100.8,36,0)="CLINICAL REMINDER LIVE"
- +12 SET ^ORD(100.8,36,1,0)="^^3^3^3090706^"
- +13 SET ^ORD(100.8,36,1,1,0)="This order check refers to Clinical Reminder Rules that will look at the "
- +14 SET ^ORD(100.8,36,1,2,0)="Orderable Item that is getting placed and determin if a Reminder Rule "
- +15 SET ^ORD(100.8,36,1,3,0)="should fire. "
- +16 SET ^ORD(100.8,"B","DRUG DOSAGE",34)=""
- +17 SET ^ORD(100.8,"B","CLINICAL REMINDER LIVE",36)=""
- +18 SET ^ORD(100.8,"B","CLINICAL REMINDER TEST",35)=""
- +19 DO EN^XPAR("PKG","ORK PROCESSING FLAG","DRUG DOSAGE","Enabled",.ERR)
- +20 DO EN^XPAR("PKG","ORK PROCESSING FLAG","CLINICAL REMINDER TEST","Disabled",.ERR)
- +21 DO EN^XPAR("PKG","ORK PROCESSING FLAG","CLINICAL REMINDER LIVE","Enabled",.ERR)
- +22 DO EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","CLINICAL REMINDER LIVE","Moderate",.ERR)
- +23 DO EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","CLINICAL REMINDER TEST","Low",.ERR)
- +24 DO EN^XPAR("PKG","ORK CLINICAL DANGER LEVEL","DRUG DOSAGE","High",.ERR)
- +25 QUIT
- +26 ;
- UPDNAT ;
- +1 NEW DA,DIE,DR,UPDATED,XUMF
- +2 SET XUMF=1
- +3 SET DIE="^ORD(100.02,"
- +4 SET DA=$ORDER(^ORD(100.02,"B","SERVICE REJECT",""))
- IF DA'>0
- QUIT
- +5 ;DBIA 4631
- +6 SET UPDATED=$$SETVUID^XTID(100.02,.01,DA_",",4712356)
- +7 IF +$PIECE(UPDATED,U)=0
- Begin DoDot:1
- +8 DO EN^DDIOL("Nature of Order file entry 'Service Reject' not updated")
- +9 DO EN^DDIOL($PIECE(UPDATED,U,2))
- End DoDot:1
- QUIT
- +10 SET DR=".01///REJECTED BY SERVICE"
- +11 DO ^DIE
- +12 DO EN^DDIOL("Nature of Order file entry 'Service Reject' renamed to 'Rejected by Service'.")
- +13 QUIT
- +14 ;
- UPDPAR ;
- +1 NEW ZTDESC,ZTDTH,ZTRTN,ZTSAVE,ZTIO,TEXT,ZTSK
- +2 SET ZTDESC="Session Order Dialog setting update"
- +3 SET TEXT=ZTDESC_" has been queued, task number "
- +4 SET ZTRTN="UPDPARQ^ORY280"
- +5 SET ZTIO=""
- +6 SET ZTDTH=$$NOW^XLFDT
- +7 DO ^%ZTLOAD
- +8 IF $DATA(ZTSK)
- SET TEXT=TEXT_ZTSK
- DO MES^XPDUTL(.TEXT)
- +9 QUIT
- +10 ;
- UPDPARQ ;
- +1 NEW ENT,INST,ORERR,ORLIST,PAR,VALUE
- +2 SET PAR="ORWCH BOUNDS"
- SET INST="frmOCSession"
- SET VALUE="0,0,0,0"
- +3 DO ENVAL^XPAR(.ORLIST,PAR,INST,.ORERR)
- +4 SET ENT=""
- +5 FOR
- SET ENT=$ORDER(ORLIST(ENT))
- if ENT=""
- QUIT
- DO DEL^XPAR(ENT,PAR,INST,.ORERR)
- +6 ;F S ENT=$O(ORLIST(ENT)) Q:ENT="" D CHG^XPAR(ENT,PAR,INST,VALUE,.ORERR)
- +7 QUIT
- +8 ;
- UPDPAR1 ;Update ORWT TOOLS MENU parameter description
- +1 NEW TMP,DIE,ARRAY,ERR,X
- +2 DO BMES^XPDUTL("Starting update of ORWT TOOLS MENU parameter definition description...")
- +3 SET TMP("OR*3*280",8989.51,1)="This parameter may be used to identify which items should appear on the"
- +4 SET TMP("OR*3*280",8989.51,2)="tools menu which is displayed by the CPRS GUI. Each item should contain"
- +5 SET TMP("OR*3*280",8989.51,3)="a name that should be displayed on the menu, followed by an equal sign,"
- +6 SET TMP("OR*3*280",8989.51,4)="followed by the command string used to invoke the executable. This"
- +7 SET TMP("OR*3*280",8989.51,5)="string may also include parameters that are passed to the executable."
- +8 SET TMP("OR*3*280",8989.51,6)="Some example entries are:"
- +9 SET TMP("OR*3*280",8989.51,7)=" "
- +10 SET TMP("OR*3*280",8989.51,8)=" Hospital Policy=C:\WINNT\SYSTEM32\VIEWERS\QUIKVIEW.EXE LOCPLCY.DOC"
- +11 SET TMP("OR*3*280",8989.51,9)=" VISTA Terminal=C:\PROGRA~1\KEA\KEAVT.EXE VISTA.KTC"
- +12 SET TMP("OR*3*280",8989.51,10)=" "
- +13 SET TMP("OR*3*280",8989.51,11)="An ampersand may be used in the name portion to identify a letter that"
- +14 SET TMP("OR*3*280",8989.51,12)="should be underlined on the menu for quick keyboard access. For example,"
- +15 SET TMP("OR*3*280",8989.51,13)="to underscore the letter H in Hospital Policy, enter &Hospital Policy as"
- +16 SET TMP("OR*3*280",8989.51,14)="the name part."
- +17 SET TMP("OR*3*280",8989.51,15)=" "
- +18 SET TMP("OR*3*280",8989.51,16)="To use submenus on the tools menu, you must place special text in the"
- +19 SET TMP("OR*3*280",8989.51,17)="caption and action values. Submenus must have action text SUBMENU ID,"
- +20 SET TMP("OR*3*280",8989.51,18)="where ID is a unique identifier for the submenu. Menu items belonging to"
- +21 SET TMP("OR*3*280",8989.51,19)="the submenu must specify which submenu they belong to by appending [ID]"
- +22 SET TMP("OR*3*280",8989.51,20)="after the caption. Thus the following entries create a Utilities submenu"
- +23 SET TMP("OR*3*280",8989.51,21)="with 2 child items:"
- +24 SET TMP("OR*3*280",8989.51,22)=" "
- +25 SET TMP("OR*3*280",8989.51,23)=" Utilities=SUBMENU 1"
- +26 SET TMP("OR*3*280",8989.51,24)=" Calculator[1]=calc.exe"
- +27 SET TMP("OR*3*280",8989.51,25)=" Notepad[1]=notepad.exe"
- +28 SET TMP("OR*3*280",8989.51,26)=" "
- +29 SET TMP("OR*3*280",8989.51,27)="To create a nested submenu, you create a submenu that belongs to another"
- +30 SET TMP("OR*3*280",8989.51,28)="submenu s ID. For example, to create a nested submenu belonging the"
- +31 SET TMP("OR*3*280",8989.51,29)="above Utilities submenu, you would do the following:"
- +32 SET TMP("OR*3*280",8989.51,30)=" "
- +33 SET TMP("OR*3*280",8989.51,31)=" Utility Web Sites[1]=SUBMENU UtilWeb"
- +34 SET TMP("OR*3*280",8989.51,32)=" MicroSoft Tools[UtilWeb]=http:\\www.msdn"
- +35 SET TMP("OR*3*280",8989.51,33)=" "
- +36 SET TMP("OR*3*280",8989.51,34)="While submenu IDs at the end of a caption are not displayed on the Tools"
- +37 SET TMP("OR*3*280",8989.51,35)="menu, this is only true if a corresponding menu ID is found. If no Menu"
- +38 SET TMP("OR*3*280",8989.51,36)="ID is found, the square brackets and included text will appear as part of"
- +39 SET TMP("OR*3*280",8989.51,37)="the caption on the Tools menu. This allows for existing bracketed text"
- +40 SET TMP("OR*3*280",8989.51,38)="to remain displayed."
- +41 SET TMP("OR*3*280",8989.51,39)=" "
- +42 SET TMP("OR*3*280",8989.51,40)="If two submenus share the same menu ID, the second submenu will be"
- +43 SET TMP("OR*3*280",8989.51,41)="treated as belonging to the first menu."
- +44 SET TMP("OR*3*280",8989.51,42)=" "
- +45 SET TMP("OR*3*280",8989.51,43)="One point worth noting. If you have a caption of a single dash (or a"
- +46 SET TMP("OR*3*280",8989.51,44)="single dash followed by a submenu id), it will create a separator line in"
- +47 SET TMP("OR*3*280",8989.51,45)="the menu or submenu. This is not new functionality, but may not have"
- +48 SET TMP("OR*3*280",8989.51,46)="been previously documented."
- +49 SET TMP("OR*3*280",8989.51,47)=" "
- +50 SET TMP("OR*3*280",8989.51,48)="Finally, if more than 30 menu items are assigned to the top level menu"
- +51 SET TMP("OR*3*280",8989.51,49)="(i.e. they are not part of a submenu), a ""More..."" submenu will"
- +52 SET TMP("OR*3*280",8989.51,50)="automatically be created at the top of the Tools menu, with additional"
- +53 SET TMP("OR*3*280",8989.51,51)="menu items spilling into the newly created ""More..."" submenu. If more"
- +54 SET TMP("OR*3*280",8989.51,52)="than 30 menu items spill into the ""More..."" submenu, another ""More..."""
- +55 SET TMP("OR*3*280",8989.51,53)="submenu will be created inside the first ""More..."" submenu, with"
- +56 SET TMP("OR*3*280",8989.51,54)="additional menu items spilling into it, and so on, as needed. Note,"
- +57 SET TMP("OR*3*280",8989.51,55)="however, that there is a limit of 99 total menu items, since you can only"
- +58 SET TMP("OR*3*280",8989.51,56)="enter an integer sequence number from 1-99 when defining the ORWT TOOLS"
- +59 SET TMP("OR*3*280",8989.51,57)="MENU parameter."
- +60 SET X=$$FIND1^DIC(8989.51,,"BX","ORWT TOOLS MENU",,,)
- +61 SET ARRAY=$NAME(TMP("OR*3*280",8989.51))
- +62 SET ERR=$NAME(TMP("OR*3*280","ERR"))
- +63 DO WP^DIE(8989.51,X_",",20,"K",ARRAY,ERR)
- +64 IF $DATA(TMP("OR*3*280","ERR"))
- Begin DoDot:1
- +65 NEW ERRORS,LINES,FILE,IENS,TXT,TEXT,Y
- +66 SET FILE=8989.51
- +67 SET ERRORS=0
- FOR
- SET ERRORS=$ORDER(TMP("OR*3*280","ERR","DIERR",ERRORS))
- if +ERRORS=0
- QUIT
- Begin DoDot:2
- +68 SET IENS=$GET(TMP("OR*3*280","ERR","DIERR",ERRORS,"PARAM","IENS"))
- +69 SET Y=0
- +70 FOR
- SET Y=$ORDER(TMP("OR*3*280","ERR","DIERR",ERRORS,"TEXT",Y))
- if +Y=0
- QUIT
- Begin DoDot:3
- +71 SET TXT(Y)=$GET(TMP("OR*3*280","ERR","DIERR",ERRORS,"TEXT",Y))
- End DoDot:3
- End DoDot:2
- +72 DO BMES^XPDUTL(" Error occurred during update of ORWT TOOLS MENU parameter definition.")
- +73 DO MES^XPDUTL(" Entry"_$SELECT($GET(IENS)'="":" "_IENS,1:"")_" in file "_FILE_$SELECT($GET(IENS)'="":",",1:"")_" failed to update with the following")
- +74 DO MES^XPDUTL(" error message:")
- +75 DO MES^XPDUTL(" ")
- +76 SET Y=0
- FOR
- SET Y=$ORDER(TXT(Y))
- if Y=""
- QUIT
- Begin DoDot:2
- +77 SET TEXT=$GET(TXT(Y))
- +78 DO MES^XPDUTL(" "_TEXT)
- End DoDot:2
- +79 KILL TMP
- End DoDot:1
- QUIT
- +80 DO BMES^XPDUTL("Update of ORWT TOOLS MENU parameter definition description has")
- +81 DO MES^XPDUTL(" successfully completed")
- +82 QUIT
- +83 ;