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

MMRSCRE4.m

Go to the documentation of this file.
  1. MMRSCRE4 ;TCK/LEIDOS - Print CRE Report Cont. (Contains functions to print report) ; 3/31/17 9:48am
  1. ;;1.0;MDRO PROGRAM TOOLS;**4,5**;JUN 01, 2016;Build 146
  1. ;
  1. PRINT ;Prints report data
  1. N PG,MMRSNOW,NUMLOCS,LOCNAME,LN,PREVLOC,INDATE,DFN,OUTDATE,DATA
  1. S PG=0
  1. S MMRSNOW=$$NOW^XLFDT()
  1. S NUMLOCS=0
  1. S LOCNAME="" F S LOCNAME=$O(^TMP($J,"MMRSCRE","D",LOCNAME)) Q:LOCNAME="" S NUMLOCS=NUMLOCS+1
  1. I PRTSUM S RPTYP="SUMMARY"
  1. I 'PRTSUM S RPTYP="DETAILED"
  1. S LOCNAME="" F S LOCNAME=$O(^TMP($J,"MMRSCRE","D",LOCNAME)) Q:LOCNAME="" D
  1. .I '$D(DIVARY(LOCNAME)) K DIVARY(LOCNAME) Q
  1. .I $D(DIVARY(LOCNAME)) K DIVARY(LOCNAME)
  1. .Q:$G(LOCNAME)=""
  1. .D PATDAYS^MMRSCRE
  1. .D PRTSUMA(LOCNAME)
  1. S $P(LN,"-",165)=""
  1. Q:'$D(DIVARY)
  1. S DVSN=0 F S DVSN=$O(DIVARY(DVSN)) Q:DVSN="" D
  1. .Q:$G(DVSN)=""
  1. .S LOC=DVSN
  1. .D PRTHDRD
  1. .W !!!,"NO RECORDS FOUND FOR REPORTING PERIOD."
  1. .W !!!
  1. W !!,"END OF REPORT"
  1. D END
  1. Q
  1. PRINTADM(LOC) ; Print cont.
  1. S $P(LN,"-",165)=""
  1. D PRTHDRD
  1. N NODE,IN,WRD,PTN,L4,IND,ADT,MMV,SRC,SC,CC,VAL,INC
  1. S IN=""
  1. Q:LOC=""
  1. I '$D(^TMP($J,"MMRSCRE","DETAIL",LOC)) D Q
  1. .W !!!,"NO RECORDS FOUND FOR REPORTING PERIOD."
  1. F S IN=$O(^TMP($J,"MMRSCRE","DETAIL",LOC,IN)) Q:IN="" D
  1. .S NODE=^TMP($J,"MMRSCRE","DETAIL",LOC,IN)
  1. .S WRD=$P(NODE,"^"),PTN=$P(NODE,"^",2),L4=$P(NODE,"^",3)
  1. .S IND=$P(NODE,"^",4),CLDT=$P(NODE,"^",5)
  1. .S SRC=$P(NODE,"^",6),SRC=$$GET1^DIQ(61,SRC,.01,"E")
  1. .S SC=$P(NODE,"^",7),CC=$P(NODE,"^",8)
  1. .S VAL=$P(NODE,"^",9) I VAL="Y" S VAL="POS"
  1. .S DTTE=$P(IND,"."),TIM=$P(IND,".",2),TIM=$E(TIM,1,4)
  1. .S IND=DTTE_"."_TIM,IND=$$FMTE^XLFDT(IND)
  1. .S DTTE=$P(CLDT,"."),TIM=$P(CLDT,".",2),TIM=$E(TIM,1,4)
  1. .S CLDT=DTTE_"."_TIM,CLDT=$$FMTE^XLFDT(CLDT)
  1. .S WD="",WD=$O(^DIC(42,"B",WRD,WD))
  1. .I $G(WD)'="" S SPCTY=$$GET1^DIQ(42,WD,.017,"E")
  1. .Q:$G(VAL)=""
  1. .W !,WRD,?21,$G(SPCTY),?46,PTN,?70,L4,?77,IND,?97,CLDT,?122,SRC,?131,SC,?145,CC,?157,VAL
  1. .I $Y+1>IOSL,LOC'="" D PRTHDRD
  1. Q
  1. PRTHDRD ;
  1. S PG=PG+1
  1. W @IOF
  1. S $P(LN,"-",165)=""
  1. W ?13,"CRE ACUTE CARE IPEC REPORT - "_RPTYP
  1. W !,?13,"Division: ",LOC
  1. W !,?13,"Report period: ",$$FMTE^XLFDT(STRTDT)," to ",$$FMTE^XLFDT(ENDDT)
  1. W !,?13,"Report printed on: ",$$FMTE^XLFDT(MMRSNOW),?70,"PAGE: ",PG
  1. W !!
  1. Q:PRTSUM
  1. W ?77,"DATE",?97,"SPECIMEN COLLECTION",?131,"SURVEILLANCE",?145,"CLINICAL",?157,"CULTURE"
  1. W !,"WARD",?21,"SERVICE",?46,"PATIENT",?70,"LAST4",?77,"ENTERED WARD",?97,"DATE/TIME",?122,"SOURCE",?131,"CULTURE",?145,"CULTURE",?157,"RESULT"
  1. W !,LN
  1. ;S PG=PG+1
  1. Q
  1. PRTSUMA(LOC) ;
  1. N II,L
  1. W @IOF
  1. S PG=$G(PG)+1
  1. W ?13,"CRE ACUTE CARE IPEC REPORT - "_RPTYP
  1. I $G(LOC)'="" W !,?13,"Division: ",LOC
  1. I $G(LOC)="" W !,?13,"Divisions: " D Q
  1. .S II=1 S L="" F S L=$O(^TMP($J,"MMRSCRE","DSUM",L)) Q:L="" W:II>1&($X>37) ", " W L_"," S II=II+1 I $X>110 W !,?37
  1. W !,?13,"Report period: ",$$FMTE^XLFDT(STRTDT)," to ",$$FMTE^XLFDT(ENDDT)
  1. W !,?13,"Report printed on: ",$$FMTE^XLFDT(MMRSNOW),?70,"PAGE: ",PG
  1. I $G(LOC)'="" S DATA=$G(^TMP($J,"MMRSCRE","DSUM",LOC))
  1. I $G(LOC)="" S DATA=$G(^TMP($J,"MMRSCRE","DSUM"))
  1. I $G(LOC)'="" S DATA1=$G(^TMP($J,"MMRSCREPD","DSUM",LOC))
  1. I $G(LOC)="" S DATA1=$G(^TMP($J,"MMRSCREPD","DSUM"))
  1. W !!,"Basic Measures and Device Days of Care"
  1. W !,?3,"01 Total # of admissions to the acute care inpatient facility for the period: ",$P(DATA,"^")
  1. W !,?3,"02 Total # of bed days of care for acute care for the period: ",DATA1
  1. W !!,"Admission Prevalence Measures (Facility/Division Wide)"
  1. W !,?3,"07 # of (01) with surveillance screens for CRE/CPE collected upon admission: ",$P(DATA,U,2)
  1. W !,?3,"08 # of (07) that were positive for CRE/CPE based on surveillance screen: ",$P(DATA,U,3)
  1. W !,?3,"09 # of (01) that were positive for CRE/CPE based on clinical cultures: ",$P(DATA,"^",4)
  1. S (POS,CC,SC,SCPCT,CCPCT)=0
  1. S TOTAL=$P(DATA,"^")
  1. S TSC=$P(DATA,"^",2)
  1. S SCPOS=$P(DATA,"^",3)
  1. S CC=$P(DATA,"^",4)
  1. I SCPOS=0 S SCPCT=0
  1. I SCPOS>0 D
  1. .I SCPOS=TSC S SCPCT=100 Q
  1. .I SCPOS<TOTAL S SCPCT=(SCPOS/TSC)*100
  1. .I SCPCT>0 D
  1. ..I SCPCT["." D
  1. ...S SPCT=$P(SCPCT,"."),SCDEC=$P(SCPCT,".",2),SCDEC=$E(SCDEC,1,2)
  1. ...S SCPCT=SPCT_"."_SCDEC
  1. ;I CC<TOTAL S CCPCT=(CC/TOTAL)*100
  1. I CC=0 S CCPCT=0
  1. I CC>0 D
  1. .I CC=TOTAL S CCPCT=100 Q
  1. .I CC<TOTAL S CCPCT=(CC/TOTAL)*100
  1. .I CCPCT["." D
  1. ..S PCT=$P(CCPCT,"."),CCDEC=$P(CCPCT,".",2),CCDEC=$E(CCDEC,1,2)
  1. ..S CCPCT=PCT_"."_CCDEC
  1. W !,?3,"10 % of (01) that were positive for CRE/CPE based on surveillance screening: ",$G(SCPCT)_"%"
  1. W !,?3,"11 % of (01) that were positive for CRE/CPE based on clinical cultures: ",$G(CCPCT)_"%"
  1. W !!,"Incidence Measures: Healthcare-Associated Colonized Cases"
  1. W !,?3,"12 # of patients with screens for CRE/CPE collected 3 or more days after admission: ",$P(DATA,U,5)
  1. W !,?3,"13 # of (12) that were positive for CRE/CPE based on surveillance screen collected 3 or more days after admission: ",$P(DATA,U,6)
  1. W !,?3,"14 # of patients with clinical cultures positive for CRE/CPE 3 or more days after admission: ",$P(DATA,U,7)
  1. S RATE=0
  1. I DATA1>0 D
  1. .S T=$P(DATA,U,6)+$P(DATA,U,7)
  1. .I T>0 S RATE=(T/DATA1)*1000
  1. .I RATE>0&(RATE[".") D
  1. ..S RTE=$P(RATE,"."),RTDEC=$P(RATE,".",2),RTDEC=$E(RTDEC,1,2)
  1. ..S RATE=RTE_"."_RTDEC
  1. ;I $L(RATE)=1 S RA
  1. W !,?3,"15 Rate of healthcare-associated colonized cases: ",$G(RATE)
  1. W !!,"Infection Prevention and Control Measures"
  1. W !,?3,"33 # of cases with CRE/CPE for the period: ",$P(DATA,U,8)
  1. ;I PRTSUM W !!!,"END OF REPORT." Q
  1. I 'PRTSUM D PRINTADM(LOCNAME)
  1. I '$D(DIVARY) W !!!,"END OF REPORT"
  1. Q
  1. ;
  1. END ;
  1. K CCDEC,CCPCT,CLDT,DATA1,DIVARY,DTTE,DVSN,ENDDT,PCT,POS,PRTSUM
  1. K RATE,RPTYP,RTDEC,RTE,SCDEC,SCPCT,SCPOS,SPCT,SPCTY,STRTDT,T
  1. K TIM,TOTAL,TSC,WD
  1. Q
  1. ;