DGPTFJ ;ALB/MRL - JUMP BETWEEN PTF SCREENS ; 12/12/06 9:04am
;;5.3;Registration;**58,517,635,729**;Aug 13, 1993;Build 59
;
TEST K S,M G Q^DGPTF:X="^" S Z="^101^401^501^601^701^801^MAS^CDR",X1=X,X=$P($E(X,2,99),"-",1) G QUES:X1?1"^?".E Q:X="" D IN^DGHELP G QUES:%=-1
S Z=$T(@X) I Z="" W !!,"*** Undefined screen number. Valid screens are: ",! G QUES
I X=4!(X=5) S @($S(+X=5:"DGZM0",1:"DGZS0"))=$S(X1["-":+$P(X1,"-",2),1:1)
I X=6 S DGZP=$S(X1["-":+$P(X1,"-",2),1:1)
I X=8 S ANS="F"_$P(X1,"-",2)
K M,L1,T G @($P(Z,";",3))
;
HELP W !!,"PTF Screens are: ",! F I=1,5,4,6,7,8,"M","C" S T=$T(@I) Q:T="" W !?5,I,?10,$P(T,";",4)
Q
QUES D HELP W !!,"Press Return to continue: " R X:4
I $D(DGPTSCRN) S Z=$P($T(@$E(DGPTSCRN)),";",3) K DGPTSCRN G:Z]"" @Z
G WR^DGPTF1
Q G Q^DGPTF
;
PROG ;
1 ;;WR^DGPTF1;'101' Screen--Admission/disposition Transaction
5 ;;EN^DGPTFM4;'501' Screen--Patient movement transaction
4 ;;EN^DGPTFM5;'401' Screen--Surgical/procedure entry
6 ;;E^DGPTFM1;'601' Screen--Procedure entry (AVAILABLE FOR DISCHARGES AFTER 10/1/87)
7 ;;EN1^DGPTF4;'701' Screen--PDXLS/DRG print
8 ;;F^DGPTFM2;'801' Screen--CPT entry (CPT and HCPCS)
M ;;^DGPTFM;'MAS' screen--surgery/procedure/diagnosis code edits
C ;;EN^DGPTFM7;'MPCR' screen--displays MPCR information
Q
SA ;called from input transform on SOURCE OF ADMISSION field (#20) PTF file (#45)
S DGER=$S('$D(PTF):1,'$D(^DGPT(PTF,0)):1,1:0) Q:DGER!("^48^49^50^"'[(U_Y_U)) S DGSU1=$P(^(0),"^",5),DGSU0=$S($D(^DGPT(PTF,101)):$P(^(101),"^",6),1:"")
S DGSTATYP=$S(Y=48:11,Y=49:40,Y=50:30)
D NUMACT^DGPTSUF(DGSTATYP)
I DGANUM>0 D
.I Y=48 F I=1:1:DGANUM S DGER=$S(((DGSU1=DGSUFNAM(DGANUM))!(DGSU1=""))&((DGSU0=DGSUFNAM(DGANUM))!(DGSU0="")):0,1:1)
.I Y=49!(Y=50) F I=1:1:DGANUM S DGER=$S((Y=49&(DGSU1=DGSUFNAM(DGANUM))&("^9AA^9AB^9AC^9AD^9AE^"[(U_DGSU0_U))):0,(Y=50&(DGSU1=DGSUFNAM(DGANUM))&("^BU^BV^BW^BX^"[(U_DGSU0_U))):0,1:1)
K DGANUM,DGSTATYP,DGSUFNAM,I
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGPTFJ 1955 printed Sep 02, 2024@19:37:29 Page 2
DGPTFJ ;ALB/MRL - JUMP BETWEEN PTF SCREENS ; 12/12/06 9:04am
+1 ;;5.3;Registration;**58,517,635,729**;Aug 13, 1993;Build 59
+2 ;
TEST KILL S,M
if X="^"
GOTO Q^DGPTF
SET Z="^101^401^501^601^701^801^MAS^CDR"
SET X1=X
SET X=$PIECE($EXTRACT(X,2,99),"-",1)
if X1?1"^?".E
GOTO QUES
if X=""
QUIT
DO IN^DGHELP
if %=-1
GOTO QUES
+1 SET Z=$TEXT(@X)
IF Z=""
WRITE !!,"*** Undefined screen number. Valid screens are: ",!
GOTO QUES
+2 IF X=4!(X=5)
SET @($SELECT(+X=5:"DGZM0",1:"DGZS0"))=$SELECT(X1["-":+$PIECE(X1,"-",2),1:1)
+3 IF X=6
SET DGZP=$SELECT(X1["-":+$PIECE(X1,"-",2),1:1)
+4 IF X=8
SET ANS="F"_$PIECE(X1,"-",2)
+5 KILL M,L1,T
GOTO @($PIECE(Z,";",3))
+6 ;
HELP WRITE !!,"PTF Screens are: ",!
FOR I=1,5,4,6,7,8,"M","C"
SET T=$TEXT(@I)
if T=""
QUIT
WRITE !?5,I,?10,$PIECE(T,";",4)
+1 QUIT
QUES DO HELP
WRITE !!,"Press Return to continue: "
READ X:4
+1 IF $DATA(DGPTSCRN)
SET Z=$PIECE($TEXT(@$EXTRACT(DGPTSCRN)),";",3)
KILL DGPTSCRN
if Z]""
GOTO @Z
+2 GOTO WR^DGPTF1
Q GOTO Q^DGPTF
+1 ;
PROG ;
1 ;;WR^DGPTF1;'101' Screen--Admission/disposition Transaction
5 ;;EN^DGPTFM4;'501' Screen--Patient movement transaction
4 ;;EN^DGPTFM5;'401' Screen--Surgical/procedure entry
6 ;;E^DGPTFM1;'601' Screen--Procedure entry (AVAILABLE FOR DISCHARGES AFTER 10/1/87)
7 ;;EN1^DGPTF4;'701' Screen--PDXLS/DRG print
8 ;;F^DGPTFM2;'801' Screen--CPT entry (CPT and HCPCS)
M ;;^DGPTFM;'MAS' screen--surgery/procedure/diagnosis code edits
C ;;EN^DGPTFM7;'MPCR' screen--displays MPCR information
+1 QUIT
SA ;called from input transform on SOURCE OF ADMISSION field (#20) PTF file (#45)
+1 SET DGER=$SELECT('$DATA(PTF):1,'$DATA(^DGPT(PTF,0)):1,1:0)
if DGER!("^48^49^50^"'[(U_Y_U))
QUIT
SET DGSU1=$PIECE(^(0),"^",5)
SET DGSU0=$SELECT($DATA(^DGPT(PTF,101)):$PIECE(^(101),"^",6),1:"")
+2 SET DGSTATYP=$SELECT(Y=48:11,Y=49:40,Y=50:30)
+3 DO NUMACT^DGPTSUF(DGSTATYP)
+4 IF DGANUM>0
Begin DoDot:1
+5 IF Y=48
FOR I=1:1:DGANUM
SET DGER=$SELECT(((DGSU1=DGSUFNAM(DGANUM))!(DGSU1=""))&((DGSU0=DGSUFNAM(DGANUM))!(DGSU0="")):0,1:1)
+6 IF Y=49!(Y=50)
FOR I=1:1:DGANUM
SET DGER=$SELECT((Y=49&(DGSU1=DGSUFNAM(DGANUM))&("^9AA^9AB^9AC^9AD^9AE^"[(U_DGSU0_U))):0,(Y=50&(DGSU1=DGSUFNAM(DGANUM))&("^BU^BV^BW^BX^"[(U_DGSU0_U))):0,1:1)
End DoDot:1
+7 KILL DGANUM,DGSTATYP,DGSUFNAM,I
+8 QUIT