| 1 | PSJIPST ;BIR/CML3-POST INIT DRIVER ;11 DEC 97 / 3:11 PM 
 | 
|---|
| 2 |  ;;5.0; INPATIENT MEDICATIONS ;;16 DEC 97
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  D MES^XPDUTL(" ")
 | 
|---|
| 5 |  S PSJIPSTF=1 D NOW^%DTC D YX^%DTC S PSJMESSG="POST-INIT STARTED AT "_Y_" ...." D MES^XPDUTL(PSJMESSG)
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;Set flags and skip conversions if virgin install.
 | 
|---|
| 8 |  I $D(PSGINITF) D
 | 
|---|
| 9 |  .D NOW^%DTC S ^PS(59.7,1,20.5)=%_"^"_%_"^"_%_"^"_% D:XPDQUES("POS1")=1 VIRGIN
 | 
|---|
| 10 |  D ^PSJIPSTA
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 |  ; Connect movement event driver
 | 
|---|
| 13 |  D:'$P($G(^PS(59.7,1,20.5)),U,2) START^PSJIPST1
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ; Do Unit Dose Order Sets conversion
 | 
|---|
| 16 |  D:'$P($G(^PS(59.7,1,20.5)),U,4) 111^PSJIPST3
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | UPF ; update package file, if necessary .... took this code out
 | 
|---|
| 19 | DONE ;
 | 
|---|
| 20 |  F X="AUDDD","AUDAPM","ALCNVRT" S ^PS(55,X)=+$P($T(PSJIPST+1),";",3)
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  ; Queue 5.0 order conversion.
 | 
|---|
| 23 |  ; called from OERR now
 | 
|---|
| 24 |  ;D:('$P($G(^PS(59.7,1,20.5)),U,2))&('$D(PSGINITF)) ENORDER^PSJIPST1,ENIVKV^PSGSETU
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 |  ; Queue 5.0 pick list conversion.
 | 
|---|
| 27 |  D:'$P($G(^PS(59.7,1,20.5)),U,3) ENPL^PSJIPST1
 | 
|---|
| 28 |  ; Queue 5.0 Unit Dose Verification conversion.
 | 
|---|
| 29 |  D:'$P($G(^PS(59.7,1,20.5)),U) ENPVNV^PSJIPST2
 | 
|---|
| 30 |  D SNMM,ENUPO
 | 
|---|
| 31 |  D MES^XPDUTL(" ")
 | 
|---|
| 32 |  D NOW^%DTC S $P(^PS(59.7,1,20),"^",1,3)=+$P($T(PSJIPST+1),";",3)_"^"_%_"^"_DUZ,Y=% D YX^%DTC S PSJMESSG="POST-INSTALL COMPLETED AT "_Y_" ...." D MES^XPDUTL(PSJMESSG)
 | 
|---|
| 33 |  ; fill in ^XTMP zero nodes
 | 
|---|
| 34 |  N PSJDATE1,PSJDATE2
 | 
|---|
| 35 |  D NOW^%DTC S PSJDATE1=X,X1=X,X2=7 D C^%DTC S PSJDATE2=X
 | 
|---|
| 36 |  S ^XTMP("PSJ NEW PERSON",0)=PSJDATE2_"^"_PSJDATE1_"^"_"List of changed User Names in IV orders"
 | 
|---|
| 37 |  Q
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 | VIRGIN ; Queue process to mark all drugs as UD items (Virgin install only).
 | 
|---|
| 40 |  K ZTSAVE,ZTSK S ZTRTN="ENMUD^PSJIPST1",ZTDTH=$H,ZTDESC="MARK ALL DISPENSE DRUGS AS UNIT DOSE ITEMS (INPATIENT MEDS POST-INSTALL)",ZTIO="" D ^%ZTLOAD
 | 
|---|
| 41 |  S PSJMESSG="... the process to mark all ACTIVE drugs in your local drug file as Unit Dose items is"_$S($D(ZTSK):"",1:"NOT")_" queued." D MES^XPDUTL(PSJMESSG)
 | 
|---|
| 42 |  I $D(ZTSK) D MES^XPDUTL(" (to start NOW). YOU WILL RECEIVE A MAILMAN MESSAGE WHEN THE TASK HAS COMPLETED.")
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|
| 45 | SNMM ;
 | 
|---|
| 46 |  N PSG,XMY S XMSUB="INPATIENT MEDICATIONS "_$P($T(PSJIPST+1),";",3)_" INSTALL COMPLETED",XMY("MIMS,M@ISC-BIRM.VA.GOV")="",XMDUZ=DUZ,XMTEXT="PSG(",%H=$H D YX^%DTC
 | 
|---|
| 47 |  S PSG(1,0)=" "
 | 
|---|
| 48 |  S PSG(2,0)="  "_$P($$SITE^VASITE(),"^",2)_" HAS RUN THE INPATIENT MEDICATION V"_$P($T(PSJIPST+1),";",3)_" INSTALL"
 | 
|---|
| 49 |  S PSG(3,0)="TO COMPLETION AS OF "_Y_"."
 | 
|---|
| 50 |  N DIFROM D ^XMD K SITE Q
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | ENUPO ; update options when conversions done
 | 
|---|
| 53 |  ;  get list of Pick List options IENs, these will not be enabled until
 | 
|---|
| 54 |  ;  the end of the pick list conversion
 | 
|---|
| 55 |  S PSJOPLIS="|"_+$O(^DIC(19,"B","PSJU PLDEL",0))_"|"
 | 
|---|
| 56 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLAPS",0))_"|"
 | 
|---|
| 57 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLPRG",0))_"|"
 | 
|---|
| 58 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLDP",0))_"|"
 | 
|---|
| 59 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU EUD",0))_"|"
 | 
|---|
| 60 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PL",0))_"|"
 | 
|---|
| 61 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU RET",0))_"|"
 | 
|---|
| 62 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLRP",0))_"|"
 | 
|---|
| 63 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLATCS",0))_"|"
 | 
|---|
| 64 |  S PSJOPLIS=PSJOPLIS_+$O(^DIC(19,"B","PSJU PLUP",0))_"|"
 | 
|---|
| 65 |  D MES^XPDUTL("...removing the 'OUT OF ORDER' message from the Inpatient Medications options...")
 | 
|---|
| 66 |  S Q1="PSJ" F  S Q1=$O(^DIC(19,"B",Q1)) Q:$E(Q1,1,3)'="PSJ"  F Q2=0:0 S Q2=$O(^DIC(19,"B",Q1,Q2)) Q:'Q2  D
 | 
|---|
| 67 |  .S DIE="^DIC(19,",DA=Q2,DR="2///@" D:PSJOPLIS'[("|"_Q2_"|") ^DIE
 | 
|---|
| 68 |  D MES^XPDUTL("...removing the 'DISABLE' message from the Inpatient Medications protocols...")
 | 
|---|
| 69 |  S Q1="PSJ" F  S Q1=$O(^ORD(101,"B",Q1)) Q:$E(Q1,1,3)'="PSJ"  F Q2=0:0 S Q2=$O(^ORD(101,"B",Q1,Q2)) Q:'Q2  S DIE="^ORD(101,",DA=Q2,DR="2///@" D ^DIE
 | 
|---|
| 70 |  ; if package is reinstalled and Pick list conversion has finished
 | 
|---|
| 71 |  ; the options will be reactivated again
 | 
|---|
| 72 |  D:$P($G(^PS(59.7,1,20.5)),U,3) ACTPK^PSJIPST2
 | 
|---|
| 73 |  D PURG
 | 
|---|
| 74 |  K DA,DIE,DR,PSJOPLIS,Q1,Q2,X,Y
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 | PURG ; Place PURGE options as OUT OF ORDER     
 | 
|---|
| 77 |  ; take this out later!!!!!!!  keeps users from using the purge options
 | 
|---|
| 78 |  N NAME,IEN
 | 
|---|
| 79 |  F NAME="PSJU PO PURGE","PSJI PURGE","PSJI PURGE ORDERS" S IEN=$O(^DIC(19,"B",NAME,0)) S DIE="^DIC(19,",DA=IEN,DR="2////TEMPORARILY UNAVAILABLE" D ^DIE K DIE
 | 
|---|
| 80 |  Q
 | 
|---|