APCLER2P ; IHS/CMI/LAB - PRINT CLINIC VISITS ;
;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
;
;
INIT ;
S APCLDT=$$FMTE^XLFDT(DT)
S Y=APCLBD D DD^%DT S APCLBDD=Y S Y=APCLED D DD^%DT S APCLEDD=Y
S APCLPG=0
I '$D(^XTMP("APCLER2",APCLJOB,APCLBTH)) D HEAD W !,"No visits to report." G END
;
SET ;
D HEAD
S APCLVDFN=0
F S APCLVDFN=$O(^XTMP("APCLER2",APCLJOB,APCLBTH,APCLVDFN)) Q:APCLVDFN=""!($D(APCLQUIT)) D SET2
END ;
D DONE^APCLOSUT
K ^XTMP("APCLER2",APCLJOB,APCLBTH)
Q
SET2 ;
S APCLVER=^XTMP("APCLER2",APCLJOB,APCLBTH,APCLVDFN)
S APCLVREC=^AUPNVSIT(APCLVDFN,0)
S APCLHRCN=$S($D(^AUPNPAT($P(APCLVREC,U,5),41,DUZ(2),0)):$J($P(^AUTTLOC(DUZ(2),0),U,7),4)_" "_$P(^AUPNPAT($P(APCLVREC,U,5),41,DUZ(2),0),U,2),1:"<NONE>")
PRN ;
S APCLNAME=$E($P(^DPT($P(APCLVREC,U,5),0),U),1,15)
K ^UTILITY("DIQ1",$J) S DIC=9000001,DA=$P(APCLVREC,U,5),DR=1102.99 D EN^DIQ1
S APCLAGE=$G(^UTILITY("DIQ1",$J,9000001,$P(APCLVREC,U,5),1102.99)) K ^UTILITY("DIQ1",$J)
S APCLVD=$E($P(APCLVREC,U),4,5)_"/"_$E($P(APCLVREC,U),6,7)_"/"_$E($P(APCLVREC,U),2,3) S Y=$P(APCLVREC,U) D DD^%DT S APCLVD=APCLVD_" "_$P(Y,"@",2)
S APCLFAC=$P(^AUTTLOC($P(APCLVREC,U,6),0),U,7)
PRINT1 ;
I $Y>(IOSL-5) D HEAD Q:$D(APCLQUIT)
W !,APCLNAME,?16,APCLHRCN,?28,APCLVD,?45,?49,APCLFAC S APCLFRST=0,APCLP=0
F S APCLP=$O(^AUPNVPOV("AD",APCLVDFN,APCLP)) Q:APCLP'=+APCLP D
.W:APCLFRST !
.S APCLFRST=APCLFRST+1
.W ?54,$P($$ICDDX^ICDEX($P(^AUPNVPOV(APCLP,0),U)),U,2) W:$P(^AUPNVPOV(APCLP,0),U,4)]"" ?64,$E($$VAL^XBDIQ1(9000010.07,APCLP,.04),1,16)
PRINT2 ;
S APCLVD=$E($P(^AUPNVSIT(APCLVER,0),U),4,5)_"/"_$E($P(^AUPNVSIT(APCLVER,0),U),6,7)_"/"_$E($P(^AUPNVSIT(APCLVER,0),U),2,3) S Y=$P(^AUPNVSIT(APCLVER,0),U) D DD^%DT S APCLVD=APCLVD_" "_$P(Y,"@",2)
S APCLCLN=$S($P(^AUPNVSIT(APCLVER,0),U,8):$P(^DIC(40.7,$P(^AUPNVSIT(APCLVER,0),U,8),0),U,2),1:"--")
S APCLFAC=$S($P(^AUPNVSIT(APCLVER,0),U,6):$P(^AUTTLOC($P(^AUPNVSIT(APCLVER,0),U,6),0),U,7),1:"--")
I $Y>(IOSL-5) D HEAD Q:$D(APCLQUIT)
W !?3,"ER Visit Information =>",?28,APCLVD,?45,APCLCLN,?49,APCLFAC S (APCLFRST,APCLP)=0
F S APCLP=$O(^AUPNVPOV("AD",APCLVER,APCLP)) Q:APCLP'=+APCLP D
.W:APCLFRST !
.S APCLFRST=APCLFRST+1
.W ?54,$P($$ICDDX^ICDEX($P(^AUPNVPOV(APCLP,0),U),0),U,2) W:$P(^AUPNVPOV(APCLP,0),U,4)]"" ?64,$E($$VAL^XBDIQ1(9000010.07,APCLP,.04),1,16)
.Q
W !
Q
HEAD I 'APCLPG G HEAD1
I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCLQUIT="" Q
HEAD1 ;
W:$D(IOF) @IOF S APCLPG=APCLPG+1
W !
S X=$P(^DIC(4,DUZ(2),0),U)
W !!,$P(^VA(200,DUZ,0),"^",2),?(80-$L(X)/2),X,?70,"Page ",APCLPG
W !?25,"HOSPITAL ADMISSIONS AFTER ER VISIT"
W !?18,"VISITS DATES: ",APCLBDD," TO ",APCLEDD
W !!?5,"NAME",?17,"HRCN",?28,"VISIT DATE&TIME",?45,"CLN",?49,"FAC",?54,"ICD",?64,"PROV NARRATIVE"
W !,$TR($J("",80)," ","-")
W !
Q
;
APCLER2P ; IHS/CMI/LAB - PRINT CLINIC VISITS ;
+1 ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
+2 ;
+3 ;
INIT ;
+1 SET APCLDT=$$FMTE^XLFDT(DT)
+2 SET Y=APCLBD
DO DD^%DT
SET APCLBDD=Y
SET Y=APCLED
DO DD^%DT
SET APCLEDD=Y
+3 SET APCLPG=0
+4 IF '$DATA(^XTMP("APCLER2",APCLJOB,APCLBTH))
DO HEAD
WRITE !,"No visits to report."
GOTO END
+5 ;
SET ;
+1 DO HEAD
+2 SET APCLVDFN=0
+3 FOR
SET APCLVDFN=$ORDER(^XTMP("APCLER2",APCLJOB,APCLBTH,APCLVDFN))
IF APCLVDFN=""!($DATA(APCLQUIT))
QUIT
DO SET2
END ;
+1 DO DONE^APCLOSUT
+2 KILL ^XTMP("APCLER2",APCLJOB,APCLBTH)
+3 QUIT
SET2 ;
+1 SET APCLVER=^XTMP("APCLER2",APCLJOB,APCLBTH,APCLVDFN)
+2 SET APCLVREC=^AUPNVSIT(APCLVDFN,0)
+3 SET APCLHRCN=$SELECT($DATA(^AUPNPAT($PIECE(APCLVREC,U,5),41,DUZ(2),0)):$JUSTIFY($PIECE(^AUTTLOC(DUZ(2),0),U,7),4)_" "_$PIECE(^AUPNPAT($PIECE(APCLVREC,U,5),41,DUZ(2),0),U,2),1:"<NONE>")
PRN ;
+1 SET APCLNAME=$EXTRACT($PIECE(^DPT($PIECE(APCLVREC,U,5),0),U),1,15)
+2 KILL ^UTILITY("DIQ1",$JOB)
SET DIC=9000001
SET DA=$PIECE(APCLVREC,U,5)
SET DR=1102.99
DO EN^DIQ1
+3 SET APCLAGE=$GET(^UTILITY("DIQ1",$JOB,9000001,$PIECE(APCLVREC,U,5),1102.99))
KILL ^UTILITY("DIQ1",$JOB)
+4 SET APCLVD=$EXTRACT($PIECE(APCLVREC,U),4,5)_"/"_$EXTRACT($PIECE(APCLVREC,U),6,7)_"/"_$EXTRACT($PIECE(APCLVREC,U),2,3)
SET Y=$PIECE(APCLVREC,U)
DO DD^%DT
SET APCLVD=APCLVD_" "_$PIECE(Y,"@",2)
+5 SET APCLFAC=$PIECE(^AUTTLOC($PIECE(APCLVREC,U,6),0),U,7)
PRINT1 ;
+1 IF $Y>(IOSL-5)
DO HEAD
IF $DATA(APCLQUIT)
QUIT
+2 WRITE !,APCLNAME,?16,APCLHRCN,?28,APCLVD,?45,?49,APCLFAC
SET APCLFRST=0
SET APCLP=0
+3 FOR
SET APCLP=$ORDER(^AUPNVPOV("AD",APCLVDFN,APCLP))
IF APCLP'=+APCLP
QUIT
Begin DoDot:1
+4 IF APCLFRST
WRITE !
+5 SET APCLFRST=APCLFRST+1
+6 WRITE ?54,$PIECE($$ICDDX^ICDEX($PIECE(^AUPNVPOV(APCLP,0),U)),U,2)
IF $PIECE(^AUPNVPOV(APCLP,0),U,4)]""
WRITE ?64,$EXTRACT($$VAL^XBDIQ1(9000010.07,APCLP,.04),1,16)
End DoDot:1
PRINT2 ;
+1 SET APCLVD=$EXTRACT($PIECE(^AUPNVSIT(APCLVER,0),U),4,5)_"/"_$EXTRACT($PIECE(^AUPNVSIT(APCLVER,0),U),6,7)_"/"_$EXTRACT($PIECE(^AUPNVSIT(APCLVER,0),U),2,3)
SET Y=$PIECE(^AUPNVSIT(APCLVER,0),U)
DO DD^%DT
SET APCLVD=APCLVD_" "_$PIECE(Y,"@",2)
+2 SET APCLCLN=$SELECT($PIECE(^AUPNVSIT(APCLVER,0),U,8):$PIECE(^DIC(40.7,$PIECE(^AUPNVSIT(APCLVER,0),U,8),0),U,2),1:"--")
+3 SET APCLFAC=$SELECT($PIECE(^AUPNVSIT(APCLVER,0),U,6):$PIECE(^AUTTLOC($PIECE(^AUPNVSIT(APCLVER,0),U,6),0),U,7),1:"--")
+4 IF $Y>(IOSL-5)
DO HEAD
IF $DATA(APCLQUIT)
QUIT
+5 WRITE !?3,"ER Visit Information =>",?28,APCLVD,?45,APCLCLN,?49,APCLFAC
SET (APCLFRST,APCLP)=0
+6 FOR
SET APCLP=$ORDER(^AUPNVPOV("AD",APCLVER,APCLP))
IF APCLP'=+APCLP
QUIT
Begin DoDot:1
+7 IF APCLFRST
WRITE !
+8 SET APCLFRST=APCLFRST+1
+9 WRITE ?54,$PIECE($$ICDDX^ICDEX($PIECE(^AUPNVPOV(APCLP,0),U),0),U,2)
IF $PIECE(^AUPNVPOV(APCLP,0),U,4)]""
WRITE ?64,$EXTRACT($$VAL^XBDIQ1(9000010.07,APCLP,.04),1,16)
+10 QUIT
End DoDot:1
+11 WRITE !
+12 QUIT
HEAD IF 'APCLPG
GOTO HEAD1
+1 IF $EXTRACT(IOST)="C"
IF IO=IO(0)
WRITE !
SET DIR(0)="EO"
DO ^DIR
KILL DIR
IF Y=0!(Y="^")!($DATA(DTOUT))
SET APCLQUIT=""
QUIT
HEAD1 ;
+1 IF $DATA(IOF)
WRITE @IOF
SET APCLPG=APCLPG+1
+2 WRITE !
+3 SET X=$PIECE(^DIC(4,DUZ(2),0),U)
+4 WRITE !!,$PIECE(^VA(200,DUZ,0),"^",2),?(80-$LENGTH(X)/2),X,?70,"Page ",APCLPG
+5 WRITE !?25,"HOSPITAL ADMISSIONS AFTER ER VISIT"
+6 WRITE !?18,"VISITS DATES: ",APCLBDD," TO ",APCLEDD
+7 WRITE !!?5,"NAME",?17,"HRCN",?28,"VISIT DATE&TIME",?45,"CLN",?49,"FAC",?54,"ICD",?64,"PROV NARRATIVE"
+8 WRITE !,$TRANSLATE($JUSTIFY("",80)," ","-")
+9 WRITE !
+10 QUIT
+11 ;