- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORPRS07.m
r613 r623 1 ORPRS07 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**281**;Dec 17, 1997;Build 14 3 EN 4 5 6 7 MAIN(ORVP) 8 9 10 11 12 13 14 15 16 17 18 19 EXIT 20 21 22 23 24 25 26 OUTPUT 27 28 29 30 31 32 33 34 35 REPORT(ORVP) 36 37 38 39 . S XQORNOD=$P(ORSRPT(ORSJ),U,2)_";ORD(101,",ORMETHOD=$G(^ORD(101,+XQORNOD,101.05,20,1))40 . I $D(ORSSTRT)>9,+XQORNOD S ORSSTRT=+$G(ORSSTRT(+XQORNOD)),ORH=$P($G(ORSSTRT(+XQORNOD)),U,2)41 . I $D(ORSSTOP)>9,+XQORNOD S ORSSTOP=+$G(ORSSTOP(+XQORNOD)),ORH2=$P($G(ORSSTOP(+XQORNOD)),U,2)42 43 44 45 46 DEVICE 47 48 49 50 51 52 QUE 53 54 55 56 57 58 NOQUE 59 60 61 62 1 ORPRS07 ; slc/dcm - Managing multiple reportz ;6/10/97 15:43 2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;;Dec 17, 1997 3 EN ;Entry point 4 N ORVP 5 D MAIN("") 6 Q 7 MAIN(ORVP) ; Controls branching 8 N DFN,DIC,GMTYP,I,ORANSI,ORDG,OREND,ORH,ORH2,ORPRES,ORSCPAT,ORSDG 9 N ORSHORT,ORSRI,ORSRPT,ORSSTOP,ORSSTRT,ORTIT,ORWHL,VAROOT,XQORSPEW,X,Y 10 N ORAGE,ORATTEND,ORDOB,ORL,ORNP,ORPD,ORPNM,ORPV,ORSEX,ORSSN,ORTS,ORWARD 11 N ORSDG,ORURMBD,ORX,ORCONT,OROPREF 12 I '+$G(ORVP) D P^ORPRS01 Q:$D(ORSCPAT)'>9 13 S ORANSI=0,XQORFLG("SH")=1 14 S (ORANSI,OREND,X)=0 15 I +$G(ORSCPAT)=1,+$G(ORSCPAT(1)) S ORVP=+$G(ORSCPAT(1))_";DPT(",Y=+ORVP D HOMO^ORUDPA 16 S DIC=101 S X="ORS REPORT MENU" D EN^XQOR 17 K VA200,VAERR,VAIN,VADM 18 Q 19 EXIT ; Queue output 20 N DUOUT,ORSRI,ORSRPT,ZTDESC,ZTRTN,ZTSAVE S OREND=+$G(OREND) 21 S ORSRI=0 F S ORSRI=$O(Y(ORSRI)) Q:ORSRI'>0 S ORSRPT=ORSRI,ORSRPT(ORSRI)=Y(ORSRI) 22 I $S($D(XQORPOP):1,$G(OREND)=1:1,$D(DUOUT):1,$D(DIROUT):1,'$D(ORSRPT):1,'$D(ORSCPAT)&'+$G(ORVP):1,1:0) Q 23 S (ZTSAVE("OR*"),ZTSAVE("GM*"),ZTSAVE("LR*"))="",IO("Q")=1 24 S ZTRTN="OUTPUT^ORPRS07",ZTDESC="Results Reporting" W ! D DEVICE 25 Q 26 OUTPUT ; Loops through ORSRPT( and queues each report 27 N DIROUT,DIRUT,ORH,ORH2,ORMETHOD,ORSEND,ORSHORT,ORSI,ORSJ,ORSRI,ORTIT,ORWHL,X 28 N XQORNOD,XQORSPEW,XY,ORSLTR,ORSPNM,ORDG,ORION S ORION=$G(ION) 29 I +$G(ORVP) D REPORT(ORVP) K OROLOC,ORSSTOP,ORSSTRT,VAROOT,VA,X1 Q 30 S ORSI=0 F S ORSI=$O(ORSCPAT(ORSI)) Q:ORSI'>0!($G(DIROUT))!($$S^%ZTLOAD) S:'$O(ORSCPAT(ORSI)) ORSEND=1 D 31 . S ORVP=+ORSCPAT(ORSI)_";DPT(",ORSPNM=$P(ORSCPAT(ORSI),U,2) 32 . D REPORT(ORVP) 33 K ORNO,ORSPG 34 Q 35 REPORT(ORVP) ; Loops through ORSRPT( and prints all reports for ea patient 36 N ORSJ,ORSSTFLG,XQORNOD 37 U IO 38 S ORSJ=0 F S ORSJ=$O(ORSRPT(ORSJ)) Q:ORSJ'>0!+$G(DIROUT)!$G(OREND) D 39 . S XQORNOD=$P(ORSRPT(ORSJ),U,2),ORMETHOD=$G(^ORD(101,+XQORNOD,101.05,20,1)) 40 . I $D(ORSSTRT)>9,+XQORNOD S ORSSTRT=+$G(ORSSTRT(XQORNOD)),ORH=$P($G(ORSSTRT(XQORNOD)),U,2) 41 . I $D(ORSSTOP)>9,+XQORNOD S ORSSTOP=+$G(ORSSTOP(XQORNOD)),ORH2=$P($G(ORSSTOP(XQORNOD)),U,2) 42 . I $D(ORSDG(+XQORNOD)) S ORDG=$G(ORSDG(+XQORNOD)) 43 . I $L(ORMETHOD) X ORMETHOD I $G(ION)'=ORION S IOP=ORION D ^%ZIS 44 . I +$G(ORSSTFLG) D STOP^ORPRS01 S ORSSTFLG=0 45 Q 46 DEVICE ; Device Handling/Output control 47 N IO,IOP,%ZIS 48 S %ZIS="Q",%ZIS("B")="HOME" D ^%ZIS Q:POP 49 I +$G(ORSRPT)>1,(IO'=IO(0)),'$D(IO("Q")) W !,"Printing of multiple reports requires queueing.",! 50 D @$S(+$G(ORSRPT)>1&(IO'=IO(0)):"QUE",$D(IO("Q")):"QUE",1:"NOQUE") 51 Q 52 QUE ; Set ZT parameters and tasks ZTRTN 53 N ZTIO K IO("Q") 54 S ZTIO=ION 55 D ^%ZTLOAD W !,$S($D(ZTSK):"Request Queued!",1:"Request Cancelled!") 56 K ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE D ^%ZISC 57 Q 58 NOQUE ; Calls ZTRTN in interactive mode 59 I IO'=IO(0) U IO 60 D @ZTRTN 61 D ^%ZISC 62 Q
Note:
See TracChangeset
for help on using the changeset viewer.