| [613] | 1 | LREPI2A ;DALOI/CKA-EMERGING PATHOGENS HL7 BUILD ;5/14/03
 | 
|---|
 | 2 |  ;;5.2;LAB SERVICE;**281**;Sep 27, 1994
 | 
|---|
 | 3 |  ;
 | 
|---|
 | 4 | START ;START
 | 
|---|
 | 5 |  S LRPROT=0 F  S LRPROT=$O(^TMP($J,LRPROT)) Q:+LRPROT'>0  D
 | 
|---|
 | 6 |  .D INIT^HLFNC2(LRPROT,.HL)
 | 
|---|
 | 7 |  .S LRMSGNM=1,LRMSGSZ=0,LRCS=$E(HL("ECH"))
 | 
|---|
 | 8 |  .S LRMSGDF=$S(+$P($G(^LAB(69.4,LRPROT,0)),U,3)>0:+$P($G(^LAB(69.4,LRPROT,0)),U,3),1:30000)
 | 
|---|
 | 9 |  .D EN,MOVE
 | 
|---|
 | 10 |  .F LRTND="ETI","TST","HEP" D:$D(^TMP($J,LRTND)) TOTAL
 | 
|---|
 | 11 |  .D EN,MOVE,SEND
 | 
|---|
 | 12 |  .D ALERT
 | 
|---|
 | 13 |  K LRDUZ,LRMSGDF,%,%X
 | 
|---|
 | 14 |  Q
 | 
|---|
 | 15 | SEND ;BUILD MESSAGE BUT DON'T SEND
 | 
|---|
 | 16 |  D HEAD
 | 
|---|
 | 17 |  I LRREP=2 D SPSHT^LREPIRS3 S ^XTMP("LREPILOCALSPSHT"_LRLRDT,"DONE")=1
 | 
|---|
 | 18 |  I LRREP=1 D REPORT^LREPIRS1 S ^XTMP("LREPILOCALREP"_LRLRDT,"DONE")=1
 | 
|---|
 | 19 |  K ^TMP("HLS",$J)
 | 
|---|
 | 20 |  K LRLC,LRHDGLC,HLFS,LRSEG,LRSPSHT,MSG,LRPID,LROBR,LRX
 | 
|---|
 | 21 |  Q
 | 
|---|
 | 22 | ALERT ;Send a Alert if desired.
 | 
|---|
 | 23 |  K XQA,XQAMSG,XQAOPT,XQAROU,XQAID,XQADATA,XQAFLAG
 | 
|---|
 | 24 |  S X="NOW",%DT="SRT" D ^%DT,DD^%DT
 | 
|---|
 | 25 |  S XQAMSG="The local report/spreadsheet finished generating at "_Y
 | 
|---|
 | 26 |  S XQA(LRDUZ)=""
 | 
|---|
 | 27 |  Q:'$D(XQA)
 | 
|---|
 | 28 |  D SETUP^XQALERT
 | 
|---|
 | 29 |  Q
 | 
|---|
 | 30 | EN ;ENTRY TO BUILD A MESSAGE
 | 
|---|
 | 31 |  S (LRCNT,LRPID)=1,DFN=0
 | 
|---|
 | 32 |  F  S DFN=$O(^TMP($J,LRPROT,DFN)) Q:+DFN'>0  D
 | 
|---|
 | 33 |  .D PID^LREPI3
 | 
|---|
 | 34 |  .S LRPV1=1,LRENDT=0,LRPFG="",LREFG=0,LRPVVV=0
 | 
|---|
 | 35 |  .F  S LRENDT=$O(^TMP($J,LRPROT,DFN,LRENDT)) S LRPFG="" Q:+LRENDT'>0!(LREFG)  D
 | 
|---|
 | 36 |  ..D PV1
 | 
|---|
 | 37 |  ..I $D(^TMP("LREPISRCH",$J,DFN)),LRPROT=LRPROTX D RXNT^LREPIPH
 | 
|---|
 | 38 |  ..S LRPATH=0,LRNTE=1,LRPVVV=1
 | 
|---|
 | 39 |  ..F  S LRPATH=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH)) Q:+LRPATH'>0!(LREFG)  D
 | 
|---|
 | 40 |  ...D:LRPFG'=LRPATH NTE^LREPI3
 | 
|---|
 | 41 |  ...S LRPFG=LRPATH,LROBR=1,LRINVD=0
 | 
|---|
 | 42 |  ...F  S LRINVD=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH,LRINVD)) Q:+LRINVD'>0!(LREFG)  D
 | 
|---|
 | 43 |  ....S LRND=""
 | 
|---|
 | 44 |  ....F  S LRND=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH,LRINVD,LRND)) Q:LRND=""!(LREFG)  D
 | 
|---|
 | 45 |  .....S LRDFN=$$LRDFN^LR7OR1(DFN) Q:'LRDFN
 | 
|---|
 | 46 |  .....S LREFG=+$P($G(^LAB(69.5,LRPATH,0)),U,6)
 | 
|---|
 | 47 |  .....S:LRND'="PTF" LROBR=$$EN^LREPI1(LRDFN,LRND,LRINVD,LROBR)+1
 | 
|---|
 | 48 |  .....D:LRND="PTF" DG1^LREPI3
 | 
|---|
 | 49 |  .....D MOVE
 | 
|---|
 | 50 |  Q
 | 
|---|
 | 51 | TOTAL ;Report the total counts  ->    "ETI" or "TST" or "HEP"
 | 
|---|
 | 52 |  ;                                \/
 | 
|---|
 | 53 |  S LRITN=0 F  S LRITN=$O(^TMP($J,LRTND,LRITN)) Q:+LRITN'>0  D
 | 
|---|
 | 54 |  .S (LRNLT,LRTNM)=""
 | 
|---|
 | 55 |  .I LRTND="TST" D
 | 
|---|
 | 56 |  ..I '$D(^TMP($J,"TPROT",LRITN,LRPROT)) QUIT
 | 
|---|
 | 57 |  ..S LRTNM=$P($G(^LAB(60,LRITN,0)),U,1)
 | 
|---|
 | 58 |  ..S LRNL=$G(^LAB(60,LRITN,64)) Q:+LRNL'>0
 | 
|---|
 | 59 |  ..Q:'$D(^LAM(LRNL,0))
 | 
|---|
 | 60 |  ..S LRNLT=$P(^LAM(LRNL,0),U,2)
 | 
|---|
 | 61 |  .I LRTND="ETI" D
 | 
|---|
 | 62 |  ..I '$D(^TMP($J,"EPROT",LRITN)) QUIT
 | 
|---|
 | 63 |  ..S LRTNM=$P($G(^LAB(61.2,LRITN,0)),U,1)
 | 
|---|
 | 64 |  ..S LRNL=$G(^LAB(61.2,LRITN,64)) Q:+LRNL'>0
 | 
|---|
 | 65 |  ..Q:'$D(^LAM(LRNL,0))
 | 
|---|
 | 66 |  ..S LRNLT=$P(^LAM(LRNL,0),U,2)
 | 
|---|
 | 67 |  .I LRTND="STOT" D
 | 
|---|
 | 68 |  ..I '$D(^TMP($J,"SPROT",LRITN,LRPROT)) QUIT
 | 
|---|
 | 69 |  ..S LRTNM=""
 | 
|---|
 | 70 |  ..S LRNL=LRITN
 | 
|---|
 | 71 |  ..S LRNLT=""
 | 
|---|
 | 72 |  .I LRTND="HEP" D
 | 
|---|
 | 73 |  ..I '$D(^TMP($J,"HEP",LRITN)) QUIT
 | 
|---|
 | 74 |  ..S LRNLT=""
 | 
|---|
 | 75 |  ..I LRITN=1 S LRTNM="1-Declined Assessment for Hepatitis C"
 | 
|---|
 | 76 |  ..I LRITN=2 S LRTNM="2-No Risk Factors for Hepatitis C"
 | 
|---|
 | 77 |  ..I LRITN=3 S LRTNM="3-Previously Assessed for Hepatitis C"
 | 
|---|
 | 78 |  ..I LRITN=4 S LRTNM="4-Risk Factors for Hepatitis C"
 | 
|---|
 | 79 |  ..I LRITN=5 S LRTNM="5-Positive Test for Hepatitis C antibody"
 | 
|---|
 | 80 |  ..I LRITN=6 S LRTNM="6-Negative Test for Hepatitis C antibody"
 | 
|---|
 | 81 |  ..I LRITN=7 S LRTNM="7- Hepatitis C diagnosis (ICD-9 based)"
 | 
|---|
 | 82 |  .K LRDATA
 | 
|---|
 | 83 |  .I '$G(LRTNM) D NAME
 | 
|---|
 | 84 |  .S LRDATA="NTE"_HLFS_HLFS_"T"_LRCS_LRNLT_LRCS_LRTNM_LRCS_+^TMP($J,LRTND,LRITN)
 | 
|---|
 | 85 |  .S LRCNT=LRCNT+1
 | 
|---|
 | 86 |  .S ^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
 | 
|---|
 | 87 |  .K LRDATA
 | 
|---|
 | 88 |  .S (LRPCNT,LRPTOT)=0
 | 
|---|
 | 89 |  .F  S LRPCNT=$O(^TMP($J,LRTND,LRITN,LRPCNT)) Q:+LRPCNT'>0  S LRPTOT=LRPTOT+1
 | 
|---|
 | 90 |  .Q:LRPTOT'>0
 | 
|---|
 | 91 |  .I '$G(LRTNM) D NAME
 | 
|---|
 | 92 |  .S LRDATA="NTE"_HLFS_HLFS_"T"_LRCS_LRNLT_LRCS_"PATIENTS WITH "_LRTNM_LRCS_LRPTOT ;+^TMP($J,LRPCNT,LRITN)
 | 
|---|
 | 93 |  .S LRCNT=LRCNT+1
 | 
|---|
 | 94 |  .S ^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
 | 
|---|
 | 95 |  Q
 | 
|---|
 | 96 | NAME ;
 | 
|---|
 | 97 |  Q:LRTND'="TST"
 | 
|---|
 | 98 |  S LRTNM=$P($G(^LAB(60,LRITN,0)),U,1)
 | 
|---|
 | 99 |  S LRNL=$G(^LAB(60,LRITN,64)) Q:+LRNL'>0
 | 
|---|
 | 100 |  Q:'$D(^LAM(LRNL,0))
 | 
|---|
 | 101 |  S LRNLT=$P(^LAM(LRNL,0),U,2)
 | 
|---|
 | 102 |  ;
 | 
|---|
 | 103 |  QUIT
 | 
|---|
 | 104 | HEAD ;ENTER A NTE FOR REPORT HEADER
 | 
|---|
 | 105 |  K LRDATA
 | 
|---|
 | 106 |  S LRDATA="NTE"_HLFS_HLFS_$S(LRRTYPE:"R",1:"")_LRCS
 | 
|---|
 | 107 |  I $G(LR31799Z)=1 S LRDATA=LRDATA_"*** H E P A T I T I S  C  MARCH 17 1999 ***"
 | 
|---|
 | 108 |  S LRDATA=LRDATA_"REPORTING DATE FROM "_$$HLDATE^HLFNC(LRRPS)
 | 
|---|
 | 109 |  S LRDATA=LRDATA_" TO "_$$HLDATE^HLFNC(LRRPE)
 | 
|---|
 | 110 |  S LRDATA=LRDATA
 | 
|---|
 | 111 |  I LRPROTX=LRPROT S LRDATA=LRDATA_LRCS_LRCS_"V3"
 | 
|---|
 | 112 |  I '$O(^TMP("HLS",$J,1)) S LRDATA=LRDATA_LRCS_"N"
 | 
|---|
 | 113 |  S ^TMP("HLS",$J,1)=$$UP^XLFSTR(LRDATA)
 | 
|---|
 | 114 |  K LRDATA
 | 
|---|
 | 115 |  Q
 | 
|---|
 | 116 | MOVE S LRMOVE=0
 | 
|---|
 | 117 |  F  S LRMOVE=$O(^TMP("HL7",$J,LRMOVE)) Q:+LRMOVE'>0  D
 | 
|---|
 | 118 |  .S LRCNT=LRCNT+1
 | 
|---|
 | 119 |  .S ^TMP("HLS",$J,LRCNT)=^TMP("HL7",$J,LRMOVE)
 | 
|---|
 | 120 |  K ^TMP("HL7",$J),LRMOVE
 | 
|---|
 | 121 |  Q
 | 
|---|
 | 122 |  ;
 | 
|---|
 | 123 | PV1 ;
 | 
|---|
 | 124 |  ;I $O(^TMP($J,LRPROT,DFN,LRENDT,""))!('$D(^TMP("LREPISRCH",$J,DFN)))!($P(LRNDTDA,"^",3))="UPDT" D PV1^LREPI3 S LRPVVV=1
 | 
|---|
 | 125 |  I LRPV1>1,$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH))="",$P($G(^TMP($J,LRPROT,DFN,LRENDT)),"^",3)'="UPDT" Q
 | 
|---|
 | 126 |  I $P($G(^TMP($J,LRPROT,DFN,LRENDT)),"^",3)="UPDT" D PV1^LREPI3 S LRPVVV=1 Q
 | 
|---|
 | 127 |  I $O(^TMP($J,LRPROT,DFN,LRENDT,""))]"" D PV1^LREPI3 S LRPVVV=1 Q
 | 
|---|
 | 128 |  I '$D(^TMP("LREPISRCH",$J,DFN)) D PV1^LREPI3 S LRPVVV=1 Q
 | 
|---|
 | 129 |  Q
 | 
|---|