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

PSSIIRPT.m

Go to the documentation of this file.
  1. PSSIIRPT ;BIR/JCH-Infusion Instruction Report ;10/26/12
  1. ;;1.0;PHARMACY DATA MANAGEMENT;**172**;9/30/07;Build 28
  1. ;
  1. ;
  1. EN ;Prompts for Infusion Instruction File Report
  1. W !!,"This report displays entries from the INFUSION INSTRUCTION (#53.47) File."
  1. ;
  1. N DIR,PSSMXLNG,Y,X,DTOUT,DUOUT,DIRUT,DIROUT,IOP,%ZIS,POP,ZTRTN,ZTDESC,ZTSAVE,ZTSK
  1. K DIR,Y S DIR(0)="SO^80:80 Column;132:132 Column",DIR("A")="Print report in 80 or 132 column format",DIR("B")="80"
  1. S DIR("?")=" ",DIR("?",1)="Enter 80 to print the report in an 80 column format,",DIR("?",2)="Enter 132 to print the report in an 132 column format."
  1. W ! D ^DIR K DIR I $D(DUOUT)!($D(DTOUT)) D MESS K DIR,Y S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR Q
  1. I Y'="80",Y'="132" D MESS K DIR,Y S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR Q
  1. S PSSMXLNG=Y W !
  1. K IOP,%ZIS,POP S %ZIS="QM" D ^%ZIS I $G(POP)>0 D MESS K DIR,Y S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR,IOP,%ZIS,POP Q
  1. I $D(IO("Q")) S ZTRTN="START^PSSIIRPT",ZTDESC="Infusion Instruction File Report",ZTSAVE("PSSMXLNG")="" D ^%ZTLOAD K %ZIS W !!,"Report queued to print.",! D Q
  1. .K DIR,Y S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
  1. ;
  1. ;
  1. START ;Print Medication Instruction File report
  1. U IO
  1. N PSSMXOUT,PSSMXNOF,PSSMXDEV,PSSMXCT,PSSMXLIN,PSSMXQ,PSSMXQEN,PSSMXRA,PSSMXRAA,PSSMXREP,PSSMXROO
  1. S (PSSMXOUT,PSSMXNOF)=0,PSSMXDEV=$S($E(IOST,1,2)'="C-":"P",1:"C"),PSSMXCT=1
  1. K PSSMXLIN S:PSSMXLNG=132 $P(PSSMXLIN,"-",130)="" S:PSSMXLNG=80 $P(PSSMXLIN,"-",78)=""
  1. D HD
  1. S PSSMXQ="" F S PSSMXQ=$O(^PS(53.47,"B",PSSMXQ)) Q:PSSMXQ=""!(PSSMXOUT) D
  1. .F PSSMXQEN=0:0 S PSSMXQEN=$O(^PS(53.47,"B",PSSMXQ,PSSMXQEN)) Q:'PSSMXQEN!(PSSMXOUT) I '$G(^PS(53.47,"B",PSSMXQ,PSSMXQEN)) D
  1. ..K PSSMXRA,PSSMXRAA,PSSMXREP,PSSMXROO
  1. ..S PSSMXRA=PSSMXQEN_","
  1. ..D GETS^DIQ(53.47,PSSMXRA,".01;1","E","PSSMXRAA")
  1. ..S PSSMXNOF=1
  1. ..W !!,$G(PSSMXRAA(53.47,PSSMXRA,.01,"E"))
  1. ..I ($Y+5)>IOSL D HD Q:PSSMXOUT
  1. ..W !?17,"EXPANSION: " D
  1. ...S PSSMXREP=$G(PSSMXRAA(53.47,PSSMXRA,1,"E"))
  1. ...I PSSMXLNG=132 D Q
  1. ....I $L(PSSMXREP)<104 W PSSMXREP,! Q
  1. ....N X,DIWL,DIWR,DIWF S X=PSSMXREP,DIWL=29,DIWR=131,DIWF="W" K ^UTILITY($J,"W") D ^DIWP D ^DIWW K ^UTILITY($J,"W")
  1. ...I $L(PSSMXREP)<52 W PSSMXREP,! Q
  1. ...N X,DIWL,DIWR,DIWF S X=PSSMXREP,DIWL=29,DIWR=79,DIWF="W" K ^UTILITY($J,"W") D ^DIWP D ^DIWW K ^UTILITY($J,"W")
  1. ..I ($Y+5)>IOSL D HD Q:PSSMXOUT W !
  1. ..I ($Y+5)>IOSL D HD Q:PSSMXOUT W !
  1. ;
  1. END ;
  1. I $G(PSSMXDEV)="P" W !!,"End of Report.",!
  1. I '$G(PSSMXOUT),$G(PSSMXDEV)="C" W !!,"End of Report." K DIR S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
  1. I $G(PSSMXDEV)="C" W !
  1. E W @IOF
  1. K PSSMXLNG
  1. D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
  1. Q
  1. ;
  1. HD ;Report Header
  1. I $G(PSSMXDEV)="C",$G(PSSMXCT)'=1 W ! K DIR,Y S DIR(0)="E",DIR("A")="Press Return to continue, '^' to exit" D ^DIR K DIR I 'Y S PSSMXOUT=1 Q
  1. W @IOF
  1. W !,"INFUSION INSTRUCTION FILE REPORT"
  1. W ?$S(PSSMXLNG=80:68,1:120),"PAGE: "_PSSMXCT,!,PSSMXLIN,! S PSSMXCT=PSSMXCT+1
  1. Q
  1. ;
  1. MESS ;
  1. W !!,"Nothing queued to print.",!
  1. Q