Changeset 636 for FOIAVistA/tag/r/CLINICAL_REMINDERS-PXRM/PXRMEUT1.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/PXRMEUT1.m
r628 r636 1 PXRMEUT1 ; SLC/PKR - General extract utilities ;0 5/08/20072 ;;2.0;CLINICAL REMINDERS;**4 ,6**;Feb 04, 2005;Build 1231 PXRMEUT1 ; SLC/PKR - General extract utilities ;08/09/2006 2 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21 3 3 ;================================================= 4 CLDATES ;Cleanup entries in ^TMP("PXRMDDOC",$J) before making date checks. 5 ;For drug findings consolidate PS(55, PS(55NVA, and PSRX( back to 6 ;PSDRUG(. 7 N FI,FIND0,ITEM,GLOBAL,LIST 8 S FIND0="" 9 F S FIND0=$O(^TMP("PXRMDDOC",$J,FIND0)) Q:FIND0="" D 10 . S FI=$P(FIND0,U,1) 11 . S GLOBAL=$P(FI,";",2) 12 . I GLOBAL'["PS" Q 13 . S GLOBAL="PSDRUG(" 14 . S ITEM=$P(FI,";",1) 15 . S FI=ITEM_";"_GLOBAL_U_$P(FIND0,U,2,11) 16 . S LIST(FIND0)=FI 17 ; 18 S FIND0="" 19 F S FIND0=$O(LIST(FIND0)) Q:FIND0="" D 20 . S FI=LIST(FIND0) 21 . S ^TMP("PXRMDDOC",$J,FI)=^TMP("PXRMDDOC",$J,FIND0) 22 . K ^TMP("PXRMDDOC",$J,FIND0) 23 Q 4 DCONV(DATE,LBBDT,LBEDT) ;Convert dates to actual values. 5 I DATE=0 Q DATE 6 N PXRMDATE 7 S PXRMDATE=$S(DATE["BDT":LBBDT,1:LBEDT) 8 S DATE=$$STRREP^PXRMUTIL(DATE,"BDT","T") 9 Q $$CTFMD^PXRMDATE(DATE) 24 10 ; 25 11 ;================================================= … … 36 22 ; 37 23 ;================================================= 38 DCONV(DATE,LBBDT,LBEDT) ;Convert dates to actual values.39 I DATE=0 Q DATE40 N PXRMDATE41 S PXRMDATE=$S(DATE["BDT":LBBDT,1:LBEDT)42 S DATE=$$STRREP^PXRMUTIL(DATE,"BDT","T")43 Q $$CTFMD^PXRMDATE(DATE)44 ;45 ;=================================================46 24 DOCDATES(RULESET,LBBDT,LBEDT,NL,OUTPUT) ; 47 N EM,FRACT,FRDATA,FRDATES,FRIEN,FRLST,FRLIEN,FROLST,FROUT,FRPAT48 N FRPERM,FRSTRT,FRTIEN,FRTYP,FSEQ, OPER,PXRMFVPL25 N FINDPA,FRACT,FRDATA,FRDATES,FRIEN,FRLST,FRLIEN,FROLST,FROUT,FRPAT 26 N FRPERM,FRSTRT,FRTIEN,FRTYP,FSEQ,PXRMDATE,PXRMFVPL 49 27 N RRIEN,RSDATA,RSDATES,RBDT,REDT,SEQ,SUB 50 I $G(PXRMDDOC)=2 D CLDATES51 28 ;Build the variable pointer list. 52 29 D BLDRLIST^PXRMVPTR(811.902,.01,.PXRMFVPL) … … 55 32 . S SUB=$O(^PXRM(810.4,RULESET,30,"B",SEQ,"")) Q:'SUB 56 33 . S RSDATA=$G(^PXRM(810.4,RULESET,30,SUB,0)) Q:RSDATA="" 57 . S OPER=$P(RSDATA,U,3)58 . S OPER=$$EXTERNAL^DILFD(810.41,.03,"",OPER,.EM)59 34 . S RSDATES=$G(^PXRM(810.4,RULESET,30,SUB,1)) 60 35 .;Finding rule ien. … … 69 44 .;Determine RBDT and REDT 70 45 . D RDATES(RSDATES,FRDATES,LBBDT,LBEDT,.RBDT,.REDT) 46 . S PXRMDATE=LBEDT 47 . S $P(FINDPA(0),U,8)=RBDT,$P(FINDPA(0),U,11)=REDT 71 48 . S NL=NL+1,OUTPUT(NL)="" 72 49 . S NL=NL+1,OUTPUT(NL)="SEQUENCE "_SEQ_" "_$P(FRDATA,U,1) 73 . S NL=NL+1,OUTPUT(NL)=" Operation: "_OPER74 50 .;Term finding rules 75 . I FRTYP=1 D TERM(FRTIEN, LBBDT,LBEDT,RBDT,REDT,.PXRMFVPL,.NL,.OUTPUT)51 . I FRTYP=1 D TERM(FRTIEN,.FINDPA,.PXRMFVPL,.NL,.OUTPUT) 76 52 .;Reminder Definition List Rule 77 . I FRTYP=2 D REM(RRIEN, LBBDT,LBEDT,RBDT,REDT,.PXRMFVPL,.NL,.OUTPUT)53 . I FRTYP=2 D REM(RRIEN,.FINDPA,.PXRMFVPL,.NL,.OUTPUT) 78 54 Q 79 55 ; 80 56 ;================================================= 81 FMULPRT( FARR,PXRMFVPL,NL,OUTPUT) ;Print the finding multiple57 FMULPRT(DEFARR,FINDPA,PXRMFVPL,NL,OUTPUT) ;Print the finding multiple 82 58 ;information. 83 ;Q 84 N BDT,EDT,DERROR,FNAME,FTYPE,IND,NOCC,TBDT,TEDT,TEMP,VPTR 59 N BDT,EDT,FNAME,FTYPE,IND,NOCC,PFINDPA,TFINDPA,VPTR 85 60 S IND=0 86 F S IND=+$O( FARR(20,IND)) Q:IND=0 D87 . S VPTR=$P( FARR(20,IND,0),U,1)61 F S IND=+$O(DEFARR(20,IND)) Q:IND=0 D 62 . S VPTR=$P(DEFARR(20,IND,0),U,1) 88 63 . S FNAME=$$ENTRYNAM^PXRMPTD2(VPTR) 89 64 . S FTYPE=$$FTYPE^PXRMPTD2(VPTR,1) 90 65 . S NL=NL+1,OUTPUT(NL)=" FINDING "_IND_"-"_FTYPE_"."_FNAME 66 . K PFINDPA,TFINDPA 67 . M TFINDPA=DEFARR(20,IND) 91 68 .;Set the finding parameters. 92 . D SSPAR^PXRMUTIL(FARR(20,IND,0),.NOCC,.BDT,.EDT) 69 . D SPFINDPA^PXRMTERM(.FINDPA,.TFINDPA,.PFINDPA) 70 . D SSPAR^PXRMUTIL(PFINDPA(0),.NOCC,.BDT,.EDT) 93 71 . S NL=NL+1,OUTPUT(NL)=" Beginning Date/Time: "_$$FMTE^XLFDT(BDT,"5Z") 94 72 . S NL=NL+1,OUTPUT(NL)=" Ending Date/Time: "_$$FMTE^XLFDT(EDT,"5Z") 95 . I $G(PXRMDDOC)'=2 Q96 . S DERROR=097 . S TEMP=$G(^TMP("PXRMDDOC",$J,$P(FARR(20,IND,0),U,1,11)))98 .;If TEMP is null then no evaluation was required and the check99 .;cannot be made100 . I TEMP="" Q101 . I $P(TEMP,U,1)'=BDT D102 .. S DERROR=1103 .. S NL=NL+1,OUTPUT(NL)=" There is a consistency problem with the beginning date!"104 .. S NL=NL+1,OUTPUT(NL)=" Date used to build the list was: "_$$FMTE^XLFDT($P(TEMP,U,1),"5Z")105 . I $P(TEMP,U,2)'=EDT D106 .. S DERROR=1107 .. S NL=NL+1,OUTPUT(NL)=" There is a consistency problem with the ending date!"108 .. S NL=NL+1,OUTPUT(NL)=" Date used to build the list was: "_$$FMTE^XLFDT($P(TEMP,U,2),"5Z")109 . I DERROR D110 .. S NL=NL+1,OUTPUT(NL)=" Please notify the developers."111 .. ;S NL=NL+1,OUTPUT(NL)=" Please enter a Remedy ticket."112 .. S NL=NL+1,OUTPUT(NL)=" "113 73 Q 114 74 ; … … 122 82 I RBDT="" S RBDT=0 123 83 I REDT="" S REDT=LBEDT 124 I REDT=0 S REDT= DT84 I REDT=0 S REDT=$$DT^XLFDT 125 85 ;Convert RBDT and REDT to FileMan dates. 126 86 S RBDT=$$DCONV(RBDT,LBBDT,LBEDT) … … 137 97 ; 138 98 ;================================================= 139 REM(IEN, LBBDT,LBEDT,RBDT,REDT,PXRMFVPL,NL,OUTPUT) ;99 REM(IEN,FINDPA,PXRMFVPL,NL,OUTPUT) ; 140 100 N DEFARR 141 101 D DEF^PXRMLDR(IEN,.DEFARR) 142 D DATES^PXRMRUL1(LBBDT,LBEDT,RBDT,REDT,.DEFARR)143 102 S NL=NL+1,OUTPUT(NL)=" REMINDER DEFINITION "_$P(DEFARR(0),U,1) 144 D FMULPRT(.DEFARR,. PXRMFVPL,.NL,.OUTPUT)103 D FMULPRT(.DEFARR,.FINDPA,.PXRMFVPL,.NL,.OUTPUT) 145 104 Q 146 105 ; 147 106 ;================================================= 148 TERM(IEN, LBBDT,LBEDT,RBDT,REDT,PXRMFVPL,NL,OUTPUT) ;107 TERM(IEN,FINDPA,PXRMFVPL,NL,OUTPUT) ; 149 108 N TERMARR 150 109 D TERM^PXRMLDR(IEN,.TERMARR) 151 D DATES^PXRMRUL1(LBBDT,LBEDT,RBDT,REDT,.TERMARR)152 110 S NL=NL+1,OUTPUT(NL)=" TERM "_$P(TERMARR(0),U,1) 153 D FMULPRT(.TERMARR,. PXRMFVPL,.NL,.OUTPUT)111 D FMULPRT(.TERMARR,.FINDPA,.PXRMFVPL,.NL,.OUTPUT) 154 112 Q 155 113 ;
Note:
See TracChangeset
for help on using the changeset viewer.