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

BYIMXIS.m

Go to the documentation of this file.
  1. BYIMXIS ;IHS/CIM/THL - IMMUNIZATION DATA EXCHANGE;
  1. ;;2.0;BYIM IMMUNIZATION DATA EXCHANGE;**3,4,5,6,7,8**;JUL 11, 2017;Build 310
  1. ;;ROUTINE USED AS CENTRAL POINT FOR DEVICE HANDLING AND QUEUING
  1. ;-----
  1. ZIS ;EP;TO CALL DEVICE
  1. I $G(BYIMBRWS) D Q
  1. .N DIR
  1. .S DIR(0)="SO^P:PRINT Output;B:BROWSE Output on Screen"
  1. .S DIR("A")="Do you want to "
  1. .S DIR("B")="PRINT"
  1. .W !
  1. .D ^DIR
  1. .Q:$D(BYIMQUIT)!$D(BYIMOUT)
  1. .I $E($G(X))="P" D ZIS1 Q
  1. .I $E($G(Y))="B" D BROWSE Q
  1. ;-----
  1. ZIS1 ;EP;
  1. K DN
  1. S %ZIS="AEMNPQ"
  1. S ZIBH=$TR($H,",","")_$R(1000)
  1. W !
  1. D ^%ZIS
  1. I POP>0 D CLOSE Q
  1. S:$G(IOPAR)]"" %ZIS("IOPAR")=IOPAR
  1. S ZTSAVE("%ZIS*")=""
  1. S ZTSAVE("ZIBH")=""
  1. S ZTSAVE("NM*")=""
  1. S ZTRTN="OPEN^BYIMXIS"
  1. I $D(IO("Q")),IO=IO(0)!$D(IO("S")) D G ZIS
  1. .W *7,*7
  1. .W !!,"CANNOT QUEUE TO HOME OR SLAVE DEVICE."
  1. I '$D(IO("Q")) D D CLOSE Q
  1. .I $E(IOST,1,2)="P-" D
  1. ..W !!,"...One moment please, while I complete your print request..."
  1. ..W !
  1. .D:$D(BYIMRTN) @ZTRTN
  1. .D CLOSE
  1. E D ZTLOAD
  1. Q
  1. ;-----
  1. CLOSE ;EP;TO CLOSE DEVICE
  1. D ^%ZISC
  1. K IOP,IOPAR,%ZIS,ZTSK,ZTQUEUED,ZTREQ
  1. Q
  1. ;-----
  1. ZTLOAD ;EP;TO CALL %ZTLOAD
  1. K BYIMDR
  1. S ZTIO=ION
  1. S ZTSAVE("BYIM*")=""
  1. D ^%ZTLOAD
  1. W !!,$S($G(ZTSK)]"":"Request queued!",1:"Request cancelled.")
  1. D CLOSE
  1. H 2
  1. Q
  1. ;-----
  1. OPEN ;EP;TO OPEN DEVICE AND PRINT SELECTED REPORT
  1. I '$D(ZTQUEUED)!(ION["HOST") S IOP=ION D ^%ZIS I POP S BYIMQUIT="" Q
  1. U IO
  1. D @BYIMRTN
  1. S:$D(ZTQUEUED) ZTREQ="@"
  1. D:'$D(ZTQUEUED) CLOSE
  1. Q
  1. ;-----
  1. HOST ;EP;TO OPEN HOST FILE
  1. ;%FN - FILE NAME REQUIRED
  1. ;BYIMOP - 'R' FOR READ, 'W' FOR WRITE REQUIRED, 'M' FOR READ/WRITE
  1. Q:'$D(%FN)!'$D(BYIMOP)
  1. S POP=1
  1. F BYIMI=51:1:54 Q:'POP D
  1. .S (IOP,ION)=BYIMI
  1. .S %ZIS("IOPAR")="("""_%FN_""":"""_BYIMOP_""")"
  1. .D ^%ZIS
  1. I POP D G HOST:$G(BYIMX)<2 S BYIMQUIT="" Q
  1. .W !!,"Waiting for HOST FILE SERVER."
  1. .S BYIMX=$G(BYIMX)+1
  1. K IOP,POP
  1. Q
  1. ;-----
  1. BROWSE ;EP;TO BROWSE
  1. Q:$G(BYIMRTN)=""
  1. S BYIMFLD("BROWSE")=1
  1. D VIEWR^XBLM(BYIMRTN)
  1. I $D(BYIMQUIT) D Q
  1. .K BYIMQUIT
  1. .W !!,"BROWSE function temporarily unavailable."
  1. .D ZIS1
  1. D CLEAR^VALM1
  1. Q
  1. ;-----