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

PSGPER.m

Go to the documentation of this file.
  1. PSGPER ;BIR/CML3-PRINTS PRE-EXCHANGE NEEDS REPORT ;04 JAN 95 / 5:08 PM
  1. ;;5.0;INPATIENT MEDICATIONS;**95,115,127,133,279**;16 DEC 97;Build 150
  1. ;
  1. EN ; Entry point
  1. S PSGPERRF=0,POP=0 N PSGPRCLD,PSGCURCL S PSGPRCLD="" D DEFCL^PSGPER1(PSGPXN,.PSGPRCLD)
  1. N PSGPRTYP,PSGPRCL
  1. I $G(PSGPRCLD("WARD")) S PSGPRTYP="PSGPERP" D DEV K PSGPRCLD("WARD")
  1. I POP D POP G:%=1 EN D OUT Q
  1. I $D(PSGPRCLD)>1 S PSGPRTYP="PSGPERPC" S PSGCURCL="" F S PSGCURCL=$O(PSGPRCLD("DEV",PSGCURCL)) Q:PSGCURCL="" D DEV
  1. D OUT
  1. Q
  1. DEV ; Select Device
  1. S PSGION=ION
  1. D DEV1
  1. Q
  1. DEV1 ; Get default device, select and validate device
  1. Q:'$$DEFON^PSGPER1
  1. W !!,"PRE-EXCHANGE UNITS REPORT"
  1. I ($G(PSGCURCL)="") S D=$S($G(PSGPXDEV):PSGPXDEV,1:$P(PSJSYSW0,U,29))
  1. I $L($G(PSGCURCL)) S D=$G(PSGPRCLD("DEV",PSGCURCL))
  1. S:D="" D="HOME" S IOP=$S(D:"`"_D,1:D) K %ZIS S %ZIS="NQ" D ^%ZIS S D=$G(ION)
  1. K IOP,%ZIS,IO("Q") S %ZIS="Q",%ZIS("A")="Select DEVICE for "_$S($G(PSGPRCLD("WARD")):"Ward "_$G(^DPT(DFN,.1)),$G(PSGCURCL)]"":"Clinic "_PSGCURCL,1:"")_": ",%ZIS("B")=$S(($G(PSGCURCL)]""):$G(PSGPRCLD("DEV",PSGCURCL)),1:D)
  1. D ^%ZIS K %ZIS I POP D POP G:%=1 DEV1
  1. I D'=$G(ION) D CURDEF
  1. I $D(IO("Q")) K ZTSAVE S PSGTIR="^PSGPER0",ZTDESC="PRE-EXCHANGE UNITS REPORT",ZTDTH=$H,ZTSAVE("PSGPXN")="",ZTSAVE("PSGPRTYP")="",ZTSAVE("PSGCURCL")="",ZTSAVE("DFN")="" D ENTSK^PSGTI G:'$D(ZTSK) DEV1 K ZTSK Q
  1. D ENP^PSGPER0:'$G(PSGPXPT),ENPAT^PSGPER0:$G(PSGPXPT),AG
  1. I %=1 S PSGPERRF=1 G DEV1
  1. Q
  1. ;
  1. OUT ; Clean up on the way out
  1. D TASKPRGE^PSGPER1(PSGPXN)
  1. K PSGPERRF,PSGPXN
  1. Q:$G(PSJCOM)!$G(PSJPREX)
  1. N PSJSYSW0,PSGVBW,PSJPWD,PSJSYSL D Q
  1. . D:'$G(PSGPXPT) ENIVKV^PSGSETU
  1. Q
  1. ;
  1. POP ; Abort?
  1. S %=2 W:'PSGPERRF !!,"IF A DEVICE IS NOT CHOSEN, NO REPORT WILL BE RUN AND THE DATA WILL NO LONGER BE RETRIEVABLE THROUGH THIS REPORT."
  1. I 'PSGPERRF F W !,"Do you want another chance to choose a device" S %=1 D YN^DICN Q:% W !?3,"Enter 'YES' to choose a device to print. Enter 'NO' to quit now."
  1. I %'=1 S IOP=PSGION D ^%ZIS S %=2
  1. Q
  1. ;
  1. AG ;
  1. F W !!,"DO YOU NEED TO PRINT THIS REPORT AGAIN" S %=2 D YN^DICN Q:% D AGMSG
  1. Q
  1. ;
  1. AGMSG ;
  1. I %Y'?1."?" W $C(7)," ANSWER 'YES' OR 'NO' (Entry required)" Q
  1. W !," Enter 'YES' to print this report again. Enter 'NO' (or an '^') to quit",!,"now. PLEASE NOTE that you will NOT be able to retrieve this data at a later",!,"date. You should print this information now." Q
  1. CURDEF ;
  1. Q:$G(PSGPXDEV)=0
  1. K DIC,DR,DA,X,Y,DIE S DIC="^%ZIS(1,",DIC(0)="SOX",X=ION D ^DIC Q:'($G(Y)>0)
  1. N D,DN S D=+$G(Y),DN=$P($G(Y),"^",2)
  1. F W !!,"Keep ",ION," as the PRE-EXCHANGE REPORT DEVICE for this session" S %=0 D YN^DICN S PSGPXDEV=$S(%=1:D,1:0) Q:% D DEFMSG
  1. I $G(Y) S:($G(PSGCURCL)="") $P(PSJSYSW0,"^",29)=+Y I ($G(PSGCURCL)]"") N CLIEN S CLIEN=$O(^SC("B",PSGCURCL,"")) I CLIEN S $P(PSJSYSW0("CLINIC",CLIEN,1),"^")=D,PSGPRCLD("DEV",PSGCURCL)=DN
  1. K DIC,DR,DA,X,Y,DIE
  1. Q
  1. ;
  1. DEFMSG ;
  1. I %Y'?1."?" W !,$C(7)," ANSWER 'YES' OR 'NO' (Entry required)" Q
  1. W !!," Enter 'YES' to make ",ION," the PRE-EXCHANGE REPORT default DEVICE"
  1. W !," for the current session. PLEASE NOTE that this will override the ward"
  1. W !," default PRE-EXCHANGE REPORT DEVICE for this session only."
  1. Q