Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LREPI2A

LREPI2A.m

Go to the documentation of this file.
  1. LREPI2A ;DALOI/CKA - EMERGING PATHOGENS HL7 BUILD ;03 Jul 2013 4:27 PM
  1. ;;5.2;LAB SERVICE;**281,421**;Sep 27, 1994;Build 48
  1. ;
  1. START ;START
  1. S LRPROT=0 F S LRPROT=$O(^TMP($J,LRPROT)) Q:+LRPROT'>0 D
  1. .D INIT^HLFNC2(LRPROT,.HL)
  1. .S LRMSGNM=1,LRMSGSZ=0,LRCS=$E(HL("ECH"))
  1. .S LRMSGDF=$S(+$P($G(^LAB(69.4,LRPROT,0)),U,3)>0:+$P($G(^LAB(69.4,LRPROT,0)),U,3),1:30000)
  1. .D EN,MOVE
  1. .F LRTND="ETI","TST","HEP" D:$D(^TMP($J,LRTND)) TOTAL
  1. .D EN,MOVE,SEND
  1. .D ALERT
  1. K LRDUZ,LRMSGDF,%,%X
  1. Q
  1. SEND ;BUILD MESSAGE BUT DON'T SEND
  1. D HEAD
  1. I LRREP=2 D SPSHT^LREPIRS3 S ^XTMP("LREPILOCALSPSHT"_LRLRDT,"DONE")=1
  1. I LRREP=1 D REPORT^LREPIRS1 S ^XTMP("LREPILOCALREP"_LRLRDT,"DONE")=1
  1. K ^TMP("HLS",$J)
  1. K LRLC,LRHDGLC,HLFS,LRSEG,LRSPSHT,MSG,LRPID,LROBR,LRX
  1. Q
  1. ALERT ;Send a Alert if desired.
  1. K XQA,XQAMSG,XQAOPT,XQAROU,XQAID,XQADATA,XQAFLAG
  1. S X="NOW",%DT="SRT" D ^%DT,DD^%DT
  1. S XQAMSG="The local report/spreadsheet finished generating at "_Y
  1. S XQA(LRDUZ)=""
  1. Q:'$D(XQA)
  1. D SETUP^XQALERT
  1. Q
  1. EN ;ENTRY TO BUILD A MESSAGE
  1. S (LRCNT,LRPID)=1,DFN=0
  1. F S DFN=$O(^TMP($J,LRPROT,DFN)) Q:+DFN'>0 D
  1. .D PID^LREPI3
  1. .S LRPV1=1,LRENDT=0,LRPFG="",LREFG=0,LRPVVV=0
  1. .F S LRENDT=$O(^TMP($J,LRPROT,DFN,LRENDT)) S LRPFG="" Q:+LRENDT'>0!(LREFG) D
  1. ..D PV1
  1. ..I $D(^TMP("LREPISRCH",$J,DFN)),LRPROT=LRPROTX D RXNT^LREPIPH
  1. ..S LRPATH=0,LRNTE=1,LRPVVV=1
  1. ..F S LRPATH=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH)) Q:+LRPATH'>0!(LREFG) D
  1. ...D:LRPFG'=LRPATH NTE^LREPI3
  1. ...S LRPFG=LRPATH,LROBR=1,LRINVD=0
  1. ...F S LRINVD=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH,LRINVD)) Q:+LRINVD'>0!(LREFG) D
  1. ....S LRND=""
  1. ....F S LRND=$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH,LRINVD,LRND)) Q:LRND=""!(LREFG) D
  1. .....S LRDFN=$$LRDFN^LR7OR1(DFN) Q:'LRDFN
  1. .....S LREFG=+$P($G(^LAB(69.5,LRPATH,0)),U,6)
  1. .....S:LRND'="PTF" LROBR=$$EN^LREPI1(LRDFN,LRND,LRINVD,LROBR)+1
  1. .....D:LRND="PTF" DG1^LREPI3
  1. .....D MOVE
  1. Q
  1. TOTAL ;Report the total counts -> "ETI" or "TST" or "HEP"
  1. ; \/
  1. S LRITN=0 F S LRITN=$O(^TMP($J,LRTND,LRITN)) Q:+LRITN'>0 D
  1. .S (LRNLT,LRTNM)=""
  1. .I LRTND="TST" D
  1. ..I '$D(^TMP($J,"TPROT",LRITN,LRPROT)) QUIT
  1. ..S LRTNM=$P($G(^LAB(60,LRITN,0)),U,1)
  1. ..S LRNL=$G(^LAB(60,LRITN,64)) Q:+LRNL'>0
  1. ..Q:'$D(^LAM(LRNL,0))
  1. ..S LRNLT=$P(^LAM(LRNL,0),U,2)
  1. .I LRTND="ETI" D
  1. ..I '$D(^TMP($J,"EPROT",LRITN)) QUIT
  1. ..S LRTNM=$P($G(^LAB(61.2,LRITN,0)),U,1)
  1. ..S LRNL=$G(^LAB(61.2,LRITN,64)) Q:+LRNL'>0
  1. ..Q:'$D(^LAM(LRNL,0))
  1. ..S LRNLT=$P(^LAM(LRNL,0),U,2)
  1. .I LRTND="STOT" D
  1. ..I '$D(^TMP($J,"SPROT",LRITN,LRPROT)) QUIT
  1. ..S LRTNM=""
  1. ..S LRNL=LRITN
  1. ..S LRNLT=""
  1. .I LRTND="HEP" D
  1. ..I '$D(^TMP($J,"HEP",LRITN)) QUIT
  1. ..S LRNLT=""
  1. ..I LRITN=1 S LRTNM="1-Declined Assessment for Hepatitis C"
  1. ..I LRITN=2 S LRTNM="2-No Risk Factors for Hepatitis C"
  1. ..I LRITN=3 S LRTNM="3-Previously Assessed for Hepatitis C"
  1. ..I LRITN=4 S LRTNM="4-Risk Factors for Hepatitis C"
  1. ..I LRITN=5 S LRTNM="5-Positive Test for Hepatitis C antibody"
  1. ..I LRITN=6 S LRTNM="6-Negative Test for Hepatitis C antibody"
  1. ..I LRITN=7 S LRTNM="7- Hepatitis C diagnosis (ICD based)"
  1. .K LRDATA
  1. .I '$G(LRTNM) D NAME
  1. .S LRDATA="NTE"_HLFS_HLFS_"T"_LRCS_LRNLT_LRCS_LRTNM_LRCS_+^TMP($J,LRTND,LRITN)
  1. .S LRCNT=LRCNT+1
  1. .S ^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
  1. .K LRDATA
  1. .S (LRPCNT,LRPTOT)=0
  1. .F S LRPCNT=$O(^TMP($J,LRTND,LRITN,LRPCNT)) Q:+LRPCNT'>0 S LRPTOT=LRPTOT+1
  1. .Q:LRPTOT'>0
  1. .I '$G(LRTNM) D NAME
  1. .S LRDATA="NTE"_HLFS_HLFS_"T"_LRCS_LRNLT_LRCS_"PATIENTS WITH "_LRTNM_LRCS_LRPTOT ;+^TMP($J,LRPCNT,LRITN)
  1. .S LRCNT=LRCNT+1
  1. .S ^TMP("HLS",$J,LRCNT)=$$UP^XLFSTR(LRDATA)
  1. Q
  1. NAME ;
  1. Q:LRTND'="TST"
  1. S LRTNM=$P($G(^LAB(60,LRITN,0)),U,1)
  1. S LRNL=$G(^LAB(60,LRITN,64)) Q:+LRNL'>0
  1. Q:'$D(^LAM(LRNL,0))
  1. S LRNLT=$P(^LAM(LRNL,0),U,2)
  1. ;
  1. QUIT
  1. K LRDATA
  1. S LRDATA="NTE"_HLFS_HLFS_$S(LRRTYPE:"R",1:"")_LRCS
  1. I $G(LR31799Z)=1 S LRDATA=LRDATA_"*** H E P A T I T I S C MARCH 17 1999 ***"
  1. S LRDATA=LRDATA_"REPORTING DATE FROM "_$$HLDATE^HLFNC(LRRPS)
  1. S LRDATA=LRDATA_" TO "_$$HLDATE^HLFNC(LRRPE)
  1. S LRDATA=LRDATA
  1. I LRPROTX=LRPROT S LRDATA=LRDATA_LRCS_LRCS_"V3"
  1. I '$O(^TMP("HLS",$J,1)) S LRDATA=LRDATA_LRCS_"N"
  1. S ^TMP("HLS",$J,1)=$$UP^XLFSTR(LRDATA)
  1. K LRDATA
  1. Q
  1. MOVE S LRMOVE=0
  1. F S LRMOVE=$O(^TMP("HL7",$J,LRMOVE)) Q:+LRMOVE'>0 D
  1. .S LRCNT=LRCNT+1
  1. .S ^TMP("HLS",$J,LRCNT)=^TMP("HL7",$J,LRMOVE)
  1. K ^TMP("HL7",$J),LRMOVE
  1. Q
  1. ;
  1. PV1 ;
  1. ;I $O(^TMP($J,LRPROT,DFN,LRENDT,""))!('$D(^TMP("LREPISRCH",$J,DFN)))!($P(LRNDTDA,"^",3))="UPDT" D PV1^LREPI3 S LRPVVV=1
  1. I LRPV1>1,$O(^TMP($J,LRPROT,DFN,LRENDT,LRPATH))="",$P($G(^TMP($J,LRPROT,DFN,LRENDT)),"^",3)'="UPDT" Q
  1. I $P($G(^TMP($J,LRPROT,DFN,LRENDT)),"^",3)="UPDT" D PV1^LREPI3 S LRPVVV=1 Q
  1. I $O(^TMP($J,LRPROT,DFN,LRENDT,""))]"" D PV1^LREPI3 S LRPVVV=1 Q
  1. I '$D(^TMP("LREPISRCH",$J,DFN)) D PV1^LREPI3 S LRPVVV=1 Q
  1. Q