- RAUTL16 ;HISC/DAD-EXAM STATUS IMAGING TYPE INCONSISTENCIES REPORT ;1/26/95 08:55
- ;;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^RAUTL16" D ^%ZTLOAD
- . Q
- ENTSK ;
- K ^TMP("RAUTL16",$J)
- S RAIMAGE=0
- F S RAIMAGE=$O(^RADPT("AS",RAIMAGE)) Q:RAIMAGE'>0 D
- . S RAD0=0
- . F S RAD0=$O(^RADPT("AS",RAIMAGE,RAD0)) Q:RAD0'>0 D
- .. S RADFN=$P($G(^RADPT(RAD0,0)),U) Q:RADFN'>0
- .. S RAD1=0
- .. F S RAD1=$O(^RADPT("AS",RAIMAGE,RAD0,RAD1)) Q:RAD1'>0 D
- ... S RA=$G(^RADPT(RAD0,"DT",RAD1,0))
- ... S RAEXAMDT=$P(RA,U),RAIMTYPE=$P(RA,U,2) Q:RAEXAMDT'>0!(RAIMTYPE'>0)
- ... S RAD2=0
- ... F S RAD2=$O(^RADPT("AS",RAIMAGE,RAD0,RAD1,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
- . 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=0
- .. F S RAEXAMDT=$O(^TMP("RAUTL16",$J,RADFN,RASSN,RAEXAMDT)) Q:RAEXAMDT'>0!RAEXIT D
- ... S RACASENO=0
- ... F S RACASENO=$O(^TMP("RAUTL16",$J,RADFN,RASSN,RAEXAMDT,RACASENO)) Q:RACASENO'>0!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),DIRUT
- Q
- MISSING ;
- S:RACASENO'>0 RACASENO="Missing" S:RAEXAMST="" 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 RADFN(0)=$G(VADM(1)),RA=$G(VA("PID")),RASSN=$P(RA,U),RASSN(0)=$P(RA,U) ;IHS/ITSC/CLS 09/25/2003 use HRCN
- 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_RAD0_U_RAD1_U_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
- 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 !,"PATIENT",?34,"HRCN" ;IHS/ITSC/CLS 09/25/2003
- W !?3,"EXAM DATE/TIME",?25,"CASE#",?34,"IMAGING TYPE OF VISIT"
- W ?68,"EXAM STATUS",?102,"IMAGING TYPE OF EXAM STATUS",!,RAUNDL
- Q
- RAUTL16 ;HISC/DAD-EXAM STATUS IMAGING TYPE INCONSISTENCIES REPORT ;1/26/95 08:55
- +1 ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
- +2 ;
- +3 WRITE !,"This report requires a 132 column output device."
- +4 KILL %ZIS,IOP
- SET %ZIS="QM"
- WRITE !
- DO ^%ZIS
- IF POP
- GOTO EXIT
- +5 IF $DATA(IO("Q"))
- Begin DoDot:1
- +6 SET ZTDESC="Rad/Nuc Med EXAM STATUS IMAGING TYPE INCONSISTENCIES REPORT"
- +7 SET ZTRTN="ENTSK^RAUTL16"
- DO ^%ZTLOAD
- +8 QUIT
- End DoDot:1
- GOTO EXIT
- ENTSK ;
- +1 KILL ^TMP("RAUTL16",$JOB)
- +2 SET RAIMAGE=0
- +3 FOR
- SET RAIMAGE=$ORDER(^RADPT("AS",RAIMAGE))
- IF RAIMAGE'>0
- QUIT
- Begin DoDot:1
- +4 SET RAD0=0
- +5 FOR
- SET RAD0=$ORDER(^RADPT("AS",RAIMAGE,RAD0))
- IF RAD0'>0
- QUIT
- Begin DoDot:2
- +6 SET RADFN=$PIECE($GET(^RADPT(RAD0,0)),U)
- IF RADFN'>0
- QUIT
- +7 SET RAD1=0
- +8 FOR
- SET RAD1=$ORDER(^RADPT("AS",RAIMAGE,RAD0,RAD1))
- IF RAD1'>0
- QUIT
- Begin DoDot:3
- +9 SET RA=$GET(^RADPT(RAD0,"DT",RAD1,0))
- +10 SET RAEXAMDT=$PIECE(RA,U)
- SET RAIMTYPE=$PIECE(RA,U,2)
- IF RAEXAMDT'>0!(RAIMTYPE'>0)
- QUIT
- +11 SET RAD2=0
- +12 FOR
- SET RAD2=$ORDER(^RADPT("AS",RAIMAGE,RAD0,RAD1,RAD2))
- IF RAD2'>0
- QUIT
- Begin DoDot:4
- +13 SET RA=$GET(^RADPT(RAD0,"DT",RAD1,"P",RAD2,0))
- +14 SET RACASENO=$PIECE(RA,U)
- SET RAEXAMST=$PIECE(RA,U,3)
- IF RACASENO'>0!(RAEXAMST'>0)
- DO MISSING
- +15 SET RAIMEXAM=$PIECE($GET(^RA(72,+RAEXAMST,0)),U,7)
- +16 IF RAIMTYPE'=RAIMEXAM
- DO SORT
- +17 QUIT
- End DoDot:4
- +18 QUIT
- End DoDot:3
- +19 QUIT
- End DoDot:2
- +20 QUIT
- End DoDot:1
- +21 ;
- +22 SET RAEXIT=0
- SET RAPAGE=1
- SET RATODAY=$$FMTE^XLFDT($$DT^XLFDT)
- +23 KILL RAUNDL
- SET $PIECE(RAUNDL,"-",133)=""
- +24 USE IO
- DO HEADER
- +25 IF $ORDER(^TMP("RAUTL16",$JOB,""))=""
- Begin DoDot:1
- +26 WRITE !!,"The imaging type of the visit matches the imaging type"
- +27 WRITE !,"of the exam status for all current incomplete exams."
- +28 QUIT
- End DoDot:1
- DO PAUSE
- GOTO EXIT
- +29 SET RADFN=""
- SET RAEXIT=0
- +30 FOR
- SET RADFN=$ORDER(^TMP("RAUTL16",$JOB,RADFN))
- IF RADFN=""!RAEXIT
- QUIT
- Begin DoDot:1
- +31 SET RASSN=""
- +32 FOR
- SET RASSN=$ORDER(^TMP("RAUTL16",$JOB,RADFN,RASSN))
- IF RASSN=""!RAEXIT
- QUIT
- Begin DoDot:2
- +33 SET RAEXAMDT=0
- +34 FOR
- SET RAEXAMDT=$ORDER(^TMP("RAUTL16",$JOB,RADFN,RASSN,RAEXAMDT))
- IF RAEXAMDT'>0!RAEXIT
- QUIT
- Begin DoDot:3
- +35 SET RACASENO=0
- +36 FOR
- SET RACASENO=$ORDER(^TMP("RAUTL16",$JOB,RADFN,RASSN,RAEXAMDT,RACASENO))
- IF RACASENO'>0!RAEXIT
- QUIT
- DO PRINT
- +37 QUIT
- End DoDot:3
- +38 QUIT
- End DoDot:2
- +39 QUIT
- End DoDot:1
- +40 IF 'RAEXIT
- DO PAUSE
- EXIT ;
- +1 IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- DO ^%ZISC
- DO KVA^VADPT
- +2 KILL %ZIS,DFN,DIR,DIROUT,DTOUT,DUOUT,POP,RA,RACASENO,RAD0,RAD1,RAD2,RADFN
- +3 KILL RAEXAMDT,RAEXAMST,RAEXIT,RAIMAGE,RAIMEXAM,RAIMTYPE,RAPAGE,RASSN
- +4 KILL RATODAY,RAUNDL,X,Y,ZTDESC,ZTRTN,^TMP("RAUTL16",$JOB),DIRUT
- +5 QUIT
- MISSING ;
- +1 IF RACASENO'>0
- SET RACASENO="Missing"
- IF RAEXAMST=""
- SET RAEXAMST="Missing"
- SET RAIMEXAM=$PIECE($GET(^RA(72,+RAEXAMST,0)),U,7)
- SORT ;
- +1 DO KVA^VADPT
- SET DFN=RADFN
- DO DEM^VADPT
- +2 ;S RADFN(0)=$G(VADM(1)),RA=$G(VADM(2)),RASSN=$P(RA,U),RASSN(0)=$P(RA,U,2)
- +3 ;IHS/ITSC/CLS 09/25/2003 use HRCN
- SET RADFN(0)=$GET(VADM(1))
- SET RA=$GET(VA("PID"))
- SET RASSN=$PIECE(RA,U)
- SET RASSN(0)=$PIECE(RA,U)
- +4 SET RAEXAMDT(0)=$$FMTE^XLFDT(RAEXAMDT)
- +5 SET RAIMTYPE(0)=$PIECE($GET(^RA(79.2,+RAIMTYPE,0)),U)
- IF RAIMTYPE(0)=""
- SET RAIMTYPE(0)="Missing"
- +6 SET RAEXAMST(0)=$PIECE($GET(^RA(72,+RAEXAMST,0)),U)
- IF RAEXAMST(0)=""
- SET RAEXAMST(0)="Missing"
- +7 SET RAIMEXAM(0)=$PIECE($GET(^RA(79.2,+RAIMEXAM,0)),U)
- IF RAIMEXAM(0)=""
- SET RAIMEXAM(0)="Missing"
- +8 SET ^TMP("RAUTL16",$JOB,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_RAD0_U_RAD1_U_RAD2
- +9 QUIT
- PRINT ;
- +1 SET RA=^TMP("RAUTL16",$JOB,RADFN,RASSN,RAEXAMDT,RACASENO)
- +2 SET RADFN(0)=$PIECE(RA,U)
- SET RASSN(0)=$PIECE(RA,U,2)
- SET RAEXAMDT(0)=$PIECE(RA,U,3)
- +3 SET RAIMTYPE(0)=$PIECE(RA,U,4)
- SET RACASENO(0)=$PIECE(RA,U,5)
- +4 SET RAEXAMST(0)=$PIECE(RA,U,6)
- SET RAIMEXAM(0)=$PIECE(RA,U,7)
- +5 SET RAD0=$PIECE(RA,U,8)
- SET RAD1=$PIECE(RA,U,9)
- SET RAD2=$PIECE(RA,U,10)
- +6 WRITE !!,RADFN(0),?34,RASSN(0)
- +7 WRITE !?3,RAEXAMDT(0),?25,$JUSTIFY(RACASENO(0),5),?34,RAIMTYPE(0)
- +8 WRITE ?68,RAEXAMST(0),?102,RAIMEXAM(0)
- +9 IF $Y>(IOSL-6)
- DO PAUSE
- DO HEADER
- +10 QUIT
- PAUSE ;
- +1 IF $EXTRACT(IOST)="C"
- KILL DIR
- SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- SET RAEXIT=$SELECT(Y'>0:1,1:0)
- +2 QUIT
- +1 IF RAEXIT
- QUIT
- +2 IF $EXTRACT(IOST)="C"!(RAPAGE>1)
- WRITE @IOF
- +3 WRITE !?46,"EXAM STATUS IMAGING TYPE INCONSISTENCIES"
- +4 WRITE ?102,"PAGE: ",RAPAGE,!?102,RATODAY
- SET RAPAGE=RAPAGE+1
- +5 ;W !,"PATIENT",?34,"SSN"
- +6 ;IHS/ITSC/CLS 09/25/2003
- WRITE !,"PATIENT",?34,"HRCN"
- +7 WRITE !?3,"EXAM DATE/TIME",?25,"CASE#",?34,"IMAGING TYPE OF VISIT"
- +8 WRITE ?68,"EXAM STATUS",?102,"IMAGING TYPE OF EXAM STATUS",!,RAUNDL
- +9 QUIT