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

PSIVLBRP.m

Go to the documentation of this file.
  1. PSIVLBRP ;BIR/MV - REPRINT LABELS FOR AN ORDER ;15 May 2001 3:29 PM
  1. ;;5.0; INPATIENT MEDICATIONS ;**58,97**;16 DEC 97
  1. ;
  1. ; Reference to ^PS(55 is supported by DBIA 2191.
  1. ;
  1. EN(PSJIDLST) ;
  1. I '$D(PSJIDLST) W !,"No labels are available" D PAUSE^VALM1 Q
  1. NEW DIR,PSIVCTD
  1. S PSIVCT=1
  1. W !!,"Count as daily usage" S %=1 D YN^DICN Q:%=-1 S PSIVCTD=$S(%=1:1,1:0)
  1. I PSIVCTD=1 K PSIVCT
  1. S PSJY=$$PROMPT()
  1. Q:PSJY=""
  1. D PRT
  1. Q
  1. PROMPT() ;
  1. W !
  1. S DIR(0)="LOA^1:"_PSJIDLST,DIR("A")="Select from 1 - "_PSJIDLST_" or <RETURN> to select by BCMA ID: " D ^DIR
  1. K DIR
  1. S PSJY=Y
  1. I PSJY="" S DIR(0)="FOA^1:50^S X=$$UP^XLFSTR(X) K:'$D(PSJIDLST(X)) X",DIR("A")="Enter a BCMA ID: " D ^DIR S PSJY=$$UP^XLFSTR(Y)
  1. K DIR
  1. W !!
  1. Q PSJY
  1. DEQIA ;
  1. S PSIVNOL=0
  1. F PSJSEL=1:1 S PSJSEL1=$P(PSJY,",",PSJSEL) Q:PSJSEL1="" S PSIVNOL=PSIVNOL+1
  1. F PSJSEL=1:1 S PSJSEL1=$P(PSJY,",",PSJSEL) Q:PSJSEL1="" D
  1. . S:'PSIVCTD PSIVCT=1
  1. . S PSJID=$G(PSJIDLST(PSJSEL1)) Q:PSJID="" D REPRT(PSJID)
  1. K PSJRPHD
  1. Q
  1. REPRT(PSJID) ;
  1. S PSJNEWID=$$BCMA^PSIVBCID(DFN,ON,$D(PSIVCT),$G(PSIV1),$G(PSIV2),$G(PSIVNOL))
  1. I PSJNEWID="" W !,"Can't get a new BCMA ID. Try again" Q
  1. S PSJIDNO=$P(PSJID,"V",2)
  1. S PSIVBAG=$P($G(^PS(55,DFN,"IVBCMA",PSJIDNO,0)),U,8)
  1. N DA,DR,DIE,DIC
  1. ;S DIC(0)="L",DA=Y,DA(1)=DFN,X=PSJNEWID,DIC="^PS(55,"_DA(1)_",""IVBCMA""," D FILE^DICN
  1. K DA,DR,DIE S DIE="^PS(55,"_DFN_",""IVBCMA"",",DA=$P(PSJNEWID,"V",2),DA(1)=DFN D NOW^%DTC
  1. ;S DR=".02////"_+ON_";3////"_PSIVCTD_";4////"_$E(%,1,12)_";6////"_PSIVBAG D ^DIE
  1. S DR="6////"_PSIVBAG D ^DIE
  1. K DA,DR,DIE,DIC
  1. S PSJNEWID=$P(PSJNEWID,"V",2)
  1. F PSJAD=0:0 S PSJAD=$O(^PS(55,DFN,"IVBCMA",PSJIDNO,"AD",PSJAD)) Q:'PSJAD D
  1. . S PSJADX=$G(^PS(55,DFN,"IVBCMA",PSJIDNO,"AD",PSJAD,0))
  1. . D UP2^PSIVBCID(DFN,PSJNEWID,PSJAD,PSJADX)
  1. F PSJSOL=0:0 S PSJSOL=$O(^PS(55,DFN,"IVBCMA",PSJIDNO,"SOL",PSJSOL)) Q:'PSJSOL D
  1. . S PSJSOLX=$G(^PS(55,DFN,"IVBCMA",PSJIDNO,"SOL",PSJSOL,0))
  1. . D UP3^PSIVBCID(DFN,PSJNEWID,PSJSOL,PSJSOLX)
  1. K DA,DR,DIE,DIC
  1. S DA=PSJIDNO,DA(1)=DFN,DIE="^PS(55,"_DA(1)_",""IVBCMA"","
  1. S DR="5////RP" D ^DIE
  1. K DA,DR,DIE,DIC
  1. D ^PSIVHYPR:P(4)="H",^PSIVLABR:"APSC"[P(4) S:$D(ZTQUEUED) ZTREQ="@"
  1. ;PSJRPHD is defined so ^PSIVLABR won't print the header for sub-labels.
  1. S PSJRPHD=1
  1. ;If reprinting from war/man list, store new BCMA ID.
  1. S:$G(PSIVWMFL) PSIVID(PSJNEWID)=""
  1. Q
  1. PRT ;
  1. S IONOFF="",IOP=PSIVPL,%ZIS="NQ" D ^%ZIS G:POP Q I IO=IO(0),($E(IOST)="C") W !!! D DEQIA,Q D HOME^%ZIS Q
  1. D HOME^%ZIS
  1. W ! S ZTDTH=$H,ZTIO=PSIVPL,ZTDESC="REPRINT INDIVIDUAL IV LABELS",ZTRTN="DEQIA^PSIVLBRP" F X="IONOFF","P16","PSIVAC","PSIVSN","PSIVSITE","DFN","ON","PSJSYSW0","PSJSYSU","PSJSYSP0","PSJIDLST(","P(","PSJY","PSIVCTD" S ZTSAVE(X)=""
  1. S:$D(PSIVCT) ZTSAVE("PSIVCT")="" D ^%ZTLOAD W:$D(ZTSK) !,"Queued."
  1. Q
  1. Q ;
  1. Q