| [613] | 1 | LRCAPES ;DALOI/FHS/KLL -MANUAL PCE CPT WORKLOAD CAPTURE ;07/30/04 | 
|---|
|  | 2 | ;;5.2;LAB SERVICE;**274,259,349,308**;Sep 27, 1994 | 
|---|
|  | 3 | ;Reference to $$GET^XUA4A72 - Supported by DBIA #1625 | 
|---|
|  | 4 | EN ; | 
|---|
|  | 5 | D EN^LRCAPES1 | 
|---|
|  | 6 | Q | 
|---|
|  | 7 | EX1 ;Parse the read entry | 
|---|
|  | 8 | N LRXY,LRACTV,LRXY1,LRXY2,LRD2,LRNR,LRWL2,LRINA2,LRREL2,LRQ | 
|---|
|  | 9 | Q:'$L($G(LRX)) | 
|---|
|  | 10 | ;Edit on 5-digit code entry | 
|---|
|  | 11 | I LRX?5N,'$D(^TMP("LR",$J,"AK",LRX))#2 D  Q | 
|---|
|  | 12 | .S LRXY=$$CPT^ICPTCOD(LRX,DT) | 
|---|
|  | 13 | .D CHKCPT^LRCAPES1 | 
|---|
|  | 14 | .;Don't pass to PCE if CPT is missing or inactive in #81 or #64 | 
|---|
|  | 15 | .Q:'$P(LRXY,U,7)!(LRNR) | 
|---|
|  | 16 | .;If CPT is inactive in #64 and another active CPT exists, replace | 
|---|
|  | 17 | .;      the inactive with the active CPT | 
|---|
|  | 18 | .I LRACTV D  Q | 
|---|
|  | 19 | ..S LRXY=$$CPT^ICPTCOD(LRXY2,DT) | 
|---|
|  | 20 | ..S LRCNT=+$G(LRCNT)+1 | 
|---|
|  | 21 | ..S ^TMP("LR",$J,"LRLST",LRCNT)=$P(LRXY,U)_U_LRWL2_U_$P(LRXY,U,3)_U | 
|---|
|  | 22 | ..S LRRF64=$S($G(LRRF64):LRRF64_LRXY1_"\"_LRXY2_",",1:LRXY1_"\"_LRXY2_",") | 
|---|
|  | 23 | ..;If CPT passes edits, continue | 
|---|
|  | 24 | .S LRCNT=+$G(LRCNT)+1 | 
|---|
|  | 25 | .S ^TMP("LR",$J,"LRLST",LRCNT)=$P(LRXY,U)_"^^"_$P(LRXY,U,3)_U | 
|---|
|  | 26 | ;Edit on ES Display Order # entry | 
|---|
|  | 27 | S LRQ="^TMP(""LR"","_$J_",""AK"","_LRX_")" | 
|---|
|  | 28 | S LRQ=$Q(@LRQ) | 
|---|
|  | 29 | S LRXY=$$CPT^ICPTCOD($QS(LRQ,6),DT) | 
|---|
|  | 30 | D CHKCPT^LRCAPES1 | 
|---|
|  | 31 | Q:'$P(LRXY,U,7)!(LRNR) | 
|---|
|  | 32 | ;If CPT is inactive in #64 and another active CPT exists, replace | 
|---|
|  | 33 | ;      the inactive with the active CPT | 
|---|
|  | 34 | I LRACTV D  Q | 
|---|
|  | 35 | .S LRXY=$$CPT^ICPTCOD(LRXY2,DT) | 
|---|
|  | 36 | .S LRCNT=+$G(LRCNT)+1 | 
|---|
|  | 37 | .S ^TMP("LR",$J,"LRLST",LRCNT)=$P(LRXY,U)_U_LRWL2_U_$P(LRXY,U,3)_U | 
|---|
|  | 38 | .S LRRF64=$S($G(LRRF64):LRRF64_LRXY1_"\"_LRXY2_",",1:LRXY1_"\"_LRXY2_",") | 
|---|
|  | 39 | .;I CPT passes edits, continue | 
|---|
|  | 40 | S LRCNT=+$G(LRCNT)+1 | 
|---|
|  | 41 | S ^TMP("LR",$J,"LRLST",LRCNT)=$QS(LRQ,6)_U_@LRQ | 
|---|
|  | 42 | Q | 
|---|
|  | 43 | END1 ; | 
|---|
|  | 44 | D END S LREND=1 | 
|---|
|  | 45 | Q | 
|---|
|  | 46 | END ; | 
|---|
|  | 47 | I $G(LRAA),$G(LRAD),$G(LRAN) L -^LRO(68,LRAA,1,LRAD,1,LRAN) | 
|---|
|  | 48 | K:'$G(LRESCPT) ^TMP("LR",$J,"AK") | 
|---|
|  | 49 | I $G(LRDEBUG) W !,"END ",! Q | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | WLN ;Interactive entry point | 
|---|
|  | 52 | D KVA^VADPT | 
|---|
|  | 53 | K DIC,DIR | 
|---|
|  | 54 | K LREND,LRUID,DIC,DIR,LRVBY | 
|---|
|  | 55 | K ^TMP("LR",$J,"LRLST") | 
|---|
|  | 56 | K LRAA,LRACC,LRAD,LRAN,LRDFN,LRDPF,LRIDT | 
|---|
|  | 57 | K LRRB,LRSS,LRTIME,LRTREA,LRUID,LRWRD,PNM,SEX,SSN,AGE | 
|---|
|  | 58 | S (LRAA,LRACC,LRAD,LRNOP,LRAN,LREND)=0,LRVBY=1,LRUID="" | 
|---|
|  | 59 | S:'$G(LRPRO) LRPRO=DUZ | 
|---|
|  | 60 | I '$G(LRESCPT) S LRVBY=$$SELBY^LRWU4("Select Accession By") | 
|---|
|  | 61 | D:LRVBY=1 ^LRVERA D:LRVBY=2 UID^LRVERA | 
|---|
|  | 62 | I 'LRVBY!(LRAA<1) D END S LREND=1 Q | 
|---|
|  | 63 | S LRDFN=+$$GET1^DIQ(68.02,+$G(LRAN)_","_+$G(LRAD)_","_+$G(LRAA)_",",.01) | 
|---|
|  | 64 | I 'LRDFN D END S LRNOP=1 D  Q | 
|---|
|  | 65 | . W !?5,"This accession is corrupt",! | 
|---|
|  | 66 | LCK ; | 
|---|
|  | 67 | L +^LRO(68,LRAA,1,LRAD,1,LRAN):10 I '$T D  Q | 
|---|
|  | 68 | . W !?5,"Someone else is editing this accession",! | 
|---|
|  | 69 | . S LRNOP=1 | 
|---|
|  | 70 | D PT^LRX | 
|---|
|  | 71 | S LRUID=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",16) | 
|---|
|  | 72 | S LRLLOCX=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",6) | 
|---|
|  | 73 | S LRSPECID="Acc #: "_$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",15,"E") | 
|---|
|  | 74 | S:$L($G(LRUID)) LRSPECID=LRSPECID_"  UID: "_LRUID | 
|---|
|  | 75 | S LREDT=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",9,"I") | 
|---|
|  | 76 | I LREDT'?7N.E D  Q | 
|---|
|  | 77 | . W !?5,"This accession does not have a Collection Date/Time",! | 
|---|
|  | 78 | . W !?10,"CAN NOT PROCEED",! | 
|---|
|  | 79 | . S LRNOP="6^Not Accessioned" | 
|---|
|  | 80 | I '$G(LRIDT) S LRIDT=+$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",13.5,"I") | 
|---|
|  | 81 | S LRCDT="Collection Date: "_$$FMTE^XLFDT(LREDT,1) | 
|---|
|  | 82 | I '$L($G(LRSS)) S LRSS=$$GET1^DIQ(68,LRAA_",",.02,"I") | 
|---|
|  | 83 | S LRDSSLOC=+$$GET1^DIQ(68,LRAA_",",.8,"I") | 
|---|
|  | 84 | S LRDSSLOC=$S($G(LRDSSLOC):LRDSSLOC,1:LRDLOC) | 
|---|
|  | 85 | D DEM^LRCAPES1 | 
|---|
|  | 86 | PRO ;Get provider,patient/location information | 
|---|
|  | 87 | S LREND=0 | 
|---|
|  | 88 | D | 
|---|
|  | 89 | . N LRPRONM,DIR,DIRUT,DUOUT,X,Y | 
|---|
|  | 90 | . S LRPRONM=$$GET1^DIQ(200,+$G(LRPRO),.01,"I") | 
|---|
|  | 91 | . I $L(LRPRONM),$D(^VA(200,"AK.PROVIDER",LRPRONM,+$G(LRPRO)))#2,$$GET^XUA4A72(+$G(LRPRO),DT)>0 S DIR("B")=LRPRONM | 
|---|
|  | 92 | . ;S DIR("A")="Releasing Pathologist" | 
|---|
|  | 93 | . S DIR("A")="Provider" | 
|---|
|  | 94 | . S LRPRO=0,DIR(0)="PO^200:ENMZ" | 
|---|
|  | 95 | . S DIR("S")="I $D(^VA(200,""AK.PROVIDER"",$P(^(0),U),+Y)),$$GET^XUA4A72(+Y,DT)>0" | 
|---|
|  | 96 | . D ^DIR | 
|---|
|  | 97 | . I Y>1 S LRPRO=+Y | 
|---|
|  | 98 | I '$G(LRPRO) D  D END1 Q | 
|---|
|  | 99 | . W !?5,"No Active Provider Selected",! | 
|---|
|  | 100 | . S LRNOP=1 | 
|---|
|  | 101 | I '$D(^LRO(68,LRAA,1,LRAD,1,LRAN,0))#2 D  D END1 G WLN | 
|---|
|  | 102 | . W !?5,"The accession is corrupt - missing zero node",! | 
|---|
|  | 103 | . S LRNOP="7^Corrupt Accession" | 
|---|
|  | 104 | LOC ;Reporting Location | 
|---|
|  | 105 | S LRNODE0=^LRO(68,LRAA,1,LRAD,1,LRAN,0) | 
|---|
|  | 106 | S LRNOP=0 | 
|---|
|  | 107 | S (LRLLOCX,LRLLOC)=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",6) | 
|---|
|  | 108 | I $L(LRLLOC) S LRLLOC=+$$FIND1^DIC(44,"","OM",LRLLOC) | 
|---|
|  | 109 | ASKLOC ;Check to see if outpatient location | 
|---|
|  | 110 | I '$D(^SC(+$G(LRLLOC),0))#2 D | 
|---|
|  | 111 | . N DIR,X,Y | 
|---|
|  | 112 | . S LRLLOC="" | 
|---|
|  | 113 | . S DIR(0)="PO^44:AEZNMO",DIR("A")=" Ordering Location " | 
|---|
|  | 114 | . D ^DIR | 
|---|
|  | 115 | . I +Y<1 Q | 
|---|
|  | 116 | . S LRLLOC=+Y | 
|---|
|  | 117 | I '$G(LRLLOC) D END1 Q | 
|---|
|  | 118 | S LRDSSID=+$$GET1^DIQ(44,+LRLLOC,8,"I") ;I 'LRDSSID S LRNOP="2^No Stop Code Number" Q | 
|---|
|  | 119 | S LRNINS=$$GET1^DIQ(44,+LRLLOC,3,"I") | 
|---|
|  | 120 | S LRNINS=$S(LRNINS:LRNINS,1:DUZ(2)) | 
|---|
|  | 121 | Q | 
|---|
|  | 122 | ES() ;Entry point for front end application. | 
|---|
|  | 123 | N DFN,LRESCPT,LRDFN,LRLLOC,LRLLOCX,LRNINS,LRTST,LRENCDT,LRDUZ | 
|---|
|  | 124 | K LRES,LRESCPT | 
|---|
|  | 125 | S LRES=1 | 
|---|
|  | 126 | ASK ; Option entry point - Check and setup PCE reporting variables | 
|---|
|  | 127 | D EN^LRCAPES1 | 
|---|
|  | 128 | N X,Y,T1 | 
|---|
|  | 129 | S LREND=0 | 
|---|
|  | 130 | D ^LRPARAM Q:$G(LREND) | 
|---|
|  | 131 | K ^TMP("LRPXAPI",$J),^TMP("LR",$J,"LRLST") | 
|---|
|  | 132 | S ^TMP("LR",$J,"LRLST")=$$FMADD^XLFDT(DT,2)_U_DT_U_"LAB ES CPT" | 
|---|
|  | 133 | S:'$G(LRPKG) LRPKG=$O(^DIC(9.4,"B","LR",0)) | 
|---|
|  | 134 | S:'$G(LRPKG) LRPKG=$O(^DIC(9.4,"B","LAB SERVICE",0)) | 
|---|
|  | 135 | PKG ;Check to see if Lab Package is installed | 
|---|
|  | 136 | I '$G(LRPKG) D  D WKL Q | 
|---|
|  | 137 | . W !?5,"LAB SERVICE PACKAGE is not loaded",! | 
|---|
|  | 138 | PCE ;Check to see if PCE is turned on | 
|---|
|  | 139 | S X="PXAI" X ^%ZOSF("TEST") I '$T D:'$G(LRES)  D WKL Q | 
|---|
|  | 140 | . W !?5,"PCE Is not installed",! | 
|---|
|  | 141 | S LRPCEON=$$PKGON^VSIT("PX") | 
|---|
|  | 142 | I '$G(LRES),'LRPCEON D  D WKL Q | 
|---|
|  | 143 | . W !?5,"PCE is not turned on",! | 
|---|
|  | 144 | S LRDLOC=+$$GET1^DIQ(69.9,"1,",.8,"I") | 
|---|
|  | 145 | OOS ;Check to see if the LRDLOC is an OOS location | 
|---|
|  | 146 | I $G(LRES),$P($G(^SC(LRDLOC,0)),U)'["LAB DIV " D  D WKL Q | 
|---|
|  | 147 | . W !?5,"DEFAULT LAB OOS LOCATION is not defined correctly",! | 
|---|
|  | 148 | S LRESCPT=1 | 
|---|
|  | 149 | D:'$G(^TMP("LR",$J,"AK",0,1))'=DUZ_U_DT EN | 
|---|
|  | 150 | I $G(LRES) Q $G(LRESCPT) | 
|---|
|  | 151 | LOOP ; | 
|---|
|  | 152 | Q:$G(LREND) | 
|---|
|  | 153 | F  D WLN Q:$G(LREND)  I '$G(LRNOP) D CPTEN Q:$G(LREND) | 
|---|
|  | 154 | D CLEAN Q | 
|---|
|  | 155 | CPTEN ;Entry point from CPT API call | 
|---|
|  | 156 | WKL S (LRNOP,LREND)=0 D READ^LRCAPES1 | 
|---|
|  | 157 | D DIS^LRCAPES1 | 
|---|
|  | 158 | I '$O(^TMP("LR",$J,"LRLST",0)) D END Q | 
|---|
|  | 159 | LOAD ;Setup ^TMP("LRPXAPI" to load CPT workload | 
|---|
|  | 160 | K LRXCPT,LRXTST,^TMP("LRPXAPI",$J) | 
|---|
|  | 161 | S LRDUZ=LRPRO | 
|---|
|  | 162 | I '$G(LRESCPT) S LRNOP="3^PCE Workload Capture Not Setup" | 
|---|
|  | 163 | I $G(LRNOP) D  D SENDWKL Q | 
|---|
|  | 164 | . I '$D(LRQUIET) W !,$$CJ^XLFSTR("PCE Wkld Abort "_$P(LRNOP,U,2),IOM) | 
|---|
|  | 165 | I $G(LRESCPT),'$G(LRNOP) D | 
|---|
|  | 166 | . N AFTER812,D,D0,DDER,DI,DIC,DIG,DIH,DISL,DIV | 
|---|
|  | 167 | . N I,LRACC,LRCNT,LRI,LRPCEN,PXALOOK,PXASUB,PXJ,PXJJ,LRCCT | 
|---|
|  | 168 | . N SDT1,SPEL,SUBL,TYPEI,X,XPARSYS | 
|---|
|  | 169 | . S LRTST=0 | 
|---|
|  | 170 | . F  S LRTST=$O(^TMP("LR",$J,"LRLST",LRTST)) Q:LRTST<1  D | 
|---|
|  | 171 | . . S (LRNLTN,CPT)=+$G(^TMP("LR",$J,"LRLST",LRTST)),LRTSTP=$P(^(LRTST),U,2,99) | 
|---|
|  | 172 | . . D SET^LRCAPPH1 | 
|---|
|  | 173 | . D ADDPREV | 
|---|
|  | 174 | SENDWKL ; Store LMIP workload | 
|---|
|  | 175 | D SEND^LRCAPES1 | 
|---|
|  | 176 | L -^LRO(68,LRAA,1,LRAD,1,LRAN) | 
|---|
|  | 177 | S LRNOP=0 | 
|---|
|  | 178 | Q | 
|---|
|  | 179 | ADDPREV ;Add CPT quantities from PCE to current totals | 
|---|
|  | 180 | N LRSTR2,LRIEN2,LRPX,LRCPT,LRXX,LRCPT2,LRCPT1,LRX1,LRQ1,LRQ2,LRQT,LRCT | 
|---|
|  | 181 | S LRSTR2=$G(^LRO(68,LRAA,1,LRAD,1,LRAN,"PCE")) | 
|---|
|  | 182 | Q:'LRSTR2 | 
|---|
|  | 183 | K LRVIS S LRVIS="" | 
|---|
|  | 184 | S LRCT=$L(LRSTR2,";")-1,LRVIS=$P(LRSTR2,";",LRCT) | 
|---|
|  | 185 | F LRPX=1:1 S LRIEN2=$P(LRSTR2,";",LRPX) Q:LRIEN2=""  D | 
|---|
|  | 186 | .D GETCPT^PXAPIOE(LRIEN2,"LRCPT","ERR") | 
|---|
|  | 187 | S LRXX="" | 
|---|
|  | 188 | F  S LRXX=$O(LRCPT(LRXX)) Q:LRXX=""  D | 
|---|
|  | 189 | .Q:$P(LRCPT(LRXX),"^",3)'=LRVIS | 
|---|
|  | 190 | .S LRCPT2="" | 
|---|
|  | 191 | .S LRCPT2=+$G(LRCPT(LRXX)) | 
|---|
|  | 192 | .D:LRCPT2 | 
|---|
|  | 193 | ..S (LRX1,LRQT)=0 | 
|---|
|  | 194 | ..F  S LRX1=$O(^TMP("LRPXAPI",$J,"PROCEDURE",LRX1)) Q:LRX1=""!(LRQT)  D | 
|---|
|  | 195 | ...S LRCPT1=+$G(^TMP("LRPXAPI",$J,"PROCEDURE",LRX1,"PROCEDURE")) | 
|---|
|  | 196 | ...I LRCPT1=LRCPT2 D | 
|---|
|  | 197 | ....S LRQ1=$P(LRCPT(LRXX),"^",16) | 
|---|
|  | 198 | ....S LRQ2=+$G(^TMP("LRPXAPI",$J,"PROCEDURE",LRX1,"QTY")) | 
|---|
|  | 199 | ....S ^TMP("LRPXAPI",$J,"PROCEDURE",LRX1,"QTY")=LRQ1+LRQ2 | 
|---|
|  | 200 | ....S LRQT=1 | 
|---|
|  | 201 | Q | 
|---|
|  | 202 | CLEAN ;Final Cleanup | 
|---|
|  | 203 | K AFTER812,AGE,CPT,D,D0,DOB,DDER,DFN,DI,DIC,DIG,DIH,DIR,DIRUT | 
|---|
|  | 204 | K DISL,DIRUT,DIU,DUOUT,DIV,DQ | 
|---|
|  | 205 | K I,J,LRACC,LRCNT,LRI,POP,PXALOOK,PXASUB,PXJ,PXJJ | 
|---|
|  | 206 | K SDT1,SPEL,SUBL,T1,TYPEI,X,XPARSYS | 
|---|
|  | 207 | K ANS,CLN,CNT,FPRI,LRAA,LRAD,LRAN,LRANSX,LRANSY,LRCDT,LRCNT | 
|---|
|  | 208 | K LRDFN,LRDPF,LRDLOC,LRDSSID,LRDSSLOC,LRDUZ,LREDT,LREND,LRES,LRESCPT | 
|---|
|  | 209 | K LRIDT,LRIDIV,LRLLOC,LRLLOCX,LRLST,LRNINS,LRNLT,LRNLTN,LRNODE0,LRNOP,LROK | 
|---|
|  | 210 | K LRPCEN,LRPCENON,LRPCEVSO,LRPKG,LRPRAC,LRPRO,LRRB,LRQ,LRSS,LRTREA,LRTST,LRURG | 
|---|
|  | 211 | K LRSPECID,LRTSTP,LRUID,LRVBY | 
|---|
|  | 212 | K LRVSITN,LRWRD,LRX,LRXCPT,LRXTST | 
|---|
|  | 213 | K NODE,NODE0,PNM,SEX,SDFLAG,SSN,VA,X1,X2,X3 | 
|---|
|  | 214 | K ^TMP("LRMOD",$J) | 
|---|
|  | 215 | K ^TMP("LR",$J,"AK"),^TMP("LR",$J,"LRLST") | 
|---|
|  | 216 | K ^TMP("LRPXAPI",$J) | 
|---|
|  | 217 | D KVAR^VADPT | 
|---|
|  | 218 | Q | 
|---|
|  | 219 | CPT(LRAA,LRAD,LRAN,LRPRO) ;AP Release entry point | 
|---|
|  | 220 | ;LRAA=accession area, LRAD=accession date, LRAN=accession number | 
|---|
|  | 221 | ;LRPRO=provider | 
|---|
|  | 222 | N X,Y,I,LRI,LREDT,LRCDT,LRIDT,LRLLOCX,LRSPECID,DIC,LRNOP,LREND,LRES | 
|---|
|  | 223 | S (LRLLOCX,LRLLOC)=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",6) | 
|---|
|  | 224 | S DIC=44,DIC(0)="ONM",X=LRLLOC D ^DIC | 
|---|
|  | 225 | I Y>1 S LRLLOC=+Y | 
|---|
|  | 226 | I Y<1 D  Q:$G(LREND) | 
|---|
|  | 227 | . S DIC(0)="AEZNM" D ^DIC | 
|---|
|  | 228 | . I Y<1 S LRNOP="4^Not an outpatient location",LREND=1 Q | 
|---|
|  | 229 | . S LRLLOC=+Y | 
|---|
|  | 230 | ;KLL - set LRDSSLOC to LRDLOC, instead of LRLLOC to resolve location | 
|---|
|  | 231 | ;      problem occurring in PCE | 
|---|
|  | 232 | ;TAC - use accession area OOS location if one exists | 
|---|
|  | 233 | S LRDSSLOC=+$$GET1^DIQ(68,LRAA_",",.8,"I") | 
|---|
|  | 234 | S LRDSSLOC=$S($G(LRDSSLOC):LRDSSLOC,1:+$G(LRDLOC)) | 
|---|
|  | 235 | S LRDSSID=+$$GET1^DIQ(44,+LRLLOC,8,"I") | 
|---|
|  | 236 | S LRNINS=$$GET1^DIQ(44,+LRLLOC,3,"I") | 
|---|
|  | 237 | S LRNINS=$S(LRNINS:LRNINS,1:DUZ(2)) | 
|---|
|  | 238 | I '$G(LRIDT) S LRIDT=+$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",13.5,"I") | 
|---|
|  | 239 | S LRUID=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",16) | 
|---|
|  | 240 | S LRLLOCX=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",6) | 
|---|
|  | 241 | S LRSPECID="Acc #: "_$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",15,"E") | 
|---|
|  | 242 | S:$L($G(LRUID)) LRSPECID=LRSPECID_"  UID: "_LRUID | 
|---|
|  | 243 | S LREDT=$$GET1^DIQ(68.02,LRAN_","_LRAD_","_LRAA_",",9,"I") | 
|---|
|  | 244 | I 'LREDT S LREDT=$$NOW^XLFDT | 
|---|
|  | 245 | S LRCDT="Collection Date: "_$$FMTE^XLFDT(LREDT,1) | 
|---|
|  | 246 | I '$G(LRESCPT) D  Q | 
|---|
|  | 247 | . D EN^DDIOL("CPT workload is not activated","","!?20") | 
|---|
|  | 248 | I $S('$G(LRAA):1,'$G(LRAD):1,'$G(LRAN):1,'$G(LRPRO):1,1:0) Q | 
|---|
|  | 249 | I +$G(^LRO(68,LRAA,1,LRAD,1,LRAN,0))'=LRDFN Q | 
|---|
|  | 250 | D CPTEN | 
|---|
|  | 251 | Q | 
|---|