MCARP ;WISC/TJK,WAA-PRINT ROUTINES ;12/15/97 14:54
;;2.3;Medicine;**6,14,15,18,27,33,35,39**;09/13/1996
; Reference IA #2432 for Hospital Location File #44 FM Lookup
; #1576 for DIVISION file 40.8 lookup
; #10035 for Patient File (#2) Direct Global Reads
; #10061 for ^VADPT call.
;
CATH ;
S DIC="^MCAR(691.1,",MCARZ="CATHETERIZATION REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"CATHB",1:"CATH1") G LOOK
ECHO S DIC="^MCAR(691,",MCARZ="ECHO REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"ECHOB",1:"ECHO1") G LOOK
ECG S DIC="^MCAR(691.5,",MCARZ="ECG REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"ECGB",1:"ECG1") G LOOK
EP S DIC="^MCAR(691.8,",MCARZ="EP REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"EPB",1:"EP1") G LOOK
HOLTER S DIC="^MCAR(691.6,",MCARZ="HOLTER REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"HOLTERB",1:"HOLTER1") G LOOK
RHFULL S DIC="^MCAR(701,",MCARZ="RHEUMATOLOGY REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"RHB",1:"RHFULL1") G LOOK
ETT S DIC="^MCAR(691.7,",MCARZ="ETT REPORT",MCARGRTN=$S('$$XTRCT(XQY0):"ETTB",1:"ETT1")
LOOK ;
D MCPPROC
I '$D(MCARPPS) D LOOK2,^DIC G:Y<0 EXIT S (MCARGDA,DA)=+Y
I $G(MCESON),$D(^MCAR(MCFILE,MCARGDA,"ES")) D STATUS^MCESPRT(MCFILE,MCARGDA)
I $D(ORHFS) U IO G PRINT ;dcm/slc added for CPRS
DEVQUE ; Device Control and Queuing Control
K IO("Q") S %ZIS="MQ" D ^%ZIS I POP S MCOUT="" G EXIT
I $D(IO("Q")) S (ZTSAVE("DIC"),ZTSAVE("MC*"))="",ZTRTN="PRINT^MCARP",ZTDESC=MCARZ D ^%ZTLOAD K ZTSK G EXIT
U IO
PRINT ; Print Report
;I DIC="^MCAR(699," D ;MC*2.3*33
;.N MCHLD,MCHLD2 ;MC*2.3*33
;.S MCHLD=$$GET1^DIQ(699,MCARGDA,1,"I") ;MC*2.3*33
;.S MCHLD2=$$GET1^DIQ(697.2,MCARGNUM,1,"I") ;MC*2.3*33
;.I MCHLD'=MCHLD2 S MCARGRTN="PARAC" ;MC*2.3*33
;.Q ;MC*2.3*33
K DXS,DIOT(2),^UTILITY($J),MCOUT S (D0,DA)=MCARGDA,PG=0
S DFN=$P(^MCAR(+$P(DIC,"(",2),MCARGDA,0),U,2),MCARGDT=$P(^(0),U,1) S:DIC[699 MCARGNUM=$P(^(0),U,$S(DIC[699.5:6,1:12))
RHPRT ;
D INIT^MCARP1(MCARZ,MCARGDT,MCFILE)
S ^UTILITY($J,1)="S MCY="""" I $Y>IOSL-3 R:$E(IOST,1,2)=""C-"" !!,""Press return to continue, '^' to escape: "",MCY:DTIME S:'$T MCY=U S:MCY=U DN=0,MCOUT=1 D:DN HEAD^MCARP K MCY"
D HEAD,CALLTEM
I '$D(MCOUT) D:$G(MCESON) FOOTER^MCESPRT(MCFILE,MCARGDA)
S:$D(ZTQUEUED) ZTREQ="@" K ZTSK
G EXIT
CALLTEM ;
N MCFILE D @MCARGRTN Q
EXIT ;
D EXIT^MCARP1 Q
LOOK2 ;
S DIC(0)="AEMQ",DIC("A")="Enter patient name or the date & time: "
I MCESON S DIC("S")=$$PREVIEW^MCESSCR(MCFILE)
Q
CATH1 D ^MCAROC1 K DXS Q:$D(MCOUT) D ^MCAROC2 K DXS Q:$D(MCOUT) D ^MCAROC3 K DXS Q:$D(MCOUT) D ^MCAROC4 Q
CATHB D ^MCOBC1 Q
ECHO1 D ^MCRPEC K DXS Q:$D(MCOUT) Q
ECHOB D ^MCOBK Q
ECG1 D ^MCAROK Q
ECGB D ^MCOBE1 Q
EPB D ^MCOBEP Q
EP1 D ^MCAROEP G EPEND:$D(MCOUT)
G VT:'$D(^MCAR(691.9,"C",MCARGDA))
S MCY=""
I $Y>IOSL-3 R:$E(IOST,1,2)="C-" !!,"Press return to continue, '^' to escape: ",MCY:DTIME S:'$T MCY=U S:$E(MCY)=U MCOUT=1 G:$G(MCOUT)=1 EPEND
F D0=0:0 S D0=$O(^MCAR(691.9,"C",MCARGDA,D0)) Q:D0="" K DXS D HEAD,^MCAROAT G EPEND:$D(MCOUT)
VT Q:'$D(^MCAR(692,"C",MCARGDA))
I $Y>IOSL-3 R:$E(IOST,1,2)="C-" !!,"Press return to continue, '^' to escape: ",MCY:DTIME S:'$T MCY=U S:$E(MCY)=U MCOUT=1 G:$G(MCOUT)=1 EPEND
F D0=0:0 S D0=$O(^MCAR(692,"C",MCARGDA,D0)) Q:D0="" K DXS D HEAD,^MCAROV Q:$D(MCOUT)
EPEND Q
ETT1 D ^MCAROT Q
ETTB D ^MCOBT Q
HOLTER1 D ^MCAROH1 K DXS Q:$D(MCOUT) D ^MCAROH2 Q
HOLTERB D ^MCOBH1 Q
GENERIC D ^MCAROGE Q
GENERICB D ^MCOBGEN Q
GI ;I $D(^DIC(120.8)) D ^MCAROGM I 1 ; new allergy info
D ^MCAROG
K DXS
D:'$D(MCOUT) ^MCAROGA
Q
PARAC D ^MCPARC Q ; MC*2.3*33
GIB D ^MCOBGA Q
PULM D ^MCAROP K DXS Q:$D(MCOUT) D ^MCAROPE Q
PULMB D ^MCOBPE Q
NONENDO D ^MCAROGN Q
NONENDOB D ^MCOBGN Q
CONSULT D ^MCAROGC Q
CONSULTB D ^MCOBGC Q
GENIMP D ^MCAROPG Q
GENIMPB D ^MCOBPG Q
ALEAD D ^MCAROPA Q
ALEADB D ^MCOBPA Q
VLEAD D ^MCAROPV Q
VLEADB D ^MCOBPV Q
SURV D ^MCAROPS Q
SURVB D ^MCOBPS Q
RHFULL1 ;
N MCARRC,MCHOLD D DEM^VADPT S (MCARRC,MCHOLD)=$P(VADM(8),U,2),MCARRC=$$ETHN^MCPFTP1(MCHOLD,.VADM) D KVAR^VADPT
I +$G(MCRH)=0 D RHFULL2 Q
S MCFILE=701,V=MCRH,MCRHR="^MCAROR"_$S(V=1:"A",V=2:"B",V=3:"N",V=4:"L",V=6:"Q",V=7:"H",V=8:"P",V=9:"D",1:"RHFULL2^MCARP") D @MCRHR K DXS Q:$D(MCOUT) D:V=8 ^MCARORE K DXS Q:$D(MCOUT) D:MCRH=1 DISP^MCMAG Q
RHFULL2 ;
F RH="A","B","N","L","Q","H","P","E","D" Q:$D(MCOUT) D
.S MCFILE=701,MCRHR="^MCAROR"_RH D @MCRHR K DXS Q:$D(MCOUT)
.I RH="A" D DISP^MCMAG K DXS
Q
RHB D ^MCOBRH K DXS Q:$D(MCOUT) D ^MCOBRHA Q
DTIME ; Setup Date/Time
S MCT=$P(X,".",2),X=$S(X:$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3),1:"")_" "_$S(MCT:$E(MCT,1,2)_$E("00",0,2-$L($E(MCT,1,2)))_":"_$E(MCT,3,4)_$E("00",0,2-$L($E(MCT,3,4))),1:"")
K MCT Q
HEAD ;
S HOSP=$P($G(^DPT(DFN,.1)),U)
S:HOSP'="" HOSP=$$FIND1^DIC(44,,"X",HOSP)
S:HOSP'<1 HOSP=$$GET1^DIQ(44,HOSP,3.5,"I")
S:HOSP'="" HOSP=$P($G(^DG(40.8,HOSP,0)),U)
S PG=PG+1 W:PG>1 @IOF I '+$G(MCFLG) D
. W !!,"Pg. "_PG,?30,HOSP,?79-$L(MCARDTM),MCARDTM
. I (PG>1),($E(IOST,1,2)="C-") W ! Q
. I MCARZ'["NON-" D
. . I $G(MCARGRTN)="PARAC" S MCARZ="NON-"_MCARZ
. . Q
. W !,$$HEDSTAR("CONFIDENTIAL "_MCARZ,77) ; MC*2.3*33
. W !,MCARGNM_" "_SSN_" " W ?39-($L(MCARWARD_" "_MCARRB)\2),MCARWARD_" "_MCARRB,?79-$L(" DOB: "_MCARDOB)," DOB: "_MCARDOB
. Q
I +$G(MCFLG) W !,$$HEDSTAR(MCARZ,77)
W !,?39-($L("PROCEDURE DATE/TIME: "_MCARGDT2)\2),"PROCEDURE DATE/TIME: ",MCARGDT2
N FFF S $P(FFF,"- ",40)="- " W !,FFF,!
Q
HEDSTAR(X,X1) ; surround text string X with asterisks to length X1
N Y1
S (TY,Y1)="",$P(Y1," ",X1-$L(X)\2-1)=" ",TY=Y1_" "_X_" "
F I=$L(TY):1:X1 S TY=TY_" "
Q TY
MCPPROC ; Get require variables
D MCPPROC^MCARP1 Q
XTRCT(FULL) ;Extrinsic Function use to determine Full reporting or brief
Q $S($E($P(FULL,U),3)="B":0,1:1)
MCPROP(MCPROP) ; Medicine Procedure file entry validator
N TEMP,PREFIX,CNT
S PREFIX=$S($E(MCPROP,3,4)="ES":7,1:4),TEMP=""
F CNT=PREFIX+2:1:$L(MCPROP) I $D(^MCAR(697.2,"B",$E(MCPROP,PREFIX+1,CNT))) S TEMP=$E(MCPROP,PREFIX+1,CNT) Q
Q TEMP
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HMCARP 6028 printed Oct 16, 2024@18:14:53 Page 2
MCARP ;WISC/TJK,WAA-PRINT ROUTINES ;12/15/97 14:54
+1 ;;2.3;Medicine;**6,14,15,18,27,33,35,39**;09/13/1996
+2 ; Reference IA #2432 for Hospital Location File #44 FM Lookup
+3 ; #1576 for DIVISION file 40.8 lookup
+4 ; #10035 for Patient File (#2) Direct Global Reads
+5 ; #10061 for ^VADPT call.
+6 ;
CATH ;
+1 SET DIC="^MCAR(691.1,"
SET MCARZ="CATHETERIZATION REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"CATHB",1:"CATH1")
GOTO LOOK
ECHO SET DIC="^MCAR(691,"
SET MCARZ="ECHO REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"ECHOB",1:"ECHO1")
GOTO LOOK
ECG SET DIC="^MCAR(691.5,"
SET MCARZ="ECG REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"ECGB",1:"ECG1")
GOTO LOOK
EP SET DIC="^MCAR(691.8,"
SET MCARZ="EP REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"EPB",1:"EP1")
GOTO LOOK
HOLTER SET DIC="^MCAR(691.6,"
SET MCARZ="HOLTER REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"HOLTERB",1:"HOLTER1")
GOTO LOOK
RHFULL SET DIC="^MCAR(701,"
SET MCARZ="RHEUMATOLOGY REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"RHB",1:"RHFULL1")
GOTO LOOK
ETT SET DIC="^MCAR(691.7,"
SET MCARZ="ETT REPORT"
SET MCARGRTN=$SELECT('$$XTRCT(XQY0):"ETTB",1:"ETT1")
LOOK ;
+1 DO MCPPROC
+2 IF '$DATA(MCARPPS)
DO LOOK2
DO ^DIC
if Y<0
GOTO EXIT
SET (MCARGDA,DA)=+Y
+3 IF $GET(MCESON)
IF $DATA(^MCAR(MCFILE,MCARGDA,"ES"))
DO STATUS^MCESPRT(MCFILE,MCARGDA)
+4 ;dcm/slc added for CPRS
IF $DATA(ORHFS)
USE IO
GOTO PRINT
DEVQUE ; Device Control and Queuing Control
+1 KILL IO("Q")
SET %ZIS="MQ"
DO ^%ZIS
IF POP
SET MCOUT=""
GOTO EXIT
+2 IF $DATA(IO("Q"))
SET (ZTSAVE("DIC"),ZTSAVE("MC*"))=""
SET ZTRTN="PRINT^MCARP"
SET ZTDESC=MCARZ
DO ^%ZTLOAD
KILL ZTSK
GOTO EXIT
+3 USE IO
PRINT ; Print Report
+1 ;I DIC="^MCAR(699," D ;MC*2.3*33
+2 ;.N MCHLD,MCHLD2 ;MC*2.3*33
+3 ;.S MCHLD=$$GET1^DIQ(699,MCARGDA,1,"I") ;MC*2.3*33
+4 ;.S MCHLD2=$$GET1^DIQ(697.2,MCARGNUM,1,"I") ;MC*2.3*33
+5 ;.I MCHLD'=MCHLD2 S MCARGRTN="PARAC" ;MC*2.3*33
+6 ;.Q ;MC*2.3*33
+7 KILL DXS,DIOT(2),^UTILITY($JOB),MCOUT
SET (D0,DA)=MCARGDA
SET PG=0
+8 SET DFN=$PIECE(^MCAR(+$PIECE(DIC,"(",2),MCARGDA,0),U,2)
SET MCARGDT=$PIECE(^(0),U,1)
if DIC[699
SET MCARGNUM=$PIECE(^(0),U,$SELECT(DIC[699.5:6,1:12))
RHPRT ;
+1 DO INIT^MCARP1(MCARZ,MCARGDT,MCFILE)
+2 SET ^UTILITY($JOB,1)="S MCY="""" I $Y>IOSL-3 R:$E(IOST,1,2)=""C-"" !!,""Press return to continue, '^' to escape: "",MCY:DTIME S:'$T MCY=U S:MCY=U DN=0,MCOUT=1 D:DN HEAD^MCARP K MCY"
+3 DO HEAD
DO CALLTEM
+4 IF '$DATA(MCOUT)
if $GET(MCESON)
DO FOOTER^MCESPRT(MCFILE,MCARGDA)
+5 if $DATA(ZTQUEUED)
SET ZTREQ="@"
KILL ZTSK
+6 GOTO EXIT
CALLTEM ;
+1 NEW MCFILE
DO @MCARGRTN
QUIT
EXIT ;
+1 DO EXIT^MCARP1
QUIT
LOOK2 ;
+1 SET DIC(0)="AEMQ"
SET DIC("A")="Enter patient name or the date & time: "
+2 IF MCESON
SET DIC("S")=$$PREVIEW^MCESSCR(MCFILE)
+3 QUIT
CATH1 DO ^MCAROC1
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCAROC2
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCAROC3
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCAROC4
QUIT
CATHB DO ^MCOBC1
QUIT
ECHO1 DO ^MCRPEC
KILL DXS
if $DATA(MCOUT)
QUIT
QUIT
ECHOB DO ^MCOBK
QUIT
ECG1 DO ^MCAROK
QUIT
ECGB DO ^MCOBE1
QUIT
EPB DO ^MCOBEP
QUIT
EP1 DO ^MCAROEP
if $DATA(MCOUT)
GOTO EPEND
+1 if '$DATA(^MCAR(691.9,"C",MCARGDA))
GOTO VT
+2 SET MCY=""
+3 IF $Y>IOSL-3
if $EXTRACT(IOST,1,2)="C-"
READ !!,"Press return to continue, '^' to escape: ",MCY:DTIME
if '$TEST
SET MCY=U
if $EXTRACT(MCY)=U
SET MCOUT=1
if $GET(MCOUT)=1
GOTO EPEND
+4 FOR D0=0:0
SET D0=$ORDER(^MCAR(691.9,"C",MCARGDA,D0))
if D0=""
QUIT
KILL DXS
DO HEAD
DO ^MCAROAT
if $DATA(MCOUT)
GOTO EPEND
VT if '$DATA(^MCAR(692,"C",MCARGDA))
QUIT
+1 IF $Y>IOSL-3
if $EXTRACT(IOST,1,2)="C-"
READ !!,"Press return to continue, '^' to escape: ",MCY:DTIME
if '$TEST
SET MCY=U
if $EXTRACT(MCY)=U
SET MCOUT=1
if $GET(MCOUT)=1
GOTO EPEND
+2 FOR D0=0:0
SET D0=$ORDER(^MCAR(692,"C",MCARGDA,D0))
if D0=""
QUIT
KILL DXS
DO HEAD
DO ^MCAROV
if $DATA(MCOUT)
QUIT
EPEND QUIT
ETT1 DO ^MCAROT
QUIT
ETTB DO ^MCOBT
QUIT
HOLTER1 DO ^MCAROH1
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCAROH2
QUIT
HOLTERB DO ^MCOBH1
QUIT
GENERIC DO ^MCAROGE
QUIT
GENERICB DO ^MCOBGEN
QUIT
GI ;I $D(^DIC(120.8)) D ^MCAROGM I 1 ; new allergy info
+1 DO ^MCAROG
+2 KILL DXS
+3 if '$DATA(MCOUT)
DO ^MCAROGA
+4 QUIT
PARAC ; MC*2.3*33
DO ^MCPARC
QUIT
GIB DO ^MCOBGA
QUIT
PULM DO ^MCAROP
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCAROPE
QUIT
PULMB DO ^MCOBPE
QUIT
NONENDO DO ^MCAROGN
QUIT
NONENDOB DO ^MCOBGN
QUIT
CONSULT DO ^MCAROGC
QUIT
CONSULTB DO ^MCOBGC
QUIT
GENIMP DO ^MCAROPG
QUIT
GENIMPB DO ^MCOBPG
QUIT
ALEAD DO ^MCAROPA
QUIT
ALEADB DO ^MCOBPA
QUIT
VLEAD DO ^MCAROPV
QUIT
VLEADB DO ^MCOBPV
QUIT
SURV DO ^MCAROPS
QUIT
SURVB DO ^MCOBPS
QUIT
RHFULL1 ;
+1 NEW MCARRC,MCHOLD
DO DEM^VADPT
SET (MCARRC,MCHOLD)=$PIECE(VADM(8),U,2)
SET MCARRC=$$ETHN^MCPFTP1(MCHOLD,.VADM)
DO KVAR^VADPT
+2 IF +$GET(MCRH)=0
DO RHFULL2
QUIT
+3 SET MCFILE=701
SET V=MCRH
SET MCRHR="^MCAROR"_$SELECT(V=1:"A",V=2:"B",V=3:"N",V=4:"L",V=6:"Q",V=7:"H",V=8:"P",V=9:"D",1:"RHFULL2^MCARP")
DO @MCRHR
KILL DXS
if $DATA(MCOUT)
QUIT
if V=8
DO ^MCARORE
KILL DXS
if $DATA(MCOUT)
QUIT
if MCRH=1
DO DISP^MCMAG
QUIT
RHFULL2 ;
+1 FOR RH="A","B","N","L","Q","H","P","E","D"
if $DATA(MCOUT)
QUIT
Begin DoDot:1
+2 SET MCFILE=701
SET MCRHR="^MCAROR"_RH
DO @MCRHR
KILL DXS
if $DATA(MCOUT)
QUIT
+3 IF RH="A"
DO DISP^MCMAG
KILL DXS
End DoDot:1
+4 QUIT
RHB DO ^MCOBRH
KILL DXS
if $DATA(MCOUT)
QUIT
DO ^MCOBRHA
QUIT
DTIME ; Setup Date/Time
+1 SET MCT=$PIECE(X,".",2)
SET X=$SELECT(X:$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3),1:"")_" "_$SELECT(MCT:$EXTRACT(MCT,1,2)_$EXTRACT("00",0,2-$LENGTH($EXTRACT(MCT,1,2)))_":"_$EXTRACT(MCT,3,4)_$EXTRACT("00",0,2-$LENGTH($EXTRACT(MCT,3,4))),1:"")
+2 KILL MCT
QUIT
HEAD ;
+1 SET HOSP=$PIECE($GET(^DPT(DFN,.1)),U)
+2 if HOSP'=""
SET HOSP=$$FIND1^DIC(44,,"X",HOSP)
+3 if HOSP'<1
SET HOSP=$$GET1^DIQ(44,HOSP,3.5,"I")
+4 if HOSP'=""
SET HOSP=$PIECE($GET(^DG(40.8,HOSP,0)),U)
+5 SET PG=PG+1
if PG>1
WRITE @IOF
IF '+$GET(MCFLG)
Begin DoDot:1
+6 WRITE !!,"Pg. "_PG,?30,HOSP,?79-$LENGTH(MCARDTM),MCARDTM
+7 IF (PG>1)
IF ($EXTRACT(IOST,1,2)="C-")
WRITE !
QUIT
+8 IF MCARZ'["NON-"
Begin DoDot:2
+9 IF $GET(MCARGRTN)="PARAC"
SET MCARZ="NON-"_MCARZ
+10 QUIT
End DoDot:2
+11 ; MC*2.3*33
WRITE !,$$HEDSTAR("CONFIDENTIAL "_MCARZ,77)
+12 WRITE !,MCARGNM_" "_SSN_" "
WRITE ?39-($LENGTH(MCARWARD_" "_MCARRB)\2),MCARWARD_" "_MCARRB,?79-$LENGTH(" DOB: "_MCARDOB)," DOB: "_MCARDOB
+13 QUIT
End DoDot:1
+14 IF +$GET(MCFLG)
WRITE !,$$HEDSTAR(MCARZ,77)
+15 WRITE !,?39-($LENGTH("PROCEDURE DATE/TIME: "_MCARGDT2)\2),"PROCEDURE DATE/TIME: ",MCARGDT2
+16 NEW FFF
SET $PIECE(FFF,"- ",40)="- "
WRITE !,FFF,!
+17 QUIT
HEDSTAR(X,X1) ; surround text string X with asterisks to length X1
+1 NEW Y1
+2 SET (TY,Y1)=""
SET $PIECE(Y1," ",X1-$LENGTH(X)\2-1)=" "
SET TY=Y1_" "_X_" "
+3 FOR I=$LENGTH(TY):1:X1
SET TY=TY_" "
+4 QUIT TY
MCPPROC ; Get require variables
+1 DO MCPPROC^MCARP1
QUIT
XTRCT(FULL) ;Extrinsic Function use to determine Full reporting or brief
+1 QUIT $SELECT($EXTRACT($PIECE(FULL,U),3)="B":0,1:1)
MCPROP(MCPROP) ; Medicine Procedure file entry validator
+1 NEW TEMP,PREFIX,CNT
+2 SET PREFIX=$SELECT($EXTRACT(MCPROP,3,4)="ES":7,1:4)
SET TEMP=""
+3 FOR CNT=PREFIX+2:1:$LENGTH(MCPROP)
IF $DATA(^MCAR(697.2,"B",$EXTRACT(MCPROP,PREFIX+1,CNT)))
SET TEMP=$EXTRACT(MCPROP,PREFIX+1,CNT)
QUIT
+4 QUIT TEMP