Changeset 636 for FOIAVistA/tag/r/CLINICAL_REMINDERS-PXRM/PXRMEXID.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/CLINICAL_REMINDERS-PXRM/PXRMEXID.m
r628 r636 1 PXRMEXID ;SLC/PJH - Reminder Dialog Exchange Install Routine.; 08/16/20072 ;;2.0;CLINICAL REMINDERS; **6**;Feb 04, 2005;Build 1231 PXRMEXID ;SLC/PJH - Reminder Dialog Exchange Install Routine.;11/14/2003 2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 3 3 ; 4 4 ;================================================== … … 7 7 ;------------------------------------------------ 8 8 INSALL N ALL,DIROUT,DIRUT,DTOUT,DUOUT,IND,PXRMDONE 9 K ^TMP("PXRMEXIA",$J) 9 10 ; 10 11 ;Set the install date and time. 11 S IND="",PXRMDONE=0 12 S IND="",PXRMDONE=0,^TMP("PXRMEXIA",$J,"DT")=$$NOW^XLFDT 12 13 ; 13 14 ;Go to full screen mode. … … 18 19 S DNAME=$G(^TMP("PXRMEXTMP",$J,"PXRMDNAM")) 19 20 D EXIST^PXRMEXIX(.ALL,DNAME,"reminder dialog","") 20 I ALL=0 D DISP^PXRMEXLD(PXRMMODE) Q21 21 ; 22 22 ;Lock the entire file 23 23 Q:'$$LOCK 24 F S IND=$O(^TMP("PXRMEXLD",$J,"SEL",IND),-1) Q:(IND="")!(PXRMDONE) D 24 ; 25 ;Install all components 26 F S IND=$O(^TMP("PXRMEXLD",$J,"SEL",IND),-1) Q:(+IND=0)!(PXRMDONE) D 25 27 .D INSCOM(IND,1) 26 28 ; … … 41 43 F S ISEQ=$O(^TMP("PXRMEXTMP",$J,"DMAP",NAME,ISEQ)) Q:'ISEQ D 42 44 .S IDATA=$G(^TMP("PXRMEXTMP",$J,"DMAP",NAME,ISEQ)) Q:IDATA="" 43 .S DNAME=$P(IDATA,U) Q:DNAME="" 44 .; 45 .I $D(^TMP("PXRMEXTMP",$J,"DREPL"))>0 D 46 ..S REPL=$$CHKREPL^PXRMEXD1(NAME) I REPL>0 D INSREPL(NAME,REPL,.INAME) 47 .S INAME(DNAME)="" 48 .;Q:$$PXRM(DNAME) S INAME(DNAME)="" 45 .S DNAME=$P(IDATA,U) Q:DNAME="" Q:$$PXRM(DNAME) S INAME(DNAME)="" 49 46 .;Check for descendants 50 47 .I $D(^TMP("PXRMEXTMP",$J,"DMAP",DNAME)) D INSBLD(DNAME,.INAME) 51 Q52 ;Build list of replacement names53 ;-------------------------------54 INSREPL(NAME,REPL,INAME) ;55 N DNAME,IDATA,ISEQ56 S ISEQ=057 S IDATA=$G(^TMP("PXRMEXTMP",$J,"DREPL",REPL,NAME)) Q:IDATA=""58 S DNAME=$P(IDATA,U) Q:DNAME="" S INAME(DNAME)=""59 ;S DNAME=$P(IDATA,U) Q:DNAME="" Q:$$PXRM(DNAME) S INAME(DNAME)=""60 ;Check for descendants61 I $D(^TMP("PXRMEXTMP",$J,"DMAP",DNAME)) D INSBLD(DNAME,.INAME)62 48 Q 63 49 ; … … 65 51 ;--------------------- 66 52 INSCOM(IND,SILENT) ; 67 N ACTION,ATTR, CSUM,DTYP,EXIEN,END,EXISTS,FILENUM,IND120,JND12068 N NEWPT01,PT01,START, REPL,SAME,TEMP53 N ACTION,ATTR,DTYP,EXIEN,END,EXISTS,FILENUM,IND120,JND120 54 N NEWPT01,PT01,START,TEMP 69 55 S TEMP=^TMP("PXRMEXLD",$J,"SEL",IND),FILENUM=$P(TEMP,U,1) 70 56 S EXISTS=$P(TEMP,U,4),START=$P(TEMP,U,2),END=$P(TEMP,U,3) Q:START="" … … 79 65 ; 80 66 ;Check for descendents 81 S REPL=$$CHKREPL^PXRMEXD1(PT01) 82 I 'SILENT&($$INSDSC(PT01)!(REPL>0)) D Q:PXRMDONE 67 I 'SILENT,$$INSDSC(PT01) D Q:PXRMDONE 83 68 .N ANS,INDS,TEXT 84 69 .S TEXT(1)=PT01_" ("_DTYP_") contains sub-components." … … 86 71 .;Give option to install all descendents 87 72 .D ASK^PXRMEXIX(.ANS,.TEXT,1) Q:PXRMDONE 88 .I $G(ANS)="N" S PXRMDONE=1 Q89 73 .I $G(ANS)="Y" D 90 74 ..S INDS=IND 91 75 ..N IDATA,INAME,IND 92 ..I REPL>0 D INSREPL(PT01,REPL,.INAME)93 76 ..;Build list of decendents to install 94 77 ..D INSBLD(PT01,.INAME) … … 106 89 ...I $D(INAME(PT01)) D INSCOM(IND,1) 107 90 ; 108 SETENTRY ; 109 D SETATTR^PXRMEXFI(.ATTR,FILENUM,PT01) 110 S ACTION="" 91 D SETATTR^PXRMEXFI(.ATTR,FILENUM) 111 92 ;Double check that it hasn't been installed 112 93 S EXIEN=$$EXISTS^PXRMEXIU(801.41,PT01) 113 94 I EXIEN,'EXISTS S EXISTS=1 114 I EXISTS D 115 . D CHECKSUM^PXRMEXCS(.ATTR,START,END) 116 . S CSUM=$$FILE^PXRMEXCS(ATTR("FILE NUMBER"),EXIEN) 117 . S SAME=$S(ATTR("CHECKSUM")=CSUM:1,1:0) 118 . I SAME D FEIMSG^PXRMEXFI(SAME,.ATTR) S ACTION="S",(PXRMNMCH,NEWPT01)="" 119 I ACTION="" D 120 .;If all components installed the default is 'Install or Overwrite' 121 . S:ALL ACTION=$S(EXISTS:"O",1:"I"),(PXRMNMCH,NEWPT01)="" 122 . S:'ALL ACTION=$$GETFACT^PXRMEXFI(PT01,.ATTR,.NEWPT01,.PXRMNMCH,EXIEN) 95 ;If all components installed the default is 'Install or Overwrite' 96 S:ALL ACTION=$S(EXISTS:"O",1:"I"),(ATTR("NAME"),ATTR("PT01"))=PT01,PXRMNMCH="",NEWPT01="" 97 S:'ALL ACTION=$$GETFACT^PXRMEXFI(PT01,.ATTR,.NEWPT01,.PXRMNMCH,EXISTS) 123 98 ;Save what was done for the installation summary. 124 S ^TMP("PXRMEXIA D",$J,IND,ATTR("FILE NAME"),ATTR("PT01"),ACTION)=NEWPT0199 S ^TMP("PXRMEXIA",$J,IND,ATTR("FILE NAME"),ATTR("PT01"),ACTION)=NEWPT01 125 100 ;Clear heading 126 101 S VALMHDR(2)="" … … 152 127 F S SUB=$O(^TMP("PXRMEXTMP",$J,"DMAP",NAME,SUB)) Q:'SUB D Q:DFOUND 153 128 .S DATA=$G(^TMP("PXRMEXTMP",$J,"DMAP",NAME,SUB)) Q:DATA="" 154 .S DFOUND=1 155 .;I '$$PXRM($P(DATA,U)) S DFOUND=1 129 .I '$$PXRM($P(DATA,U)) S DFOUND=1 156 130 Q DFOUND 157 131 ; 158 INSREPL1(NAME) ;159 N DATA,DFOUND,SUB160 S DFOUND=0,SUB=0161 F S SUB=$O(^TMP("PXRMEXTMP",$J,"DREPL",NAME,SUB)) Q:'SUB D Q:DFOUND162 .S DATA=$G(^TMP("PXRMEXTMP",$J,"DREPL",NAME,SUB)) Q:DATA=""163 .S DFOUND=1164 Q DFOUND165 132 ;Option to link dialog to a reminder 166 133 ;----------------------------------- … … 223 190 D EN^VALM2(XQORNOD(0)) 224 191 ; 192 K ^TMP("PXRMEXIA",$J) 225 193 ;Set the install date and time. 226 S ALL="",PXRMDONE=0 194 S ALL="",PXRMDONE=0,^TMP("PXRMEXIA",$J,"DT")=$$NOW^XLFDT 227 195 ; 228 196 ;Lock the entire file … … 230 198 ; 231 199 S IND=0 232 F S IND=$O(VALMY(IND)) Q:(+IND=0)!(PXRMDONE) D INSCOM(IND,0) 200 F S IND=$O(VALMY(IND)) Q:(+IND=0)!(PXRMDONE) D 201 .D INSCOM(IND,0) 233 202 ; 234 203 ;Clear locks … … 255 224 ;Ignore non-PXRM 256 225 I $E(NAME,1,4)'="PXRM" Q 0 257 N DIEN,RESULT258 I $G(PXRMINST)=1 D Q RESULT259 .S RESULT=0260 .S DIEN=$O(^PXRMD(801.41,"B",NAME,"")) I 'DIEN Q261 .I $P($G(^PXRMD(801.41,DIEN,100)),U)'="N" Q262 .I ($P($G(^PXRMD(801.41,DIEN,0)),U,4)="P")!($P($G(^PXRMD(801.41,DIEN,0)),U,4)="F") S RESULT=1263 226 ; 264 227 ;Check if this is a national code 228 N DIEN 265 229 S DIEN=$O(^PXRMD(801.41,"B",NAME,"")) 266 230 ;If not found abort 267 231 I 'DIEN Q 0 268 ;if result group/element quit269 I $P($G(^PXRMD(801.41,DIEN,0)),U,4)="S"!($P($G(^PXRMD(801.41,DIEN,0)),U,4)="T") Q 0270 232 ;Check class 271 233 I $P($G(^PXRMD(801.41,DIEN,100)),U)="N" Q 1
Note:
See TracChangeset
for help on using the changeset viewer.