| 1 | PSJ005 ;BIR/RSB-UTILITY ROUTINE FOR PATCH PSJ*5*5 ; 03 Jun 98 / 12:06 PM
 | 
|---|
| 2 |  ;;5.0; INPATIENT MEDICATIONS ;**5**; 16 DEC 97
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | FIN ;
 | 
|---|
| 5 |  ; has CPRS main order conversion finished? IF NOT DON'T ASK TIME TO Q
 | 
|---|
| 6 |  S:'$P($G(^PS(59.7,1,20.5)),"^",2) PSJCONV=1
 | 
|---|
| 7 |  Q
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | EN ;  QUEUE UP CONVERSION FOR UD OUTPATIENT CLEANUP
 | 
|---|
| 10 |  S:'$P($G(^PS(59.7,1,20.5)),"^",2) PSJCONV=1
 | 
|---|
| 11 |  I $D(PSJCONV) Q
 | 
|---|
| 12 |  S ZTIO="",ZTDTH=$S($D(PSJCONV):$H,1:$$CON(XPDQUES("POS ONE")))
 | 
|---|
| 13 |  S ZTDESC="Inpatient Medications Patch PSJ*5*5 Unit Dose cleanup"
 | 
|---|
| 14 |  S ZTRTN="START^PSJ005" D ^%ZTLOAD
 | 
|---|
| 15 |  I $D(ZTSK) D MES^XPDUTL(" ") D MES^XPDUTL("Task #"_ZTSK_" is queued to run"_$S($D(PSJCONV):" NOW",1:" at "_XPDQUES("POS ONE")))
 | 
|---|
| 16 |  N PM S PM="This task will find Unit Dose orders that were entered for Outpatients through" D MES^XPDUTL(PM)
 | 
|---|
| 17 |  S PM="OERR 2.5 and are still pending.  The status of these orders will be changed to" D MES^XPDUTL(PM) S PM="Discontinued." D MES^XPDUTL(PM)
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ; QUEUE UP CONVERSION FOR PV FLAG CLEANUP
 | 
|---|
| 20 |  S ZTIO="",ZTDTH=$S($D(PSJCONV):$H,1:$$CON(XPDQUES("POS ONE")))
 | 
|---|
| 21 |  S ZTDESC="Inpatient Medications Patch PSJ*5*5 PV FLAG cleanup"
 | 
|---|
| 22 |  S ZTRTN="START1^PSJ005" D ^%ZTLOAD
 | 
|---|
| 23 |  ;I $D(ZTSK) D MES^XPDUTL(" ") D MES^XPDUTL("Task #"_ZTSK_" is queued to run"_$S($D(PSJCONV):" NOW",1:" at "_XPDQUES("POS ONE")))
 | 
|---|
| 24 |  ;N PM S PM="This task will correct UD Verification fields cross-references." D MES^XPDUTL(PM)
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 | START ;
 | 
|---|
| 27 |  N PSJ,PSJ1,PSJ0
 | 
|---|
| 28 |  F PSJ0="N","P" F PSJ=0:0 S PSJ=$O(^PS(53.1,"AS",PSJ0,PSJ)) Q:'PSJ  D
 | 
|---|
| 29 |  .Q:'$$DISC
 | 
|---|
| 30 |  .F PSJ1=0:0 S PSJ1=$O(^PS(53.1,"AS",PSJ0,PSJ,PSJ1)) Q:'PSJ1  D
 | 
|---|
| 31 |  ..Q:$$IV
 | 
|---|
| 32 |  ..D DC
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | DISC() ; was the patients last movement a discharge? if not - quit
 | 
|---|
| 36 |  I $G(^DPT(PSJ,.1))]""
 | 
|---|
| 37 |  Q '$T
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 | IV() ; is the Orderable Item marked for IV use? if yes - quit
 | 
|---|
| 40 |  N OI S OI=$P($G(^PS(53.1,PSJ1,.2)),"^") I 'OI Q 0
 | 
|---|
| 41 |  I $P($G(^PS(50.7,OI,0)),"^",3)=1
 | 
|---|
| 42 |  Q $T
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | DC ; change the orders status to DISCONTINUED!
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  ;W !,"DFN= ",PSJ,"  ",$P(^DPT(PSJ,0),"^"),"  ^PS(53.1,",PSJ1
 | 
|---|
| 47 |  S DA=PSJ1,DIE="^PS(53.1,",DR="28////D" D ^DIE K DIE
 | 
|---|
| 48 |  D EN1^PSJHL2(PSJ,"SC",PSJ1_"P")
 | 
|---|
| 49 |  Q
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 | GETDT ; check date/time for job to run
 | 
|---|
| 52 |  N %DT,Y S %DT="NRS"
 | 
|---|
| 53 |  D ^%DT I Y=-1 K X
 | 
|---|
| 54 |  E  S X=Y
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | CON(X) ;
 | 
|---|
| 57 |  N %DT S %DT="NRS" D ^%DT
 | 
|---|
| 58 |  Q Y
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | START1 ;
 | 
|---|
| 61 |  N DFN,PSJORD
 | 
|---|
| 62 |  F DFN=0:0 S DFN=$O(^PS(55,"APV",DFN)) Q:'DFN  D
 | 
|---|
| 63 |  .F PSJORD=0:0 S PSJORD=$O(^PS(55,"APV",DFN,PSJORD)) Q:'PSJORD  D
 | 
|---|
| 64 |  ..I $P($G(^PS(55,DFN,5,PSJORD,4)),U,3),'$P(^(4),U,9) S $P(^(4),U,9)=1 K ^PS(55,"APV",DFN,PSJORD)
 | 
|---|
| 65 |  F DFN=0:0 S DFN=$O(^PS(55,"ANV",DFN)) Q:'DFN  D
 | 
|---|
| 66 |  .F PSJORD=0:0 S PSJORD=$O(^PS(55,"ANV",DFN,PSJORD)) Q:'PSJORD  D
 | 
|---|
| 67 |  ..I $P($G(^PS(55,DFN,5,PSJORD,4)),U),'$P(^(4),U,10) S $P(^(4),U,10)=1 K ^PS(55,"ANV",DFN,PSJORD)
 | 
|---|
| 68 |  Q
 | 
|---|
| 69 | BADN ; called from BADNAMES^PSJIPST3, when main CPRS is finished
 | 
|---|
| 70 |  S ZTIO="",ZTDTH=$H
 | 
|---|
| 71 |  S ZTDESC="Inpatient Medications Patch PSJ*5*5 Unit Dose cleanup"
 | 
|---|
| 72 |  S ZTRTN="START^PSJ005" D ^%ZTLOAD
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  ; QUEUE UP CONVERSION FOR PV FLAG CLEANUP
 | 
|---|
| 75 |  S ZTIO="",ZTDTH=$H
 | 
|---|
| 76 |  S ZTDESC="Inpatient Medications Patch PSJ*5*5 PV FLAG cleanup"
 | 
|---|
| 77 |  S ZTRTN="START1^PSJ005" D ^%ZTLOAD
 | 
|---|
| 78 |  Q
 | 
|---|