| 1 | LRLNCPRT ;DALOI/FHS - PRINT WKLD/NLT CODE LOINC MAPPINGS ;1-OCT-1998 | 
|---|
| 2 | ;;5.2;LAB SERVICE;**215,278**;Sep 27,1994 | 
|---|
| 3 | EN ; | 
|---|
| 4 | W @IOF,!! S LREND=0 | 
|---|
| 5 | W $$CJ^XLFSTR("This option will print WORKLOAD CODES and their LOINC CODES.",IOM) | 
|---|
| 6 | W !,$$CJ^XLFSTR("You may use the option 'MAP LOINC TEST TO NLT' to make necessary changes.",IOM) | 
|---|
| 7 | ASK ; | 
|---|
| 8 | K DIR S DIR(0)="S^1:Ready to print WORKLOAD CODES MAPPED TO LOINC;2:Abort" | 
|---|
| 9 | D ^DIR K DIR | 
|---|
| 10 | G END:$S($G(DIRUT):1,$G(DUOUT):1,$G(DTOUT):1,Y=2:1,1:0) | 
|---|
| 11 | S LRSEL=Y K %ZIS S %ZIS="Q" D ^%ZIS | 
|---|
| 12 | G END:POP | 
|---|
| 13 | I IO'=IO(0) S ZTRTN="DQ^LRLNCPRT",ZTIO=ION,ZTDESC="Print WKLD CODES MAPPED TO LOINC",ZTSAVE("LRSEL")="" D ^%ZTLOAD I $D(ZTSK)'[0 W !!?5," Tasked to Print on : ",ION G END | 
|---|
| 14 | W @IOF D DQ G END | 
|---|
| 15 | Q | 
|---|
| 16 | DQ ; | 
|---|
| 17 | N DIR,LREND | 
|---|
| 18 | S $P(LRLINE,"=",IOM)="",LRTOP=1 | 
|---|
| 19 | S:$D(ZTQUEUED) ZTREQ="@" S LRPDT=$$FMTE^XLFDT($$NOW^XLFDT,"1P") | 
|---|
| 20 | S (LRPAGE,LRCNT,LREND)=0 | 
|---|
| 21 | D HDR | 
|---|
| 22 | S LRNODE="^LAM(""B"",0)",LRCNT=0 | 
|---|
| 23 | F  S LRNODE=$Q(@LRNODE) Q:$QS(LRNODE,1)'="B"  Q:$G(LREND)  D | 
|---|
| 24 | . Q:$G(@LRNODE)!($G(LREND)) | 
|---|
| 25 | . S LRIEN=+$QS(LRNODE,3) | 
|---|
| 26 | . S LRX=$G(^LAM(LRIEN,0)) Q:$P(LRX,U,2)="" | 
|---|
| 27 | . D SPEC(LRIEN,1) | 
|---|
| 28 | D END | 
|---|
| 29 | Q | 
|---|
| 30 | SPEC(LRIEN,LRTOP) ; | 
|---|
| 31 | N LRCK | 
|---|
| 32 | Q:'$D(^LAM(LRIEN,0))#2!($P($G(^LAM(LRIEN,0)),U,2)="")  S LRNAME=$P(^(0),U),LRCN=$P(^(0),U,2) | 
|---|
| 33 | Q:'$O(^LAM(LRIEN,5,0)) | 
|---|
| 34 | D TOP Q:$G(LREND) | 
|---|
| 35 | S LRSPEC=0 F  S LRSPEC=+$O(^LAM(LRIEN,5,LRSPEC)) Q:LRSPEC<1!($G(LREND))  D | 
|---|
| 36 | . D TOP Q:$G(LREND) | 
|---|
| 37 | . S (LRCK,LRASP)=0 F  S LRASP=+$O(^LAM(LRIEN,5,LRSPEC,1,LRASP)) Q:LRASP<1  D | 
|---|
| 38 | . . D TOP Q:$G(LREND)  S LRCK=1 | 
|---|
| 39 | . . S LRX=+$G(^LAM(LRIEN,5,LRSPEC,1,LRASP,1)) | 
|---|
| 40 | . . I '$D(^LAB(95.3,LRX,0))!('$D(^LAB(95.3,LRX,80))) D  Q | 
|---|
| 41 | . . . W !?5,"*** WKLD CODE ",LRCN," ***",!?10," [ ",LRNAME," ] IS CORRUPTED ",! | 
|---|
| 42 | . . D TOP Q:$G(LREND) | 
|---|
| 43 | . . W !?2,LRIEN,?12,LRCN_"  "_LRNAME | 
|---|
| 44 | . . W !?5,"Specimen: ",$P($G(^LAB(61,LRSPEC,0)),U) | 
|---|
| 45 | . . W !?10,"Collection Type: ",$P($G(^LAB(64.061,LRASP,0)),U) | 
|---|
| 46 | . . W !,"LOINC= ",LRX," [",$G(^LAB(95.3,LRX,80)),"]" | 
|---|
| 47 | . . S LRCNT=LRCNT+1 | 
|---|
| 48 | W:$G(LRCK) !,LRLINE | 
|---|
| 49 | Q | 
|---|
| 50 | END ; | 
|---|
| 51 | I $G(LRCNT) W !?15,"Total Number of Mapped WKLD CODES/Specimens: ",LRCNT,! | 
|---|
| 52 | I $E(IOST)="P-" W @IOF | 
|---|
| 53 | D ^%ZISC | 
|---|
| 54 | K DIR,DIRUT,DUOUT,LRC,LRCNT,LREND,LRIEN,LRNAME,LRNODE,LRPAGE | 
|---|
| 55 | K LRPDT,LRSEL,LRX,POP,ZTIO,ZTDESC,ZTRTN,ZTSAVE | 
|---|
| 56 | ; | 
|---|
| 57 | Q | 
|---|
| 58 | TOP ; | 
|---|
| 59 | Q:$G(LREND) | 
|---|
| 60 | Q:$Y<(IOSL-4) | 
|---|
| 61 | I $E(IOST,1,2)="C-" D  Q:$G(LREND) | 
|---|
| 62 | . S DIR(0)="E" D ^DIR | 
|---|
| 63 | . S:$S($G(DIRUT):1,$G(DUOUT):1,1:0) LREND=1 | 
|---|
| 64 | HDR ; | 
|---|
| 65 | I $G(LRPAGE) W @IOF | 
|---|
| 66 | S LRPAGE=$G(LRPAGE)+1 | 
|---|
| 67 | Q:'$G(LRTOP) | 
|---|
| 68 | W !,$$CJ^XLFSTR("Alphabetical Listing of Workload (WKLD) CODES ",IOM) | 
|---|
| 69 | W !,$$CJ^XLFSTR("that are Mapped to LOINC Codes.",IOM) | 
|---|
| 70 | W !,?5,LRPDT,?60,"Page: ",LRPAGE | 
|---|
| 71 | W !!,"NLT IEN #        WKLD CODE Name ",! | 
|---|
| 72 | Q | 
|---|