| 1 | LRCAPR1 ;DALOI/PAC/FHS/JBM - WKLD REP GENERATOR-MAIN ;10/15/92 11:15
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;**263**;Sep 27, 1994
 | 
|---|
| 3 | GO ;
 | 
|---|
| 4 |  G TRIAL
 | 
|---|
| 5 | EN ;
 | 
|---|
| 6 |  K DIC,%DT,^TMP("LR",$J),LRCOL,LRCPSX,LRCAPS,LRTSTS,LRSP,LRLOC,LRLDIV
 | 
|---|
| 7 |  K LRSITSEL,DIR
 | 
|---|
| 8 |  S (LRCOL,LRCPSX,LRCAPS,LRTSTS,LRSP,LRLDIV,LRLOC,LREND)=0
 | 
|---|
| 9 |  S LRIOPAT=""
 | 
|---|
| 10 |  Q
 | 
|---|
| 11 | LRINST ;
 | 
|---|
| 12 |  S LRSITNUM=+$P($G(^XMB(1,1,"XUS")),U,17)
 | 
|---|
| 13 |  S LRSITE=$P($G(^DIC(4,LRSITNUM,0)),U) S:LRSITE="" LRSITE="UNKNOWN"
 | 
|---|
| 14 |  S LRSITSEL=0 K DIR S DIR(0)="S^Y:YES;N:NO"
 | 
|---|
| 15 |  S DIR("A")="Do you want to print a specific DIVISION?"
 | 
|---|
| 16 |  S DIR("?")="If you have a multi-divisional institution you might want to print a particular division, otherwise your report will reflect the whole instution which might not be what you have intended."
 | 
|---|
| 17 |  S DIR("B")="NO"
 | 
|---|
| 18 |  D ^DIR Q:$D(DUOUT)!($D(DTOUT))
 | 
|---|
| 19 |  I Y="N" Q
 | 
|---|
| 20 |  S DIC("A")="Select a Division:",DIC=4,DIC(0)="AEMQ"
 | 
|---|
| 21 |  F  D ^DIC Q:Y=-1  S LRSITSEL=+Y,LRSITSEL(+Y)=$S($L($P($G(^DIC(4,+Y,0)),U)):$P(^(0),U),1:"ERROR"_Y)
 | 
|---|
| 22 |  Q
 | 
|---|
| 23 | TRIAL ; entry point for work load lookup
 | 
|---|
| 24 |  D EN,LRINST G:$D(DUOUT)!($D(DTOUT)) EXIT K DIR
 | 
|---|
| 25 |  D ACCN^LRCAPR1A G:Y<0 EXIT
 | 
|---|
| 26 |  D DATE^LRCAPR1A G:Y<0 EXIT S %=2
 | 
|---|
| 27 |  W !,"Do you want to look up by Specimen Type and/or Collection Sample"
 | 
|---|
| 28 |  D YN^DICN G:%<0 EXIT G:%=2 A
 | 
|---|
| 29 |  S DIR(0)="S^S:SPECIMEN TYPE;C:COLLECTION SAMPLE;B:BOTH;A:ALL or ANY (Will not prompt)"
 | 
|---|
| 30 |  S DIR("?")="<All> will not prompt for a specimen or sample"
 | 
|---|
| 31 |  D ^DIR G:$D(DUOUT)!($D(DTOUT)) EXIT G @Y
 | 
|---|
| 32 | B D SPEC^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 33 | C D COLL^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT G A
 | 
|---|
| 34 | S D SPEC^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 35 | A W !,"Do you want to select by TESTS or WKLD CODES (YES or NO )"
 | 
|---|
| 36 |  S %=2 D YN^DICN G:%=-1 EXIT
 | 
|---|
| 37 |  G:%=2 I D ASK G:$D(DUOUT)!($D(DTOUT)) EXIT K DIC,DIR
 | 
|---|
| 38 |  I Y="A" G L
 | 
|---|
| 39 |  I Y="W" D CAP^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT G L
 | 
|---|
| 40 |  D TEST^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 41 | I D INSTR^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 42 | L ;
 | 
|---|
| 43 |  D STAT^LRCAPR1A G:$D(DUOUT)!($D(DTOUT))!(%<0) EXIT
 | 
|---|
| 44 | LOC ;
 | 
|---|
| 45 |  D   G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 46 |  . N DIR S DIR(0)="YO",DIR("A")="Do you want to select Hospital Location ",DIR("B")="Yes"
 | 
|---|
| 47 |  . D ^DIR I Y'=1 S LRLOC="1A" Q
 | 
|---|
| 48 |  . D LOC^LRCAPR1A
 | 
|---|
| 49 | LEDIDIV ;Select LEDI Institution sites
 | 
|---|
| 50 | INST D  G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 51 |  . N DIR,DIC
 | 
|---|
| 52 |  . I LRLOC="1A" S DIR("B")="Yes"
 | 
|---|
| 53 |  . S DIR(0)="YO",DIR("A")="Do you want to select LEDI Collecting Sites "
 | 
|---|
| 54 |  . D ^DIR I Y'=1 S LRLDIV="1A" Q
 | 
|---|
| 55 |  . S DIC=4,DIC(0)="AEMQ",DIC("A")="Select LEDI Collecting Sites : All // "
 | 
|---|
| 56 |  . F I=1:1 D ^DIC Q:Y=-1  S LRLDIV(+Y)=$P(^(0),U),DIC("A")="Select another Site: ",LRLDIV=I
 | 
|---|
| 57 |  I LRLDIV="1A",LRLOC="1A" D  G LOC
 | 
|---|
| 58 |  . W !!?5,"<You HAVEN'T selected any locations> "
 | 
|---|
| 59 |  . S (LRLOC,LRLDIV)=0
 | 
|---|
| 60 |  D IOPAT^LRCAPR1A G:$D(DUOUT)!($D(DTOUT)) EXIT
 | 
|---|
| 61 |  D CONTROL^LRCAPR1A G:LREND EXIT
 | 
|---|
| 62 |  D REPTYP^LRCAPR1A G:LREND EXIT
 | 
|---|
| 63 |  K DIR S DIR(0)="SX^D:DETAILED;C:CONDENSED",DIR("A")="        REPORT"
 | 
|---|
| 64 |  D ^DIR G:$D(DUOUT)!($D(DTOUT)) EXIT S LRANS=Y K DIR
 | 
|---|
| 65 |  K IO("Q") S %ZIS="Q" D ^%ZIS G:POP EXIT I $D(IO("Q")) G QUE
 | 
|---|
| 66 |  D WAIT^DICD
 | 
|---|
| 67 |  U IO D ^LRCAPR2
 | 
|---|
| 68 |  Q
 | 
|---|
| 69 | ASK ;
 | 
|---|
| 70 |  S DIR(0)="S^T:TEST;W:WKLD CODE;A:ALL (means no specific TEST or WKLD CODE )",DIR("A")="Do you want to select by (T)est or (W)KLD Code or (A)ll"
 | 
|---|
| 71 |  S DIR("?")="All means no specified TEST or WKLD code is desired and will take you to the next prompt."
 | 
|---|
| 72 |  S DIR("?",1)="You can only select either by TESTs or by WKLD CODEs"
 | 
|---|
| 73 |  S DIR("?",2)="Choosing ALL will take you to the location prompt right away."
 | 
|---|
| 74 |  S DIR("?",3)="Selecting by WLKD codes will limit you to a particular test only,"
 | 
|---|
| 75 |  S DIR("?",4)="whereas by TEST might give you 1 or more WKLD codes."
 | 
|---|
| 76 |  D ^DIR
 | 
|---|
| 77 |  Q
 | 
|---|
| 78 | QUE ;
 | 
|---|
| 79 |  S ZTSAVE("LR*")="",ZTRTN="LRCAPR2",ZTDESC="WORKLOAD REPORT",ZTIO=ION
 | 
|---|
| 80 |  S:$G(LRSITE) ZTSAVE("LRSITE*")=""
 | 
|---|
| 81 |  S:$G(LRSP) ZTSAVE("LRSP*")="" S:$G(LRCOL) ZTSAVE("LRCOL*")=""
 | 
|---|
| 82 |  S:$G(LRTST) ZTSAVE("LRTST*")="" S:$G(LRCAPS) ZTSAVE("LRCAPS*")=""
 | 
|---|
| 83 |  S:$G(LRCPSX) ZTSAVE("LRCPSX*")="" S:$G(LRLOC) ZTSAVE("LRLOC*")=""
 | 
|---|
| 84 |  S:$G(LRLDIV) ZTSAVE("LRLDIV")=""
 | 
|---|
| 85 |  D ^%ZTLOAD,^%ZISC
 | 
|---|
| 86 |  S LREND=1
 | 
|---|
| 87 | EXIT ;
 | 
|---|
| 88 |  S LREND=1
 | 
|---|
| 89 |  D CLEAN^LRCAPR4 K LRLDIV,LREDT,LRSDT
 | 
|---|
| 90 |  Q
 | 
|---|