MAGGTUX1 ;WIOFO/GEK Imaging utility to track missing TYPE INDEX values. ;;3.0;IMAGING;**59**;Nov 27, 2007;Build 20 ;;Per VHA Directive 2004-038, this routine should not be modified. ;; +---------------------------------------------------------------+ ;; | Property of the US Government. | ;; | No permission to copy or redistribute this software is given. | ;; | Use of unreleased versions of this software requires the user | ;; | to execute a written test agreement with the VistA Imaging | ;; | Development Office of the Department of Veterans Affairs, | ;; | telephone (301) 734-0100. | ;; | | ;; | The Food and Drug Administration classifies this software as | ;; | a medical device. As such, it may not be changed in any way. | ;; | Modifications to this software may result in an adulterated | ;; | medical device under 21CFR820, the use of which is considered | ;; | to be a violation of US Federal Statutes. | ;; +---------------------------------------------------------------+ ;; Q REVIEW ; N CHK,FIX,MAGN S CHK=$D(^XTMP("MAGGTUXC")) S FIX=$D(^XTMP("MAGGTUX")) N EQ S $P(EQ,"=",78)="" W !,EQ I 'CHK,'FIX W !,"No reports to review." Q S X=$S(FIX:"F",1:"C") I CHK&FIX D . W !,"Review last Report of Checked or Fixed Index terms: C/F //F :" R X:30 I "fF"[$E(X) W !,"Starting Review of last Fixed Report:" S MAGN="MAGGTUX" E W !,"Starting Review of last Checked Report:" S MAGN="MAGGTUXC" W !,"Summary of search for Images where TYPE INDEX = null" N I,PKG,BT,ICT,CT,J,JCT,TCT,TTCT S BT=0 D 3 ; W !,"Last Image IEN missing a Type Index : ",$P($G(^XTMP(MAGN,0,"NT")),"-") W ?41,$$FMTE^XLFDT($P($G(^XTMP(MAGN,0,"NT")),"-",2)) W !,"Last Image IEN missing All Index : ",$P($G(^XTMP(MAGN,0,"NI")),"-") W ?41,$$FMTE^XLFDT($P($G(^XTMP(MAGN,0,"NI")),"-",2)) W !,"------------------------------" S I="",TCT=0 W !,"Different settings of invalid INDEX Node" W !,"Current Terms",?22,"Generated Terms",?50,"New Terms",! F S I=$O(^XTMP(MAGN,"AAN40",I)) Q:I="" D . S TCT=TCT+$G(^XTMP(MAGN,"AAN40",I)) . W !,I,?20,^XTMP(MAGN,"AAN40",I),?65,"= ",TCT . S J="" F S J=$O(^XTMP(MAGN,"AAN40",I,"CVT",J)) Q:J="" D . . W !,I,?20,"+ ",J,?45,"= ",^XTMP(MAGN,"AAN40",I,"CVT",J) . Q ; DISPLAY ; This is called after a CHECK or a FIX from MAGGTUX N A S A=$NA(^TMP($J,"MAGGTUX","RPT")) D BUILD(A) S I="" F S I=$O(@A@(I)) Q:I="" D MES^XPDUTL(^(I)) Q MAIL ; This will mail results to the MAG SERVER mail group. N A,MAGDT S MAGDT=$P($$FMTE^XLFDT($$NOW^XLFDT),"@",1) S A=$NA(^TMP($J,"MAGQ")) D BUILD(A) N XMSUB S XMSUB="Image Index Validate "_MAGDT_": Report" S @A@(1)=$$GET1^DIQ(200,$G(DUZ),.01)_" "_$$GET1^DIQ(4,$G(DUZ(2)),.01) D MAILSHR^MAGQBUT1 Q BUILD(A) ;BUILD A TMP global of the report. N CT S CT=5 K @A S CT=CT+1,@A@(CT)="=================================================================" S CT=CT+1,@A@(CT)="Start time : "_$$FMTE^XLFDT($P(^XTMP(MAGN,0),"^",2)) S CT=CT+1,@A@(CT)="End time : "_$P($G(^XTMP(MAGN,0,"END")),"^",1) S CT=CT+1,@A@(CT)="Elapsed time : "_$P($G(^XTMP(MAGN,0,"END")),"^",2) S CT=CT+1,@A@(CT)="Last Image IEN missing a Type Index : "_$P($G(^XTMP(MAGN,0,"NT")),"-")_" "_$$FMTE^XLFDT($P($G(^XTMP(MAGN,0,"NT")),"-",2)) S CT=CT+1,@A@(CT)="Last Image IEN missing All Index : "_$P($G(^XTMP(MAGN,0,"NI")),"-")_" "_$$FMTE^XLFDT($P($G(^XTMP(MAGN,0,"NI")),"-",2)) S CT=CT+1,@A@(CT)="Total Checked: "_$G(^XTMP(MAGN,"AATCHK")) S CT=CT+1,@A@(CT)=" -- Entries Missing a Type Index -- " S CT=CT+1,@A@(CT)="Total Study Groups & Single Images : "_+$G(^XTMP(MAGN,"AANT")) S CT=CT+1,@A@(CT)="Total Group Images : "_$G(^XTMP(MAGN,"AAGRINT")) S CT=CT+1,@A@(CT)=" -- Entries Missing all Index Terms -- " S CT=CT+1,@A@(CT)="Total Study Groups & Single Images : "_+$G(^XTMP(MAGN,"AANI")) S CT=CT+1,@A@(CT)="Total Group Images : "_$G(^XTMP(MAGN,"AAGRINI")) S CT=CT+1,@A@(CT)=" -- Other Index checks -- " S CT=CT+1,@A@(CT)=" Total Origin Index fixes : "_$G(^XTMP(MAGN,"AAOFX")) S CT=CT+1,@A@(CT)=" CR -> CT fix : "_$G(^XTMP(MAGN,"AACRCT")) S CT=CT+1,@A@(CT)=" Total DataBase Changes = "_+$G(^XTMP(MAGN,"AAFIX")) S CT=CT+1,@A@(CT)=" " S CT=CT+1,@A@(CT)="Also : Information gathered during Check/Fix" S CT=CT+1,@A@(CT)=" - - - Generate Index Values and Merge - - - " S CT=CT+1,@A@(CT)=" The Merged proc/spec not valid. No change.) "_$G(^XTMP(MAGN,"AANOMERG")) S CT=CT+1,@A@(CT)=" The Merged proc/spec was okay. Changed. "_$G(^XTMP(MAGN,"AAOKMERG")) S CT=CT+1,@A@(CT)=" - - - other - - - " S CT=CT+1,@A@(CT)=" Total Groups of only 1 image "_$G(^XTMP(MAGN,"AAGO1")) S CT=CT+1,@A@(CT)=" Total Groups of 0 images "_$G(^XTMP(MAGN,"AAGO0")) S CT=CT+1,@A@(CT)=" Total Images w/No Patient "_$G(^XTMP(MAGN,"AANOPAT")) S CT=CT+1,@A@(CT)=" Total Images w/No 0 node "_$G(^XTMP(MAGN,"AANOZ")) S CT=CT+1,@A@(CT)=" Warnings: Generated Proc,Spec "_$G(^XTMP(MAGN,"AAINVG")) S CT=CT+1,@A@(CT)=" Warnings: Entered Proc,Spec "_$G(^XTMP(MAGN,"AAINVO")) S IEN=$P(^XTMP(MAGN,0),"^",3) I +IEN D . S CT=CT+1,@A@(CT)=" " . S CT=CT+1,@A@(CT)="Last IEN Checked: "_IEN . S CT=CT+1,@A@(CT)=" Capture Date: "_$$FMTE^XLFDT($P($G(^MAG(2005,IEN,2)),"^",1)) . Q I IEN=0 D . S CT=CT+1,@A@(CT)=" " . S CT=CT+1,@A@(CT)="All Entries were checked" . Q S CT=CT+1,@A@(CT)=" " S CT=CT+1,@A@(CT)="For a summary of the last Check or Fix process" S CT=CT+1,@A@(CT)="Use the menu option: " S CT=CT+1,@A@(CT)=" ""REV Review a Summary of the last Fix or Check process.""" S CT=CT+1,@A@(CT)="=================================================================" Q ; 3 ; called from above. Display the Spec - Proc problems N MAIDX S MAIDX="MAIDXG" W !!,"Mismatch in the Generated Values of Specialty/SubSpec <-> Proc/Event",! D 31 S MAIDX="MAIDXO" W !!,"Mismatch in the User entered Values of Specialty/SubSpec <-> Proc/Event",! D 31 Q 31 ; N IT,IS,IP N I,SD,SUBO,I3,CT,J,MY S IT="" F S IT=$O(^XTMP(MAGN,MAIDX,IT)) Q:IT="" D . S IS="" F S IS=$O(^XTMP(MAGN,MAIDX,IT,IS)) Q:IS="" D . . S IP="" F S IP=$O(^XTMP(MAGN,MAIDX,IT,IS,IP)) Q:IP="" D . . . S CT=^(IP) . . . K MY D VALTUX1^MAGGTUX3(.MY,IT,IS,IP) W !,CT," " . . . S I="" F S I=$O(MY(I)) Q:I="" W ?7,MY(I),! . . . I $L($O(^MAG(2005.85,IP,1,"B",""))) W ?35,"Valid specs: " . . . S I3="" F S I3=$O(^MAG(2005.85,IP,1,"B",I3)) Q:'I3 D . . . . W !,?35,$P(^MAG(2005.84,I3,0),"^") . . . . S SUBO=$P(^MAG(2005.84,I3,0),"^",3) . . . . I SUBO W " <",$P(^MAG(2005.84,SUBO,0),"^"),">" . . . . Q . . . K ^TMP($J,"MAGDCT") . . . S SD="" F S SD=$O(^XTMP(MAGN,"MAIDSD",+IT,+IS,+IP,"SD",SD)) Q:SD="" D . . . . S ^TMP($J,"MAGDCT",^XTMP(MAGN,"MAIDSD",+IT,+IS,+IP,"SD",SD))="Desc: "_SD . . . S CT="" F J=1:1:5 S CT=$O(^TMP($J,"MAGDCT",CT),-1) Q:CT="" W !,?7,CT,?15,"Desc: ",^TMP($J,"MAGDCT",CT) . . . W ! . . . Q . . Q . Q Q