[613] | 1 | LA7SMP0 ;DALOI/JMC - Shipping Manifest Print (Cont'd);11/25/96 14:39
|
---|
| 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**46,64**;Sep 27, 1994
|
---|
| 3 | ;
|
---|
| 4 | HED ; Header
|
---|
| 5 | I $E(IOST,1,2)="C-" D TERM Q:$G(LA7EXIT)
|
---|
| 6 | I LA7PAGE W @IOF S $X=0
|
---|
| 7 | S LA7PAGE=LA7PAGE+1
|
---|
| 8 | I +LA7SMST'=4,IOM<132 D WARN
|
---|
| 9 | ;
|
---|
| 10 | W !,?1,"Shipping Manifest: ",$P(LA7SM,"^",2)
|
---|
| 11 | I +LA7SMST'=4,IOM'<132 D WARN
|
---|
| 12 | ;
|
---|
| 13 | W ?IOM-37," Page: ",LA7PAGE
|
---|
| 14 | W !,?11,"to Site: ",LA7TSITE
|
---|
| 15 | W ?IOM-40," Printed: ",LA7NOW
|
---|
| 16 | W !,?9,"from Site: ",LA7FSITE
|
---|
| 17 | ;
|
---|
| 18 | I +LA7SMST=4 W !,?6,"Date Shipped: ",$P(LA7SDT,"^",2)
|
---|
| 19 | E W !,?12,"Status: ",$P(LA7SMST,"^",2)
|
---|
| 20 | W ?IOM-41," Ship via: ",LA7SVIA
|
---|
| 21 | ;
|
---|
| 22 | ; Check if task has been asked to stop.
|
---|
| 23 | I $D(ZTQUEUED),$$S^%ZTLOAD D Q
|
---|
| 24 | . S (LA7EXIT,ZTSTOP)=1
|
---|
| 25 | . W !!,"*** Report requested to stop by TaskMan ***"
|
---|
| 26 | . W !,"*** Task #",$G(ZTQUEUED,"UNKNOWN")," stopped at ",$$HTE^XLFDT($H)," ***"
|
---|
| 27 | ;
|
---|
| 28 | ; Print shipping receipt
|
---|
| 29 | I $P(LA7SMR,"^",2) D Q
|
---|
| 30 | . W !,LA7LINE
|
---|
| 31 | . I $P(LA7SMR,"^",2)=2 W !!,"Following Required Information and/or Test Codes Missing",!!
|
---|
| 32 | ;
|
---|
| 33 | W !,"Shipping Condition: ",$S(LA7SCOND:$$GET1^DIQ(62.93,LA7SCOND_",",.01),1:"None Specified")
|
---|
| 34 | W ?(IOM-42)," Container: ",$S(LA7SCONT:$$GET1^DIQ(62.91,LA7SCONT_",",.01),1:"None Specified")
|
---|
| 35 | ;
|
---|
| 36 | I $L($P(LA7SCFG(0),"^",13)) W !,?4,"Account Number: ",$P(LA7SCFG(0),"^",13)
|
---|
| 37 | ;
|
---|
| 38 | I LA7SBC D SBC1
|
---|
| 39 | W !!,?11,"Patient Name",?41,"Patient ID",?64,"Accession"
|
---|
| 40 | I IOM>131 W ?86,"Requested By"
|
---|
| 41 | W !,?11,"Date of Birth",?41,"Sex",?64,"Specimen UID"
|
---|
| 42 | I IOM>131 W ?86,"Collect Date/Time"
|
---|
| 43 | I IOM'>131 W !,?11,"Requested By",?41,"Collect Date/Time"
|
---|
| 44 | W !,LA7LINE
|
---|
| 45 | Q
|
---|
| 46 | ;
|
---|
| 47 | ;
|
---|
| 48 | SH ; Subheader
|
---|
| 49 | W !,"Item: ",LA7ITEM
|
---|
| 50 | W ?11,PNM
|
---|
| 51 | ;I LRDPF=2,LA7ICN W ?41,LA7ICN
|
---|
| 52 | ;E W ?41,$S(LRDPF=2:SSN,1:SSN(2))
|
---|
| 53 | W ?41,$S(LRDPF=2:SSN,1:SSN(2))
|
---|
| 54 | W ?64,LA7ACC
|
---|
| 55 | I IOM>131 W ?86,$P(LA7PROV,"^",2)
|
---|
| 56 | W !
|
---|
| 57 | I LA7DC W "Cont'd"
|
---|
| 58 | W ?11,$$FMTE^XLFDT(DOB),?41,$S(SEX="M":"Male",SEX="F":"Female",SEX="":"Unknown",1:SEX),?64,LA7UID
|
---|
| 59 | I IOM'>131 W !,?11,$E($P(LA7PROV,"^",2),1,28),?41,$S(LA7CDT:$$FMTE^XLFDT(LA7CDT,"1M"),1:LA7CDT)
|
---|
| 60 | I IOM>131 W ?86,$S(LA7CDT:$$FMTE^XLFDT(LA7CDT,"1M"),1:LA7CDT)
|
---|
| 61 | W !
|
---|
| 62 | I +LA7SMST'=4 D
|
---|
| 63 | . D PROV(+LA7PROV)
|
---|
| 64 | . I $P($G(LA762801(0)),"^",6) D
|
---|
| 65 | . . S X=$$GET1^DIQ(62.91,$P(LA762801(0),"^",6),.01)
|
---|
| 66 | . . W !,?11,"Specimen Container: ",X
|
---|
| 67 | ;
|
---|
| 68 | ; Print collection sample if micro
|
---|
| 69 | I $G(LA7AA),$P($G(^LRO(68,LA7AA,0)),"^",2)="MI" W !,?11,"Collection sample: ",$P(LA762(0),"^")
|
---|
| 70 | ;
|
---|
| 71 | S LA7X=$G(^TMP("LA7SMRI",$J,LA7SCOND,LA7SCONT,LA7UID,1))
|
---|
| 72 | I $P(LA7X,"^") D
|
---|
| 73 | . W !,?11,"Patient Height: ",$P(LA7X,"^",2)," ",$$GET1^DIQ(64.061,+$P(LA7X,"^",3)_",",.01)
|
---|
| 74 | I $P(LA7X,"^",4) D
|
---|
| 75 | . I $P(LA7X,"^") W ?40
|
---|
| 76 | . E W !,?11
|
---|
| 77 | . W "Patient Weight: ",$P(LA7X,"^",5)," ",$$GET1^DIQ(64.061,+$P(LA7X,"^",6)_",",.01)
|
---|
| 78 | ;
|
---|
| 79 | S LA7X=$G(^TMP("LA7SMRI",$J,LA7SCOND,LA7SCONT,LA7UID,2))
|
---|
| 80 | I $P(LA7X,"^") D
|
---|
| 81 | . W !,?11,"Collection Volume: ",$P(LA7X,"^",2)," ",$$GET1^DIQ(64.061,+$P(LA7X,"^",3)_",",.01)
|
---|
| 82 | I $P(LA7X,"^",8) D
|
---|
| 83 | . I $P(LA7X,"^") W ?40
|
---|
| 84 | . E W !,?11
|
---|
| 85 | . W "Collection Weight: ",$P(LA7X,"^",9)," ",$$GET1^DIQ(64.061,+$P(LA7X,"^",10)_",",.01)
|
---|
| 86 | I $P(LA7X,"^",4) D
|
---|
| 87 | . W !,?11,"Collection End Date/Time: ",$$FMTE^XLFDT($P(LA7X,"^",5),"1M")
|
---|
| 88 | . W " (Duration: ",$P(LA7X,"^",6)," ",$$GET1^DIQ(64.061,+$P(LA7X,"^",7)_",",.01),")"
|
---|
| 89 | ;
|
---|
| 90 | I LA7SBC D SBC2
|
---|
| 91 | S LA7DC=0
|
---|
| 92 | Q
|
---|
| 93 | ;
|
---|
| 94 | ;
|
---|
| 95 | WARN ; Write warning for work copy.
|
---|
| 96 | W ?$S(IOM<131:5,1:40),"*** DO NOT USE FOR SHIPPING DOCUMENT - WORK COPY ONLY ***"
|
---|
| 97 | Q
|
---|
| 98 | ;
|
---|
| 99 | ;
|
---|
| 100 | SBC1 ; Site bar codes
|
---|
| 101 | ;
|
---|
| 102 | ; Print "SM" bar code
|
---|
| 103 | ; Calculate/append LPC to barcode.
|
---|
| 104 | I $G(LA7SM("BARCODE"))="" D
|
---|
| 105 | . N LA7X,X,Y
|
---|
| 106 | . I LA7SBC=1 D
|
---|
| 107 | . . S LA7X="STX^SITE^"_LA7FSITE(99)_"^"_$P($G(LA7SDT),"^")_"^"_$P(LA7SM,"^",2)_"^ETX"
|
---|
| 108 | . I LA7SBC=2 D
|
---|
| 109 | . .S LA7X="SITE^"_LA7FSITE(99)_"^"_$P($G(LA7SDT),"^")_"^"_$P(LA7SM,"^",2)_"^"
|
---|
| 110 | . S X=LA7X X ^%ZOSF("LPC") S LA7SM("LPC")=Y,LA7SM("BARCODE")=LA7X_Y
|
---|
| 111 | ;
|
---|
| 112 | W !,?18,"SM: ",$$BC128^LA7SBC(LA7SM("BARCODE"),1,60,"","",2),!
|
---|
| 113 | ;
|
---|
| 114 | Q
|
---|
| 115 | ;
|
---|
| 116 | ;
|
---|
| 117 | SBC2 ; Patient bar codes
|
---|
| 118 | ;
|
---|
| 119 | N LA7SDATA
|
---|
| 120 | ;
|
---|
| 121 | ; Print "PD" bar code
|
---|
| 122 | I LA7SBC=1 D
|
---|
| 123 | . S LA7SDATA="STX^PD^"_SSN(2)_"^"_LA7FSITE(99)_"^"_LA7UID_"^"_$G(SEX)_"^"_LA7CDT_"^ETX"_$G(LA7SM("LPC"))
|
---|
| 124 | ;
|
---|
| 125 | I LA7SBC=2 D
|
---|
| 126 | . S LA7SDATA="PD^"_SSN(2)_"^"_LA7FSITE(99)_"^"_LA7UID_"^"_LA7CDT_"^"_$G(LA7SM("LPC"))
|
---|
| 127 | ;
|
---|
| 128 | W !!,?18,"PD: ",$$BC128^LA7SBC(LA7SDATA,1,60,"","",2),!
|
---|
| 129 | W !,?11,$E(LA7LINE,1,69)
|
---|
| 130 | ;
|
---|
| 131 | ; Print "PD1" bar code
|
---|
| 132 | I LA7SBC=1 D
|
---|
| 133 | . S LA7SDATA="STX^PD1^"_SSN(2)_"^"_PNM_"^"_DOB_"^ETX"_$G(LA7SM("LPC"))
|
---|
| 134 | I LA7SBC=2 D
|
---|
| 135 | . S LA7SDATA="PD1^"_SSN(2)_"^"_PNM_"^"_DOB_"^"_SEX_"^"_$G(LA7SM("LPC"))
|
---|
| 136 | ;
|
---|
| 137 | W !,?$S(IOM<131:18,1:50),"PD1: ",$$BC128^LA7SBC(LA7SDATA,1,60,"","",2),!
|
---|
| 138 | ;
|
---|
| 139 | Q
|
---|
| 140 | ;
|
---|
| 141 | ;
|
---|
| 142 | CMT ; Print comments on manifest
|
---|
| 143 | ;
|
---|
| 144 | N LA7I
|
---|
| 145 | F LA7I=1:1:LA7CMT D Q:LA7EXIT
|
---|
| 146 | . I ($Y+4)>IOSL D Q:LA7EXIT
|
---|
| 147 | . . I LA7PAGE W ! D WARN
|
---|
| 148 | . . D HED
|
---|
| 149 | . W !,?11,LA7CMT(LA7I,0)
|
---|
| 150 | Q
|
---|
| 151 | ;
|
---|
| 152 | ;
|
---|
| 153 | PTID ; Get/setup patient identifier information
|
---|
| 154 | ;
|
---|
| 155 | S DFN=+$P(^LR(LRDFN,0),U,3),LRDPF=+$P(^(0),U,2) D PT^LRX
|
---|
| 156 | ;
|
---|
| 157 | ; Integration control number (ICN) from MPI
|
---|
| 158 | S LA7ICN=""
|
---|
| 159 | S X="MPIF001" X ^%ZOSF("TEST")
|
---|
| 160 | I $T,LRDPF=2 D
|
---|
| 161 | . S LA7ICN=$$GETICN^MPIF001(DFN)
|
---|
| 162 | . I LA7ICN<1 S LA7ICN=""
|
---|
| 163 | Q
|
---|
| 164 | ;
|
---|
| 165 | ;
|
---|
| 166 | PROV(LA7OP) ; Print ordering provider contact on working copy
|
---|
| 167 | ; Call with LA7OP = provider's file #200 ien
|
---|
| 168 | ;
|
---|
| 169 | N LRERR,X,Y
|
---|
| 170 | I LA7OP D GETS^DIQ(200,LA7OP_",",".132;.137;.138","E","LA7OP(LA7OP)","LRERR")
|
---|
| 171 | I '$D(LA7OP(LA7OP)) Q
|
---|
| 172 | S X="Requestor's "
|
---|
| 173 | I LA7OP(LA7OP,200,LA7OP_",",.132,"E")'="" D
|
---|
| 174 | . W !,?11,X,"Phone: ",LA7OP(LA7OP,200,LA7OP_",",.132,"E")
|
---|
| 175 | . S X=""
|
---|
| 176 | I LA7OP(LA7OP,200,LA7OP_",",.137,"E")'="" D
|
---|
| 177 | . S Y=0
|
---|
| 178 | . I X="" S Y=$L(LA7OP(LA7OP,200,LA7OP_",",.137,"E"))+$X+16
|
---|
| 179 | . I Y>IOM!(X'="") W !,?11
|
---|
| 180 | . E S X=" "_X
|
---|
| 181 | . W X,"Voice Pager: ",LA7OP(LA7OP,200,LA7OP_",",.137,"E")
|
---|
| 182 | . S X=""
|
---|
| 183 | I LA7OP(LA7OP,200,LA7OP_",",.138,"E")'="" D
|
---|
| 184 | . S Y=0
|
---|
| 185 | . I X="" S Y=$L(LA7OP(LA7OP,200,LA7OP_",",.138,"E"))+$X+18
|
---|
| 186 | . I Y>IOM!(X'="") W !,?11
|
---|
| 187 | . E S X=" "_X
|
---|
| 188 | . W X,"Digital Pager: ",LA7OP(LA7OP,200,LA7OP_",",.138,"E")
|
---|
| 189 | . S X=""
|
---|
| 190 | ;
|
---|
| 191 | I X="" W !
|
---|
| 192 | Q
|
---|
| 193 | ;
|
---|
| 194 | ;
|
---|
| 195 | TERM ;
|
---|
| 196 | I 'LA7PAGE W @IOF S $X=0 Q
|
---|
| 197 | ;
|
---|
| 198 | N DIR,DIRUT,DTOUT,DUOUT,X,Y
|
---|
| 199 | S DIR(0)="E" D ^DIR S:$D(DIRUT) LA7EXIT=1
|
---|
| 200 | Q
|
---|
| 201 | ;
|
---|
| 202 | ;
|
---|
| 203 | INIT ; Initialize variables
|
---|
| 204 | ;
|
---|
| 205 | S DT=$$DT^XLFDT
|
---|
| 206 | S LA7QUIT=0
|
---|
| 207 | ;
|
---|
| 208 | ; Select shipping configuration
|
---|
| 209 | S LA7SCFG=$$SSCFG^LA7SUTL(0)
|
---|
| 210 | I LA7SCFG<1 S LA7QUIT=1 Q
|
---|
| 211 | S LA7SCFG(0)=$G(^LAHM(62.9,+LA7SCFG,0))
|
---|
| 212 | Q
|
---|
| 213 | ;
|
---|
| 214 | END ;
|
---|
| 215 | I $E(IOST,1,2)="C-",'$G(LA7EXIT) D TERM
|
---|
| 216 | I $E(IOST,1,2)="P-" W @IOF S IONOFF=""
|
---|
| 217 | I '$D(ZTQUEUED) D ^%ZISC
|
---|
| 218 | ;
|
---|
| 219 | KILL ; Cleanup variables
|
---|
| 220 | K %,%DT,%ZIS,A,IO("Q"),AGE,DA,DFN,DIC,DIB,DIR,DIRUT,DTOUT,DUOUT,I,J,K,LAST,PNM,SEX,SSN,X,Y,Z
|
---|
| 221 | K LA7AA,LA7ACC,LA7AD,LA7AN,LA7CDT,LA7CHK,LA7CMT,LA7DC,LA7END,LA7ERR,LA7EV,LA7EXIT,LA7FSITE,LA7I,LA7ICN,LA7ITEM,LA7LINE,LA7NLT,LA7NLTN,LA7NOW,LA7PAGE,LA7PROV
|
---|
| 222 | K LA7QUIT,LA7ROOT,LA7SBC,LA7SCFG,LA7SCOND,LA7SCONT,LA7SDT,LA7SKIP,LA7SM,LA7SMR,LA7SMST,LA7SPEC,LA7SVIA,LA7TSITE,LA7UID,LA7X
|
---|
| 223 | K LA760,LA762801
|
---|
| 224 | K LRDFN,LRDPF,LRPRAC
|
---|
| 225 | K ^TMP("LA7ERR",$J),^TMP("LA7SM",$J),^TMP("LA7SMRI",$J)
|
---|
| 226 | D KVAR^LRX
|
---|
| 227 | ;
|
---|
| 228 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
| 229 | Q
|
---|