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

PSBIHS6.m

Go to the documentation of this file.
  1. PSBIHS6 ;KF/VAOIT PSBO BZ LABEL PRT FROM IOE
  1. ;;1.0;PSB BCMA CPS FOXK;**1018**;;Build 27
  1. SELECT ; Select orderS from list
  1. N PSGLMT,PSGODDD,PSJLMQT,PSJLMFIN,PSJUDPRF,PSGRDTX K ^TMP("PSJCOM",$J),^TMP("PSJCOM2",$J)
  1. N DIE,DIR,ON,PSBSIO,PSGONC,PSGORD,PSJORD,PSJSEL,PSJSEL1,X,Y,ZTDESC,ZTDTH,ZTRN,ZTSK,ZTRTN,ZTIO
  1. S PSGONC=1,PSGLMT=^TMP("PSJPRO",$J,0) D ENASR^PSGON
  1. I "^"[X S VALMQUIT=1 Q
  1. S PSJLM=1,PSJSEL=0 F S PSJSEL=$O(PSGODDD(PSJSEL)) Q:'PSJSEL!($G(Y)<0) F PSJSEL1=1:1:$L(PSGODDD(PSJSEL),",")-1 D
  1. .S PSJORD=$G(^TMP("PSJON",$J,+$P(PSGODDD(PSJSEL),",",PSJSEL1))) D:PSJORD=+PSJORD SELECT^PSJOEA Q:PSJORD=""!($G(Y)<0) Q:PSJORD=+PSJORD D
  1. ..Q:('$$LS^PSSLOCK(PSGP,PSJORD))
  1. ..Q:PSJORD=+PSJORD
  1. ..S PSGORD=""
  1. ..Q:PSJORD'["U"
  1. ..S ON=PSJORD D BCMA
  1. ..Q:$G(Y)<0
  1. S VALMBCK="Q"
  1. K PSJLM
  1. Q
  1. BCMA ;GET DISPENSE DRUG INFO
  1. N PSBANS,PSBANS1,PSBRPT,PSBSAVE,DA,DIK,DR,DDSFILE,CPSDIEN,CPSDIEN1
  1. K CPSDRGS
  1. W @IOF
  1. ;DRUG INFO ALL ACTIVE DISPENSE
  1. S CPSDIEN=0 F S CPSDIEN=$O(^PS(55,DFN,5,+PSJORD,1,"B",CPSDIEN)) Q:CPSDIEN'>0 D
  1. .S CPSDIEN1=0 F S CPSDIEN1=$O(^PS(55,DFN,5,+PSJORD,1,"B",CPSDIEN,CPSDIEN1)) Q:CPSDIEN1'>0 D
  1. ..Q:$P($G(^PS(55,DFN,5,+PSJORD,1,CPSDIEN1,0)),U,3)'="" ;BAIL IF INACTIVE DATE
  1. ..S CPSDRGS(CPSDIEN)=$J($P($G(^PS(55,DFN,5,+PSJORD,1,CPSDIEN1,0)),U,2),0,0) ;BCMA UNIT GIVE ROUND UP
  1. S CPSDIEN=0 F S CPSDIEN=$O(CPSDRGS(CPSDIEN)) Q:CPSDIEN'>0 D BL
  1. Q
  1. BL ; FILE LABELS
  1. N PSBTYPE,PSBPRT,CPSMAN,CPSEXP,CPSLOT,CPSDOSE
  1. W @IOF
  1. ;FROM PSBOBZ
  1. S PSBTYPE="BZ" D NEW^PSBO1(.PSBRPT,PSBTYPE)
  1. I +PSBRPT(0)<1 W !,"Error: ",$P(PSBRPT(0),U,2) S DIR(0)="E" D ^DIR Q
  1. S DA=+PSBRPT(0),DIE="^PSB(53.69,"
  1. ;END PSBOBZ
  1. S CPSMAN=$P($G(^PSDRUG(CPSDIEN,999999924)),U,1)
  1. S CPSLOT=$P($G(^PSDRUG(CPSDIEN,999999924)),U,2)
  1. S CPSEXP=$P($G(^PSDRUG(CPSDIEN,660)),U,9)
  1. S CPSDOSE=$P(^PS(55,DFN,5,+PSJORD,.2),U,2)
  1. S DR=".31///^S X=CPSDIEN" D ^DIE
  1. I $G(CPSLOT)'="" S DR=".32///^S X=CPSLOT" D ^DIE
  1. I $G(CPSEXP)'="" S DR=".33///^S X=CPSEXP" D ^DIE
  1. I $G(CPSMAN)'="" S DR=".34///^S X=CPSMAN" D ^DIE
  1. S DR=".38///^S X=$G(CPSDRGS(CPSDIEN))" D ^DIE
  1. S:$G(IOP)'="" DR=".06///^S X=IOP" D ^DIE
  1. D NOW^%DTC S DR=".07///^S X=%" D ^DIE
  1. S DR=".12///^S X=DFN" D ^DIE
  1. S DR=".39///^S X=CPSDOSE" D ^DIE
  1. ;BELOW LOGIC FROM PSBOBZ
  1. S DR="[PSBO "_PSBTYPE_"]",DDSFILE=53.69 D ^DDS
  1. I 'PSBSAVE W !,"Cancelling Request..." S DIK="^PSB(53.69," D ^DIK W "Cancelled!"
  1. D:PSBSAVE
  1. .S IOP=$$GET1^DIQ(53.69,DA_",",.06,"I"),PSBSIO=0
  1. .W !,"Submitting Your Report Request to TaskMan..." H 1
  1. .S ZTIO=$$GET1^DIQ(53.69,DA_",",.06)
  1. .S ZTDTH=$P(^PSB(53.69,DA,0),U,7)
  1. .S ZTDESC="BCMA - "_$$GET1^DIQ(53.69,DA_",",.05)
  1. .S ZTRTN="DQ^PSBO("_DA_")"
  1. .D ^%ZTLOAD
  1. .W !,"Submitted!",!,"Your Task Number Is: ",$G(ZTSK),! H 1
  1. Q