Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PSDNTTP1

PSDNTTP1.m

Go to the documentation of this file.
  1. PSDNTTP1 ;BIR/BJW - Transfer Green Sheet - Receive this NAOU ;7/9/07 10:02am
  1. ;;3.0;CONTROLLED SUBSTANCES ;**64,79**;13 Feb 97;Build 20
  1. COM ;complete order and transaction
  1. S FLAG=0 D NOW^%DTC S PSDT=X,(RECD,Y)=+$E(%,1,12) X ^DD("DD") S RECDT=Y
  1. W !!,"Accessing ",PSDRGN," information...",!!
  1. I '$D(^PSD(58.8,+AOU,1,+PSDRG,0)) D DRUG
  1. W !!,"Updating your records now..."
  1. DIE ;create the order request in 58.8
  1. F L +^PSD(58.8,AOU,1,PSDRG,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I Q
  1. S:'$D(^PSD(58.8,AOU,1,PSDRG,3,0)) ^(0)="^58.800118A^^"
  1. DIE2 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 DIE2
  1. W "order..."
  1. 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
  1. S DA=PSDRN,DA(1)=PSDRG,DA(2)=AOU
  1. S STAT=$S(+$P($G(^PSD(58.8,AOU,2)),U,5):13,1:4)
  1. 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
  1. D ^DIE K DIE,DR
  1. L -^PSD(58.8,AOU,1,PSDRG,0)
  1. W "transaction..."
  1. ADD ;find entry number in 58.81
  1. F L +^PSD(58.81,0):$S($G(DILOCKTM)>0:DILOCKTM,1:3) I Q
  1. 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
  1. K DIC,DLAYGO S DIC(0)="L",(DIC,DLAYGO)=58.81,(X,DINUM)=PSDREC D ^DIC K DIC,DLAYGO
  1. L -^PSD(58.81,0)
  1. EDIT ;edit new transaction in 58.81
  1. I $P($G(^PSD(58.81,PSDREC,0)),"^")
  1. S STAT=$S(+$P($G(^PSD(58.8,AOU,2)),U,5):13,1:4)
  1. S ^PSD(58.81,PSDREC,0)=PSDREC_"^5^"_PSDS_"^"_RECD_"^"_PSDRG_"^"_RQTY_"^^^^^"_STAT_"^^"_MFG_"^"_LOT_"^"_EXP_"^^"_PSDPN_"^"_AOU_"^^"_PSDRN
  1. S ^PSD(58.81,PSDREC,1)="^^"_PSDUZ_"^"_RECD_"^^^^"_RQTY
  1. S ^PSD(58.81,PSDREC,7)="^^^^^"_PSDA,^PSD(58.81,PSDREC,9)=PAT
  1. S ^PSD(58.81,PSDREC,"CS")=1,$P(^PSD(58.81,PSDREC,"CS"),"^",4)=1
  1. K DA,DIK S DA=PSDREC,DIK="^PSD(58.81," D IX^DIK K DA,DIK
  1. ;update new order and prev trans #
  1. S $P(^PSD(58.8,AOU,1,PSDRG,3,PSDRN,0),"^",17)=PSDREC
  1. S $P(^PSD(58.81,PSDA,7),"^",4)=RECD,$P(^(7),"^",5)=PSDUZ,$P(^(7),"^",3)=AOU
  1. BAL ;update naou to balance ; *64 - balance will not change
  1. COMP ;completed msg
  1. W "done.",!!
  1. S STAT=$P($G(^PSD(58.81,PSDREC,0)),"^",11)
  1. W ?2,!,"*** The status of your Green Sheet #"_PSDPN_" is now",!,?2,$S($P($G(^PSD(58.82,STAT,0)),"^")]"":$P(^(0),"^"),1:"UNKNOWN")_" ***",!
  1. G:'FLAG END
  1. MSG ;send mail message
  1. 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
  1. S ^TMP("PSDNTMSG",$J,3,0)=""
  1. S ^TMP("PSDNTMSG",$J,4,0)="Drug: "_PSDRGN_" Green Sheet #"_PSDPN
  1. S ^TMP("PSDNTMSG",$J,5,0)="Transfer to: "_AOUN
  1. S ^TMP("PSDNTMSG",$J,6,0)="",^TMP("PSDNTMSG",$J,7,0)="This drug has been inactivated."
  1. S XMSUB="CS PHARM TRANSFER GREEN SHEET INACTIVATE DRUG",XMTEXT="^TMP(""PSDNTMSG"",$J,",XMDUZ="CONTROLLED SUBSTANCES PHARMACY"
  1. F JJ=0:0 S JJ=$O(^XUSEC("PSDMGR",JJ)) Q:'JJ S XMY(JJ)=""
  1. S:'$D(XMY) XMY(.5)="" D ^XMD K XMY,^TMP("PSDNTMSG",$J)
  1. END Q
  1. DRUG ;add drug and inactivate it
  1. S:'$D(^PSD(58.8,AOU,1,0)) ^(0)="^58.8001IP^^"
  1. 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
  1. 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
  1. S FLAG=1
  1. Q