GMTSMCPZ ; SLC/SBW,KER - Medicine 2.0 HS Component ; 11/02/1998
 ;;2.7;Health Summary;**28**;Oct 20, 1995
 K WH,%DT,X,Y Q
BEG ;SEARCH FOR SELECTED PATIENT IN CARDIOLOGY FILE
 D KVAR^VADPT
 I $D(GMTSNDM),(GMTSNDM>0) S MAX=GMTSNDM
 E  S MAX=50
LOC ;LOCATE PROCEDURES FROM "AC" X-REF
 I '$D(^MCAR(690,"AC",DFN)) G EXIT
 K ^TMP("MCAR",$J) S S4=GMTS1-.0001 F M=1:1:MAX S S4=$O(^MCAR(690,"AC",DFN,S4)) Q:S4=""!(S4>GMTS2)  D LOCFIL
 G PR0
LOCFIL G LOCFIL1:$D(S5) S S5="" F K=1:1 S S5=$O(^MCAR(690,"AC",DFN,S4,S5)) Q:S5=""  D LOCFIL1
 K S5 Q
LOCFIL1 ; Set S5 to the PROCEDURE LOCATION (^MCAR(697.2,Y,0))
 S S6="" F L=1:1 S S6=$O(^MCAR(690,"AC",DFN,S4,S5,S6)) Q:S6=""  D CONT
 Q
CONT I S5[699 S (LL,LL1)=$P(^MCAR(699,S6,0),U,12),LL=$P(^MCAR(697.2,LL,0),U) G CONT1:'$D(PE) Q:PE'=LL  G CONT1
 I S5[694 S (LL,LL1)=$P(^MCAR(694,S6,0),U,3),LL=$P(^MCAR(697.2,LL,0),U) G CONT1:'$D(PE) Q:PE'=LL  G CONT1
 S (LL,LL1)=$O(^MCAR(697.2,"C",S5,0)),LL=$P(^MCAR(697.2,LL,0),U,1)
CONT1 S MCARSUM="",MCARFILE=U_S5_","_S6_",.2)" S:$D(@MCARFILE) MCARSUM=$P(@MCARFILE,U,1)
 K MCARFILE S S1=S4,S2=LL
 S ^TMP("MCAR",$J,S1,S2)=MCARSUM_U_S6_U_$P(^MCAR(697.2,LL1,0),U,5,7) K MCARSUM Q
PR0 I '$D(^TMP("MCAR",$J)) G EXIT
 S I="",L=0
PR1 S I=$O(^TMP("MCAR",$J,I)) G PR1:I="OT" I I="" G EXIT
 S J=""
PR2 S J=$O(^TMP("MCAR",$J,I,J)) G PR1:J="" S MCARDT=I,MCARPROC=J,PR=^(J)
 S DA=$P(PR,U,2),K=$P(PR,U)
 S K=$S(K="N"!(K="L"):"NORMAL",K="A":"ABNORMAL",K="B":"BORDERLINE",K="T":"TECHNICALLY UNSATISFACTORY",K="ND":"NON-DIAGNOSTIC",1:"")
 S Y=9999999.9999-MCARDT X ^DD("DD") D DFIX,CKP^GMTSUP Q:$D(GMTSQIT)  W Y,?23,MCARPROC,?62,K,!
 S ^TMP("MCAR",$J,"OT",L)=MCARPROC_U_DA_U_$P(PR,U,3,5)
 G PR2
DFIX ;
 S %DT="T",X=Y D ^%DT S X=Y D REGDTM4^GMTSU S Y=X Q
EXIT ;
 K PR,OT,DA,MCARPPS,I,J,R,L,S1,S2,S4,S5,S6,LL,LL1,MAX,VA
 K ^TMP("MCAR",$J),K,N,MCARDT,MCARNM,MCARPROC,M Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMTSMCPZ   1861     printed  Sep 23, 2025@19:34:12                                                                                                                                                                                                    Page 2
GMTSMCPZ  ; SLC/SBW,KER - Medicine 2.0 HS Component ; 11/02/1998
 +1       ;;2.7;Health Summary;**28**;Oct 20, 1995
 +2        KILL WH,%DT,X,Y
           QUIT 
BEG       ;SEARCH FOR SELECTED PATIENT IN CARDIOLOGY FILE
 +1        DO KVAR^VADPT
 +2        IF $DATA(GMTSNDM)
               IF (GMTSNDM>0)
                   SET MAX=GMTSNDM
 +3       IF '$TEST
               SET MAX=50
LOC       ;LOCATE PROCEDURES FROM "AC" X-REF
 +1        IF '$DATA(^MCAR(690,"AC",DFN))
               GOTO EXIT
 +2        KILL ^TMP("MCAR",$JOB)
           SET S4=GMTS1-.0001
           FOR M=1:1:MAX
               SET S4=$ORDER(^MCAR(690,"AC",DFN,S4))
               if S4=""!(S4>GMTS2)
                   QUIT 
               DO LOCFIL
 +3        GOTO PR0
LOCFIL     if $DATA(S5)
               GOTO LOCFIL1
           SET S5=""
           FOR K=1:1
               SET S5=$ORDER(^MCAR(690,"AC",DFN,S4,S5))
               if S5=""
                   QUIT 
               DO LOCFIL1
 +1        KILL S5
           QUIT 
LOCFIL1   ; Set S5 to the PROCEDURE LOCATION (^MCAR(697.2,Y,0))
 +1        SET S6=""
           FOR L=1:1
               SET S6=$ORDER(^MCAR(690,"AC",DFN,S4,S5,S6))
               if S6=""
                   QUIT 
               DO CONT
 +2        QUIT 
CONT       IF S5[699
               SET (LL,LL1)=$PIECE(^MCAR(699,S6,0),U,12)
               SET LL=$PIECE(^MCAR(697.2,LL,0),U)
               if '$DATA(PE)
                   GOTO CONT1
               if PE'=LL
                   QUIT 
               GOTO CONT1
 +1        IF S5[694
               SET (LL,LL1)=$PIECE(^MCAR(694,S6,0),U,3)
               SET LL=$PIECE(^MCAR(697.2,LL,0),U)
               if '$DATA(PE)
                   GOTO CONT1
               if PE'=LL
                   QUIT 
               GOTO CONT1
 +2        SET (LL,LL1)=$ORDER(^MCAR(697.2,"C",S5,0))
           SET LL=$PIECE(^MCAR(697.2,LL,0),U,1)
CONT1      SET MCARSUM=""
           SET MCARFILE=U_S5_","_S6_",.2)"
           if $DATA(@MCARFILE)
               SET MCARSUM=$PIECE(@MCARFILE,U,1)
 +1        KILL MCARFILE
           SET S1=S4
           SET S2=LL
 +2        SET ^TMP("MCAR",$JOB,S1,S2)=MCARSUM_U_S6_U_$PIECE(^MCAR(697.2,LL1,0),U,5,7)
           KILL MCARSUM
           QUIT 
PR0        IF '$DATA(^TMP("MCAR",$JOB))
               GOTO EXIT
 +1        SET I=""
           SET L=0
PR1        SET I=$ORDER(^TMP("MCAR",$JOB,I))
           if I="OT"
               GOTO PR1
           IF I=""
               GOTO EXIT
 +1        SET J=""
PR2        SET J=$ORDER(^TMP("MCAR",$JOB,I,J))
           if J=""
               GOTO PR1
           SET MCARDT=I
           SET MCARPROC=J
           SET PR=^(J)
 +1        SET DA=$PIECE(PR,U,2)
           SET K=$PIECE(PR,U)
 +2        SET K=$SELECT(K="N"!(K="L"):"NORMAL",K="A":"ABNORMAL",K="B":"BORDERLINE",K="T":"TECHNICALLY UNSATISFACTORY",K="ND":"NON-DIAGNOSTIC",1:"")
 +3        SET Y=9999999.9999-MCARDT
           XECUTE ^DD("DD")
           DO DFIX
           DO CKP^GMTSUP
           if $DATA(GMTSQIT)
               QUIT 
           WRITE Y,?23,MCARPROC,?62,K,!
 +4        SET ^TMP("MCAR",$JOB,"OT",L)=MCARPROC_U_DA_U_$PIECE(PR,U,3,5)
 +5        GOTO PR2
DFIX      ;
 +1        SET %DT="T"
           SET X=Y
           DO ^%DT
           SET X=Y
           DO REGDTM4^GMTSU
           SET Y=X
           QUIT 
EXIT      ;
 +1        KILL PR,OT,DA,MCARPPS,I,J,R,L,S1,S2,S4,S5,S6,LL,LL1,MAX,VA
 +2        KILL ^TMP("MCAR",$JOB),K,N,MCARDT,MCARNM,MCARPROC,M
           QUIT