Changeset 623 for WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMEXLM.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMEXLM.m
r613 r623 1 PXRMEXLM ; SLC/PKR/PJH - Clinical Reminder Exchange List Manager routines. ;10/11/2007 2 ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123 3 ; 4 ;===================================================== 5 CRE ;Create a packed reminder and store it in the repository. 6 N RTP,SUCCESS,TMPIND 7 K VALMHDR 8 S RTP=$$GETREM^PXRMEXPU("pack") 9 I +RTP'>0 D Q 10 . S VALMHDR(1)="No reminder selected!" 11 . S VALMBCK="R" 12 S TMPIND="PXRMEXPR" 13 D PACK^PXRMEXPR(RTP,TMPIND) 14 D STOREPR^PXRMEXU2(.SUCCESS,RTP,TMPIND,"REMINDER") 15 I SUCCESS D 16 . S VALMHDR(1)="Packed reminder for "_$P(RTP,U,2) 17 . S VALMHDR(2)="was saved in Exchange File." 18 . D BLDLIST^PXRMEXLC(1) 19 E D 20 . S VALMHDR(1)="Creation of packed reminder for "_$P(RTP,U,2) 21 . S VALMHDR(2)="failed; it was not saved!" 22 S VALMBCK="R" 23 Q 24 ; 25 ;===================================================== 26 DEFINQ ;Reminder definition inquiry. 27 N GBL,IEN,PXRMROOT,VALMCNT 28 S GBL="^TMP(""PXRMRINQ"",$J)" 29 S GBL=$NA(@GBL) 30 S PXRMROOT="^PXD(811.9," 31 S IEN=$$SELECT^PXRMINQ(PXRMROOT,"Select Reminder Definition: ","") 32 S IEN=$P(IEN,U,1) 33 I IEN=-1 S VALMBCK="R" Q 34 K ^TMP("PXRMRINQ",$J) 35 D REMVAR^PXRMINQ(GBL,IEN) 36 S VALMCNT=$O(^TMP("PXRMRINQ",$J,""),-1) 37 D EN^VALM("PXRM EX DEFINITION INQUIRY") 38 K ^TMP("PXRMRINQ",$J) 39 S VALMBCK="R" 40 Q 41 ; 42 ;===================================================== 43 ENTRY ;Entry code 44 D BLDLIST^PXRMEXLC(0) 45 D XQORM 46 Q 47 ; 48 ;===================================================== 49 EXIT ;Exit code 50 K ^TMP("PXRMEXDH",$J) 51 K ^TMP("PXRMEXHF",$J) 52 K ^TMP("PXRMEXFND",$J) 53 K ^TMP("PXRMEXIA",$J) 54 K ^TMP("PXRMEXIAD",$J) 55 K ^TMP("PXRMEXID",$J) 56 K ^TMP("PXRMEXIH",$J) 57 K ^TMP("PXRMEXLC",$J) 58 K ^TMP("PXRMEXLD",$J) 59 K ^TMP("PXRMEXLHF",$J) 60 K ^TMP("PXRMEXLMM",$J) 61 K ^TMP("PXRMEXLR",$J) 62 K ^TMP("PXRMEXMH",$J) 63 K ^TMP("PXRMEXMM",$J) 64 K ^TMP("PXRMEXRI",$J) 65 K ^TMP("PXRMEXTMP",$J) 66 K ^TMP("PXRMEXTXT",$J) 67 D CLEAN^VALM10 68 D FULL^VALM1 69 S VALMBCK="Q" 70 Q 71 ; 72 ;===================================================== 73 HDR ; Header code 74 S VALMHDR(1)="Exchange File Entries." 75 S VALMSG="+ Next Screen - Prev Screen ?? More Actions" 76 Q 77 ; 78 ;===================================================== 79 HELP ;Help code 80 ;The following variables have to be newed so that when we return 81 ;from the help display they will be defined. 82 N ORU,ORUPRMT,XQORM 83 D EN^VALM("PXRM EX MAIN HELP") 84 Q 85 ; 86 ;===================================================== 87 INIT ;Init 88 S VALMCNT=0 89 Q 90 ; 91 ;===================================================== 92 LDHF ;Load a host file into the repository. 93 N IND,FILE,PATH,RBL,SUCCESS,TEMP 94 ;Select the host file to load. 95 D CLEAR^VALM1 96 S TEMP=$$GETEHF^PXRMEXHF 97 I TEMP="" S VALMBCK="R" Q 98 S PATH=$P(TEMP,U,1) 99 S FILE=$P(TEMP,U,2) 100 D LHF^PXRMEXHF(.SUCCESS,PATH,FILE) 101 S RBL=SUCCESS 102 I SUCCESS D 103 . S VALMHDR(1)="Host file "_PATH_FILE_" successfully loaded." 104 E D 105 . S VALMHDR(1)="There were problems loading host file "_PATH_FILE_"." 106 . S TEMP="" 107 . S IND="" 108 . F S IND=$O(SUCCESS(IND)) Q:+IND=0 D 109 .. I SUCCESS(IND) S RBL=1 Q 110 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND 111 .. E S TEMP=TEMP_IND_", " 112 . S VALMHDR(2)="Entries with problems were "_TEMP_"." 113 ;Rebuild the list for display. 114 D BLDLIST^PXRMEXLC(RBL) 115 S VALMBCK="R" 116 Q 117 ; 118 ;===================================================== 119 LDMM ;Load a MailMan message into the repository. 120 N IND,RBL,TEMP,XMZ 121 ;Select the MailMan message to load. 122 D CLEAR^VALM1 123 S XMZ=$$GETMESSN^PXRMEXMM 124 I XMZ=-1 W !,"No packed reminder definitions selected/found!" H 2 125 I +XMZ'>0 S VALMBCK="R" Q 126 D LMM^PXRMEXMM(.SUCCESS,XMZ) 127 S RBL=SUCCESS 128 I SUCCESS D 129 . S VALMHDR(1)="MailMan message "_XMZ_" successfully loaded." 130 .;Rebuild the list for display. 131 . D BLDLIST^PXRMEXLC(1) 132 E D 133 . S VALMHDR(1)="There were problems loading MailMan message "_XMZ_"." 134 . S TEMP="" 135 . S IND="" 136 . F S IND=$O(SUCCESS(IND)) Q:+IND=0 D 137 .. I SUCCESS(IND) S RBL=1 Q 138 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND 139 .. E S TEMP=TEMP_IND_", " 140 . S VALMHDR(2)="Entries with problems were "_TEMP_"." 141 ;Rebuild the list for display. 142 D BLDLIST^PXRMEXLC(RBL) 143 S VALMBCK="R" 144 Q 145 ; 146 ;===================================================== 147 LRDEF ;List the name and print name of all reminder definitions. 148 N VALMCNT 149 I $D(^TMP("PXRMEXLD",$J,"VALMCNT")) S VALMCNT=^TMP("PXRMEXLD",$J,"VALMCNT") 150 E D 151 . N ARO,DEFLIST 152 . S ARO=$$QUERYAO^PXRMLIST 153 . S ^TMP("PXRMEXLD",$J,"ARO")=ARO 154 . D RDEF^PXRMLIST(.DEFLIST,ARO) 155 . M ^TMP("PXRMEXLD",$J)=DEFLIST 156 . S VALMCNT=DEFLIST("VALMCNT") 157 I '$G(^TMP("PXRMEXLD",$J,"ARO")) D CHGCAP^VALM("INACTIVE","Inactive") 158 D EN^VALM("PXRM EX REMINDER LIST") 159 Q 160 ; 161 ;===================================================== 162 PEXIT ;PXRM EXCH MENU protocol exit code 163 S VALMSG="+ Next Screen - Prev Screen ?? More Actions" 164 ;Reset after page up/down etc 165 D XQORM 166 Q 167 ; 168 ;===================================================== 169 START ;Main entry point for PXRM EXCHANGE 170 N PXRMDONE,PXRMNMCH 171 ;PXRMDONE is set to true if the user enters an action of Quit. 172 S PXRMDONE=0 173 ;PXRMNMCH is used to store name change information. If a finding 174 ;is copied to a new name or is replaced by another finding the 175 ;information is stored here. It is used when installing definitions 176 ;or dialogs so they use the new or replaced finding. 177 N VALMBCK,VALMSG,X,XMZ 178 S X="IORESET" 179 D ENDR^%ZISS 180 D EN^VALM("PXRM EX REMINDER EXCHANGE") 181 W IORESET 182 D KILL^%ZISS 183 Q 184 ; 185 ;===================================================== 186 XQORM S XQORM("#")=$O(^ORD(101,"B","PXRM EXCH SELECT ENTRY",0))_U_"1:"_VALMCNT 187 S XQORM("A")="Select Action: " 188 Q 189 ; 190 ;===================================================== 191 XSEL ;PXRM EXCH SELECT COMPONENT validation 192 N SEL,PXRMRIEN 193 S SEL=$P(XQORNOD(0),"=",2) 194 ;Remove trailing , 195 I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1) 196 ;Invalid selection 197 I SEL["," D Q 198 .W $C(7),!,"Only one item number allowed." H 2 199 .S VALMBCK="R" 200 I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("SEL",SEL))) D Q 201 .W $C(7),!,SEL_" is not a valid item number." H 2 202 .S VALMBCK="R" 203 ; 204 ;Get the repository ien. 205 S PXRMRIEN=^TMP("PXRMEXLR",$J,"SEL",SEL) 206 ; 207 ;Full screen mode 208 D FULL^VALM1 209 ; 210 ;Option to Install, Delete or Install History 211 N DIR,DIROUT,DIRUT,DTOUT,DUOUT,OPTION,X,Y 212 S DIR(0)="SBM"_U_"IFE:Install Exchange File Entry;" 213 S DIR(0)=DIR(0)_"DFE:Delete Exchange File Entry;" 214 S DIR(0)=DIR(0)_"IH:Installation History;" 215 S DIR("A")="Select Action: " 216 S DIR("B")="IFE" 217 S DIR("?")="Select from the codes displayed. For detailed help type ??" 218 S DIR("??")=U_"D HLP^PXRMEXIX(3)" 219 D ^DIR 220 I $D(DIROUT)!$D(DIRUT) S VALMBCK="R" Q 221 I $D(DTOUT)!$D(DUOUT) S VALMBCK="R" Q 222 S OPTION=Y 223 ; 224 ;Install 225 I OPTION="IFE" D 226 .D EN^VALM("PXRM EX LIST COMPONENTS") 227 .K ^TMP("PXRMEXLC",$J) 228 ; 229 I OPTION="DFE" D 230 .N COUNT,DELLIST,IEN,IND,RELIST,VALMY 231 .S DELLIST(PXRMRIEN)="" 232 .D DELETE^PXRMEXU1(.DELLIST) 233 .;Rebuild the list for List Manager to display. 234 .K ^TMP("PXRMEXLR",$J) 235 .D REXL^PXRMLIST("PXRMEXLR") 236 .S VALMCNT=^TMP("PXRMEXLR",$J,"VALMCNT") 237 .S VALMHDR(1)="Deleted 1 exchange file entry",VALMHDR(2)=" ",VALMBCK="R" 238 ; 239 I OPTION="IH" D START^PXRMEXIH 240 ; 241 S VALMBCK="R" 242 Q 1 PXRMEXLM ; SLC/PKR/PJH - Clinical Reminder Exchange List Manager routines. ;12/22/2004 2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 3 ; 4 ;===================================================== 5 CRE ;Create a packed reminder and store it in the repository. 6 N RTP,SUCCESS,TMPIND 7 K VALMHDR 8 S RTP=$$GETREM^PXRMEXPU("pack") 9 I +RTP'>0 D Q 10 . S VALMHDR(1)="No reminder selected!" 11 . S VALMBCK="R" 12 S TMPIND="PXRMEXPR" 13 D PACK^PXRMEXPR(RTP,TMPIND) 14 D STOREPR^PXRMEXU2(.SUCCESS,RTP,TMPIND,"REMINDER") 15 I SUCCESS D 16 . S VALMHDR(1)="Packed reminder for "_$P(RTP,U,2) 17 . S VALMHDR(2)="was saved in Exchange File." 18 . D BLDLIST^PXRMEXLC(1) 19 E D 20 . S VALMHDR(1)="Creation of packed reminder for "_$P(RTP,U,2) 21 . S VALMHDR(2)="failed; it was not saved!" 22 S VALMBCK="R" 23 Q 24 ; 25 ;===================================================== 26 DEFINQ ;Reminder definition inquiry. 27 N GBL,IEN,PXRMROOT,VALMCNT 28 S GBL="^TMP(""PXRMRINQ"",$J)" 29 S GBL=$NA(@GBL) 30 S PXRMROOT="^PXD(811.9," 31 S IEN=$$SELECT^PXRMINQ(PXRMROOT,"Select Reminder Definition: ","") 32 S IEN=$P(IEN,U,1) 33 I IEN=-1 S VALMBCK="R" Q 34 K ^TMP("PXRMRINQ",$J) 35 D REMVAR^PXRMINQ(GBL,IEN) 36 S VALMCNT=$O(^TMP("PXRMRINQ",$J,""),-1) 37 D EN^VALM("PXRM EX DEFINITION INQUIRY") 38 K ^TMP("PXRMRINQ",$J) 39 S VALMBCK="R" 40 Q 41 ; 42 ;===================================================== 43 EN ;Main entry point for PXRM EXCHANGE 44 N PXRMDONE,PXRMNMCH 45 ;PXRMDONE is set to true if the user enters an action of Quit. 46 S PXRMDONE=0 47 ;PXRMNMCH is used to store name change information. If a finding 48 ;is copied to a new name or is replaced by another finding the 49 ;information is stored here. It is used when installing definitions 50 ;or dialogs so they use the new or replaced finding. 51 N VALMBCK,VALMSG,X,XMZ 52 S X="IORESET" 53 D ENDR^%ZISS 54 D BLDLIST^PXRMEXLC(0) 55 D EN^VALM("PXRM EX REMINDER EXCHANGE") 56 W IORESET 57 D KILL^%ZISS 58 Q 59 ; 60 ;===================================================== 61 ENTRY ;Entry code 62 D XQORM 63 Q 64 ; 65 ;===================================================== 66 EXIT ;Exit code 67 K ^TMP("PXRMEXDH",$J) 68 K ^TMP("PXRMEXHF",$J) 69 K ^TMP("PXRMEXFND",$J) 70 K ^TMP("PXRMEXIA",$J) 71 K ^TMP("PXRMEXID",$J) 72 K ^TMP("PXRMEXIH",$J) 73 K ^TMP("PXRMEXLC",$J) 74 K ^TMP("PXRMEXLD",$J) 75 K ^TMP("PXRMEXLHF",$J) 76 K ^TMP("PXRMEXLMM",$J) 77 K ^TMP("PXRMEXLR",$J) 78 K ^TMP("PXRMEXMH",$J) 79 K ^TMP("PXRMEXMM",$J) 80 K ^TMP("PXRMEXRI",$J) 81 K ^TMP("PXRMEXTMP",$J) 82 K ^TMP("PXRMEXTXT",$J) 83 D CLEAN^VALM10 84 D FULL^VALM1 85 S VALMBCK="Q" 86 Q 87 ; 88 ;===================================================== 89 HDR ; Header code 90 S VALMHDR(1)="Exchange File Entries." 91 S VALMSG="+ Next Screen - Prev Screen ?? More Actions" 92 Q 93 ; 94 ;===================================================== 95 HELP ;Help code 96 ;The following variables have to be newed so that when we return 97 ;from the help display they will be defined. 98 N ORU,ORUPRMT,XQORM 99 D EN^VALM("PXRM EX MAIN HELP") 100 Q 101 ; 102 ;===================================================== 103 INIT ;Init 104 S VALMCNT=0 105 Q 106 ; 107 ;===================================================== 108 LDHF ;Load a host file into the repository. 109 N IND,FILE,PATH,RBL,SUCCESS,TEMP 110 ;Select the host file to load. 111 D CLEAR^VALM1 112 S TEMP=$$GETEHF^PXRMEXHF 113 I TEMP="" S VALMBCK="R" Q 114 S PATH=$P(TEMP,U,1) 115 S FILE=$P(TEMP,U,2) 116 D LHF^PXRMEXHF(.SUCCESS,PATH,FILE) 117 S RBL=SUCCESS 118 I SUCCESS D 119 . S VALMHDR(1)="Host file "_PATH_FILE_" successfully loaded." 120 E D 121 . S VALMHDR(1)="There were problems loading host file "_PATH_FILE_"." 122 . S TEMP="" 123 . S IND="" 124 . F S IND=$O(SUCCESS(IND)) Q:+IND=0 D 125 .. I SUCCESS(IND) S RBL=1 Q 126 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND 127 .. E S TEMP=TEMP_IND_", " 128 . S VALMHDR(2)="Entries with problems were "_TEMP_"." 129 ;Rebuild the list for display. 130 D BLDLIST^PXRMEXLC(RBL) 131 S VALMBCK="R" 132 Q 133 ; 134 ;===================================================== 135 LDMM ;Load a MailMan message into the repository. 136 N IND,RBL,TEMP,XMZ 137 ;Select the MailMan message to load. 138 D CLEAR^VALM1 139 S XMZ=$$GETMESSN^PXRMEXMM 140 I XMZ=-1 W !,"No packed reminder definitions selected/found!" H 2 141 I +XMZ'>0 S VALMBCK="R" Q 142 D LMM^PXRMEXMM(.SUCCESS,XMZ) 143 S RBL=SUCCESS 144 I SUCCESS D 145 . S VALMHDR(1)="MailMan message "_XMZ_" successfully loaded." 146 .;Rebuild the list for display. 147 . D BLDLIST^PXRMEXLC(1) 148 E D 149 . S VALMHDR(1)="There were problems loading MailMan message "_XMZ_"." 150 . S TEMP="" 151 . S IND="" 152 . F S IND=$O(SUCCESS(IND)) Q:+IND=0 D 153 .. I SUCCESS(IND) S RBL=1 Q 154 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND 155 .. E S TEMP=TEMP_IND_", " 156 . S VALMHDR(2)="Entries with problems were "_TEMP_"." 157 ;Rebuild the list for display. 158 D BLDLIST^PXRMEXLC(RBL) 159 S VALMBCK="R" 160 Q 161 ; 162 ;===================================================== 163 LRDEF ;List the name and print name of all reminder definitions. 164 N VALMCNT 165 I $D(^TMP("PXRMEXLD",$J,"VALMCNT")) S VALMCNT=^TMP("PXRMEXLD",$J,"VALMCNT") 166 E D 167 . N ARO,DEFLIST 168 . S ARO=$$QUERYAO^PXRMLIST 169 . S ^TMP("PXRMEXLD",$J,"ARO")=ARO 170 . D RDEF^PXRMLIST(.DEFLIST,ARO) 171 . M ^TMP("PXRMEXLD",$J)=DEFLIST 172 . S VALMCNT=DEFLIST("VALMCNT") 173 I '$G(^TMP("PXRMEXLD",$J,"ARO")) D CHGCAP^VALM("INACTIVE","Inactive") 174 D EN^VALM("PXRM EX REMINDER LIST") 175 Q 176 ; 177 ;===================================================== 178 PEXIT ;PXRM EXCH MENU protocol exit code 179 S VALMSG="+ Next Screen - Prev Screen ?? More Actions" 180 ;Reset after page up/down etc 181 D XQORM 182 Q 183 ; 184 XQORM S XQORM("#")=$O(^ORD(101,"B","PXRM EXCH SELECT ENTRY",0))_U_"1:"_VALMCNT 185 S XQORM("A")="Select Action: " 186 Q 187 ; 188 XSEL ;PXRM EXCH SELECT COMPONENT validation 189 N SEL,PXRMRIEN 190 S SEL=$P(XQORNOD(0),"=",2) 191 ;Remove trailing , 192 I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1) 193 ;Invalid selection 194 I SEL["," D Q 195 .W $C(7),!,"Only one item number allowed." H 2 196 .S VALMBCK="R" 197 I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("IDX",SEL))) D Q 198 .W $C(7),!,SEL_" is not a valid item number." H 2 199 .S VALMBCK="R" 200 ; 201 ;Get the repository ien. 202 S PXRMRIEN=^TMP("PXRMEXLR",$J,"IDX",SEL,SEL) 203 ; 204 ;Full screen mode 205 D FULL^VALM1 206 ; 207 ;Option to Install, Delete or Install History 208 N DIR,DIROUT,DIRUT,DTOUT,DUOUT,OPTION,X,Y 209 S DIR(0)="SBM"_U_"IFE:Install Exchange File Entry;" 210 S DIR(0)=DIR(0)_"DFE:Delete Exchange File Entry;" 211 S DIR(0)=DIR(0)_"IH:Installation History;" 212 S DIR("A")="Select Action: " 213 S DIR("B")="IFE" 214 S DIR("?")="Select from the codes displayed. For detailed help type ??" 215 S DIR("??")=U_"D HLP^PXRMEXIX(3)" 216 D ^DIR 217 I $D(DIROUT)!$D(DIRUT) S VALMBCK="R" Q 218 I $D(DTOUT)!$D(DUOUT) S VALMBCK="R" Q 219 S OPTION=Y 220 ; 221 ;Install 222 I OPTION="IFE" D 223 .D EN^VALM("PXRM EX LIST COMPONENTS") 224 .K ^TMP("PXRMEXLC",$J) 225 ; 226 I OPTION="DFE" D 227 .N COUNT,DELLIST,IEN,IND,RELIST,VALMY 228 .S DELLIST(PXRMRIEN)="" 229 .D DELETE^PXRMEXU1(.DELLIST) 230 .;Rebuild the list for List Manager to display. 231 .K ^TMP("PXRMEXLR",$J) 232 .D RE^PXRMLIST(.RELIST,.IEN) 233 .M ^TMP("PXRMEXLR",$J)=RELIST 234 .S VALMCNT=RELIST("VALMCNT") 235 .F IND=1:1:VALMCNT D 236 ..S ^TMP("PXRMEXLR",$J,"IDX",IND,IND)=IEN(IND) 237 .; 238 .S VALMHDR(1)="Deleted 1 exchange file entry",VALMHDR(2)=" ",VALMBCK="R" 239 ; 240 I OPTION="IH" D 241 .N HISLIST,VALMCNT 242 .S HISLIST(SEL)="" 243 .D HISTLIST^PXRMEXLC(.HISLIST,.VALMCNT) 244 .D EN^VALM("PXRM EX INSTALLATION HISTORY") 245 .K ^TMP("PXRMEXIH",$J) 246 ; 247 S VALMBCK="R" 248 Q
Note:
See TracChangeset
for help on using the changeset viewer.