| 1 | PSDNTT1 ;BIR/BJW-Transfer Green Sheet - Receive this NAOU ; 17 JUL 97
 | 
|---|
| 2 |  ;;3.0; CONTROLLED SUBSTANCES ;**1,56,66**;13 Feb 97;Build 3
 | 
|---|
| 3 |  ;rtn chg for nois#:pal-0697-60605,pth-0697-20147,sux-0597-42235
 | 
|---|
| 4 | COM ;complete order and transaction
 | 
|---|
| 5 |  S FLAG=0 D NOW^%DTC S PSDT=X,(RECD,Y)=+$E(%,1,12) X ^DD("DD") S RECDT=Y
 | 
|---|
| 6 |  W !!,"Accessing ",PSDRGN," information...",!!
 | 
|---|
| 7 |  I '$D(^PSD(58.8,+AOU,1,+PSDRG,0)) D DRUG
 | 
|---|
| 8 |  W !!,"Updating your records now..."
 | 
|---|
| 9 | DIE ;create the order request in 58.8
 | 
|---|
| 10 |  ;7/25/97 inserted line 6 to update order status to "4" or "13"
 | 
|---|
| 11 |  ;chged line 7 fr 10////4 to 10////_stat 
 | 
|---|
| 12 |  S:'$D(^PSD(58.8,AOU,1,PSDRG,3,0)) ^(0)="^58.800118A^^"
 | 
|---|
| 13 |  S PSDRN=$P(^PSD(58.8,AOU,1,PSDRG,3,0),"^",3)+1 I $D(^PSD(58.8,AOU,1,PSDRG,3,PSDRN)) S $P(^PSD(58.8,AOU,1,PSDRG,3,0),"^",3)=$P(^PSD(58.8,AOU,1,PSDRG,3,0),"^",3)+1 G DIE
 | 
|---|
| 14 |  W "order..."
 | 
|---|
| 15 |  K DA,DIC,DIE,DD,DR,DO S DIC(0)="L",(DIC,DIE)="^PSD(58.8,"_AOU_",1,"_PSDRG_",3,",DA(2)=AOU,DA(1)=PSDRG,(X,DINUM)=PSDRN D FILE^DICN K DIC
 | 
|---|
| 16 |  S DA=PSDRN,DA(1)=PSDRG,DA(2)=AOU
 | 
|---|
| 17 |  S STAT=$S(+$P($G(^PSD(58.8,AOU,2)),U,5):13,1:4)
 | 
|---|
| 18 |  S DR="16////"_PSDPN_";14////"_PSDSP_";15////"_RECD_";2////"_+PSDS_";6////"_PSDUZ_";7////"_MFG_";8////"_LOT_";9////"_EXP_";10////"_STAT_";19////"_QTY_";20////"_RQTY_";22////"_RQTY
 | 
|---|
| 19 |  D ^DIE K DIE,DR
 | 
|---|
| 20 |  W "transaction..."
 | 
|---|
| 21 | ADD ;find entry number in 58.81
 | 
|---|
| 22 |  F  L +^PSD(58.81,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
 | 
|---|
| 23 | FIND S PSDREC=$P(^PSD(58.81,0),"^",3)+1 I $D(^PSD(58.81,PSDREC)) S $P(^PSD(58.81,0),"^",3)=PSDREC G FIND
 | 
|---|
| 24 |  K DIC,DLAYGO S DIC(0)="L",(DIC,DLAYGO)=58.81,(X,DINUM)=PSDREC D ^DIC K DIC,DLAYGO
 | 
|---|
| 25 |  L -^PSD(58.81,0)
 | 
|---|
| 26 | EDIT ;edit new transaction in 58.81
 | 
|---|
| 27 |  ;7/21/97 on line 1 deleted "4" in 11th piece,added stat
 | 
|---|
| 28 |  ; added lines 1-2 to update order status to a "4" or "13"
 | 
|---|
| 29 |  ; also added to line 4 to enter a 1 in "CS";4
 | 
|---|
| 30 |  I $P($G(^PSD(58.81,PSDREC,0)),"^")
 | 
|---|
| 31 |  S STAT=$S(+$P($G(^PSD(58.8,AOU,2)),U,5):13,1:4)
 | 
|---|
| 32 |  S ^PSD(58.81,PSDREC,0)=PSDREC_"^5^"_PSDS_"^"_RECD_"^"_PSDRG_"^"_RQTY_"^^^^^"_STAT_"^^"_MFG_"^"_LOT_"^"_EXP_"^^"_PSDPN_"^"_AOU_"^^"_PSDRN
 | 
|---|
| 33 |  S ^PSD(58.81,PSDREC,1)="^^"_PSDUZ_"^"_RECD_"^^^^"_RQTY
 | 
|---|
| 34 |  S ^PSD(58.81,PSDREC,7)="^^^^^"_PSDA,^PSD(58.81,PSDREC,9)=PAT
 | 
|---|
| 35 |  S ^PSD(58.81,PSDREC,"CS")=1,$P(^PSD(58.81,PSDREC,"CS"),"^",4)=1
 | 
|---|
| 36 |  K DA,DIK S DA=PSDREC,DIK="^PSD(58.81," D IX^DIK K DA,DIK
 | 
|---|
| 37 |  ;update new order and prev trans #
 | 
|---|
| 38 |  S $P(^PSD(58.8,AOU,1,PSDRG,3,PSDRN,0),"^",17)=PSDREC
 | 
|---|
| 39 |  S $P(^PSD(58.81,PSDA,7),"^",4)=RECD,$P(^(7),"^",5)=PSDUZ,$P(^(7),"^",3)=AOU
 | 
|---|
| 40 | BAL ;update naou to balance
 | 
|---|
| 41 |  F  L +^PSD(58.8,AOU,1,PSDRG,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I  Q
 | 
|---|
| 42 |  ;PSD*3*56;REMOVED CHECK FOR PATIENT ID
 | 
|---|
| 43 |  S $P(^PSD(58.8,AOU,1,PSDRG,0),"^",4)=$P(^PSD(58.8,AOU,1,PSDRG,0),"^",4)+RQTY
 | 
|---|
| 44 |  L -^PSD(58.8,AOU,1,PSDRG,0)
 | 
|---|
| 45 | COMP ;completed msg
 | 
|---|
| 46 |  W "done.",!!
 | 
|---|
| 47 |  S STAT=$P($G(^PSD(58.81,PSDREC,0)),"^",11)
 | 
|---|
| 48 |  W ?2,!,"*** The status of your Green Sheet #"_PSDPN_" is now",!,?2,$S($P($G(^PSD(58.82,STAT,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN")_" ***",!
 | 
|---|
| 49 |  G:'FLAG END
 | 
|---|
| 50 | MSG ;send mail message
 | 
|---|
| 51 |  K XMY,^TMP("PSDNTMSG",$J) S ^TMP("PSDNTMSG",$J,1,0)="CS PHARM Transfer Green Sheet between NAOUs",^TMP("PSDNTMSG",$J,2,0)="Transfer In Date: "_RECDT
 | 
|---|
| 52 |  S ^TMP("PSDNTMSG",$J,3,0)=""
 | 
|---|
| 53 |  S ^TMP("PSDNTMSG",$J,4,0)="Drug: "_PSDRGN_"      Green Sheet #"_PSDPN
 | 
|---|
| 54 |  S ^TMP("PSDNTMSG",$J,5,0)="Transfer to: "_AOUN
 | 
|---|
| 55 |  S ^TMP("PSDNTMSG",$J,6,0)="",^TMP("PSDNTMSG",$J,7,0)="This drug has been inactivated."
 | 
|---|
| 56 |  S XMSUB="CS PHARM TRANSFER GREEN SHEET INACTIVATE DRUG",XMTEXT="^TMP(""PSDNTMSG"",$J,",XMDUZ="CONTROLLED SUBSTANCES PHARMACY"
 | 
|---|
| 57 |  F JJ=0:0 S JJ=$O(^XUSEC("PSDMGR",JJ)) Q:'JJ  S XMY(JJ)=""
 | 
|---|
| 58 |  S:'$D(XMY) XMY(.5)="" D ^XMD K XMY,^TMP("PSDNTMSG",$J)
 | 
|---|
| 59 | END Q
 | 
|---|
| 60 | DRUG ;add drug and inactivate it
 | 
|---|
| 61 |  S:'$D(^PSD(58.8,AOU,1,0)) ^(0)="^58.8001IP^^"
 | 
|---|
| 62 |  K DA,DIC,DIE,DD,DO S (DIC,DIE)="^PSD(58.8,"_AOU_",1,",(X,DINUM)=+PSDRG,DA(1)=AOU,DIC(0)="L" D FILE^DICN K DIC I Y<0 S PSDOUT=1 Q
 | 
|---|
| 63 |  K DA,DR S DA=PSDRG,DA(1)=AOU,DR="13////"_PSDT_";14////O;14.5////TRANSFER FROM ANOTHER NAOU" D ^DIE K DA,DIE,DR
 | 
|---|
| 64 |  S FLAG=1
 | 
|---|
| 65 |  Q
 | 
|---|