94 lines
3.5 KiB
Mathematica
94 lines
3.5 KiB
Mathematica
RAUTL16A ;HISC/DAD-EXAM STATUS IMAGING TYPE INCONSISTENCIES REPORT (FULL FILE SCAN) ;1/26/95 10:23
|
|
;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
|
;
|
|
W !,"This report requires a 132 column output device."
|
|
K %ZIS,IOP S %ZIS="QM" W ! D ^%ZIS G:POP EXIT
|
|
I $D(IO("Q")) D G EXIT
|
|
. S ZTDESC="Rad/Nuc Med EXAM STATUS IMAGING TYPE INCONSISTENCIES REPORT"
|
|
. S ZTRTN="ENTSK^RAUTL16A" D ^%ZTLOAD
|
|
. Q
|
|
ENTSK ;
|
|
K ^TMP("RAUTL16",$J)
|
|
S RAD0=0
|
|
F S RAD0=$O(^RADPT(RAD0)) Q:RAD0'>0 D
|
|
. S RADFN=$P($G(^RADPT(RAD0,0)),U) Q:RADFN'>0
|
|
. S RAD1=0
|
|
. F S RAD1=$O(^RADPT(RAD0,"DT",RAD1)) Q:RAD1'>0 D
|
|
.. S RA=$G(^RADPT(RAD0,"DT",RAD1,0))
|
|
.. S RAEXAMDT=$P(RA,U),RAIMTYPE=$P(RA,U,2)
|
|
.. I RAEXAMDT'>0!(RAIMTYPE'>0) D MISSING
|
|
.. S RAD2=0
|
|
.. F S RAD2=$O(^RADPT(RAD0,"DT",RAD1,"P",RAD2)) Q:RAD2'>0 D
|
|
... S RA=$G(^RADPT(RAD0,"DT",RAD1,"P",RAD2,0))
|
|
... S RACASENO=$P(RA,U),RAEXAMST=$P(RA,U,3)
|
|
... I RACASENO'>0!(RAEXAMST'>0) D MISSING
|
|
... S RAIMEXAM=$P($G(^RA(72,+RAEXAMST,0)),U,7)
|
|
... I RAIMTYPE'=RAIMEXAM D SORT
|
|
... Q
|
|
.. Q
|
|
. Q
|
|
;
|
|
S RAEXIT=0,RAPAGE=1,RATODAY=$$FMTE^XLFDT($$DT^XLFDT)
|
|
K RAUNDL S $P(RAUNDL,"-",133)=""
|
|
U IO D HEADER
|
|
I $O(^TMP("RAUTL16",$J,""))="" D D PAUSE G EXIT
|
|
. W !!,"The imaging type of the visit matches the imaging type"
|
|
. W !,"of the exam status for all current incomplete exams."
|
|
. Q
|
|
S RADFN="",RAEXIT=0
|
|
F S RADFN=$O(^TMP("RAUTL16",$J,RADFN)) Q:RADFN=""!RAEXIT D
|
|
. S RASSN=""
|
|
. F S RASSN=$O(^TMP("RAUTL16",$J,RADFN,RASSN)) Q:RASSN=""!RAEXIT D
|
|
.. S RAEXAMDT=""
|
|
.. F S RAEXAMDT=$O(^TMP("RAUTL16",$J,RADFN,RASSN,RAEXAMDT)) Q:RAEXAMDT=""!RAEXIT D
|
|
... S RACASENO=""
|
|
... F S RACASENO=$O(^TMP("RAUTL16",$J,RADFN,RASSN,RAEXAMDT,RACASENO)) Q:RACASENO=""!RAEXIT D PRINT
|
|
... Q
|
|
.. Q
|
|
. Q
|
|
I 'RAEXIT D PAUSE
|
|
EXIT ;
|
|
S:$D(ZTQUEUED) ZTREQ="@" D ^%ZISC,KVA^VADPT
|
|
K %ZIS,DFN,DIR,DIROUT,DTOUT,DUOUT,POP,RA,RACASENO,RAD0,RAD1,RAD2,RADFN
|
|
K RAEXAMDT,RAEXAMST,RAEXIT,RAIMAGE,RAIMEXAM,RAIMTYPE,RAPAGE,RASSN
|
|
K RATODAY,RAUNDL,X,Y,ZTDESC,ZTRTN,^TMP("RAUTL16",$J)
|
|
Q
|
|
MISSING ;
|
|
S:$G(RAEXAMDT)'>0 RAEXAMDT="Missing"
|
|
S:$G(RAIMTYPE)'>0 RAIMTYPE="Missing"
|
|
S:$G(RACASENO)'>0 RACASENO="Missing"
|
|
S:$G(RAEXAMST)'>0 RAEXAMST="Missing"
|
|
S RAIMEXAM=$P($G(^RA(72,+RAEXAMST,0)),U,7)
|
|
SORT ;
|
|
D KVA^VADPT S DFN=RADFN D DEM^VADPT
|
|
S RADFN(0)=$G(VADM(1)),RA=$G(VADM(2)),RASSN=$P(RA,U),RASSN(0)=$P(RA,U,2)
|
|
S RAEXAMDT(0)=$$FMTE^XLFDT(RAEXAMDT)
|
|
S RAIMTYPE(0)=$P($G(^RA(79.2,+RAIMTYPE,0)),U) I RAIMTYPE(0)="" S RAIMTYPE(0)="Missing"
|
|
S RAEXAMST(0)=$P($G(^RA(72,+RAEXAMST,0)),U) I RAEXAMST(0)="" S RAEXAMST(0)="Missing"
|
|
S RAIMEXAM(0)=$P($G(^RA(79.2,+RAIMEXAM,0)),U) I RAIMEXAM(0)="" S RAIMEXAM(0)="Missing"
|
|
S ^TMP("RAUTL16",$J,RADFN(0),RASSN,RAEXAMDT,RACASENO)=RADFN(0)_U_RASSN(0)_U_RAEXAMDT(0)_U_RAIMTYPE(0)_U_RACASENO_U_RAEXAMST(0)_U_RAIMEXAM(0)_U_+$G(RAD0)_U_+$G(RAD1)_U_+$G(RAD2)
|
|
Q
|
|
PRINT ;
|
|
S RA=^TMP("RAUTL16",$J,RADFN,RASSN,RAEXAMDT,RACASENO)
|
|
S RADFN(0)=$P(RA,U),RASSN(0)=$P(RA,U,2),RAEXAMDT(0)=$P(RA,U,3)
|
|
S RAIMTYPE(0)=$P(RA,U,4),RACASENO(0)=$P(RA,U,5)
|
|
S RAEXAMST(0)=$P(RA,U,6),RAIMEXAM(0)=$P(RA,U,7)
|
|
S RAD0=$P(RA,U,8),RAD1=$P(RA,U,9),RAD2=$P(RA,U,10)
|
|
W !!,RADFN(0),?34,RASSN(0)
|
|
W !?3,RAEXAMDT(0),?25,$J(RACASENO(0),5),?34,RAIMTYPE(0)
|
|
W ?68,RAEXAMST(0),?102,RAIMEXAM(0)
|
|
I $Y>(IOSL-6) D PAUSE,HEADER
|
|
Q
|
|
PAUSE ;
|
|
I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR K DIR S RAEXIT=$S(Y'>0:1,1:0)
|
|
Q
|
|
HEADER ;
|
|
Q:RAEXIT
|
|
W:$E(IOST)="C"!(RAPAGE>1) @IOF
|
|
W !?46,"EXAM STATUS IMAGING TYPE INCONSISTENCIES"
|
|
W ?102,"PAGE: ",RAPAGE,!?102,RATODAY S RAPAGE=RAPAGE+1
|
|
W !,"PATIENT",?34,"SSN"
|
|
W !?3,"EXAM DATE/TIME",?25,"CASE#",?34,"IMAGING TYPE OF VISIT"
|
|
W ?68,"EXAM STATUS",?102,"IMAGING TYPE OF EXAM STATUS",!,RAUNDL
|
|
Q
|