IBCSCP ;ALB/MRL - BILLING SCREEN PROCESSOR ;01 JUN 88 12:00
;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
;;Per VHA Directive 10-93-142, this routine should not be modified.
;
;MAP TO DGCRSCP
;
D Q1 W !
S IBCSCPP=$S($L(IBV1)>1:"1-"_$L(IBV1),1:1)
F I=$Y:1:20 W !
W "<RET> to ",$S(+IBSR<8:"CONTINUE",1:"QUIT") W:'IBV ", ",IBCSCPP," to EDIT," W " '^N' for screen N, or '^' to QUIT: " R IBSCNN:DTIME G Q:'$T I IBSCNN="" S X1=2 G NOMO
G AN:IBSCNN?1"^"1N.N,Q:IBSCNN?1"^".E I IBSCNN'?1N.E D ^IBCSCH S X=IBSR,X1=2 G NOMO2
I IBSCNN?1N1"-"1N S IBDR20=IBSCNN,IBSCNN="" F I=+IBDR20:1:$P(IBDR20,"-",2) S IBSCNN=IBSCNN_I_","
S IBDR20="" F J=1:1 S I=$P(IBSCNN,",",J) Q:I=""!($L(I)>3) I I<10 S:I'["-"&(IBDR20'[I_",") IBDR20=IBDR20_I_"," I I["-" S I1=$P(I,"-",1),I2=$P(I,"-",2) F I3=I1:1:I2 S IBDR20=IBDR20_I3_"," I I3>10 Q
S DGDR1="" F J=1:1 S I=$P(IBDR20,",",J) Q:I="" I '$E(IBV1,I) S DGDR1=DGDR1_(I+(IBSR*10))_","
I DGDR1']"" D ^IBCSCH S X=IBSR,X1=2 G NOMO2
S IBDR20=DGDR1 D ^IBCSCE S X=IBSR,X1=2 G NOMO2
Q K IBSR,IBVV,VADM,IBVI,IBVO
Q1 K %DT,C,DGA,DGA1,DGA2,DGAD,DGCC,IBSCNN,IBCSCPP,IBDR20,DGDR1,DGST,DGAAC,DGRCD,IBCPTX
K IBA,IBCPT,IBREVC,IBYN,IBZZ,IBABRT,IB,IBDD,IBIDS,IBIR,IBIRN,IBISEX,IBIUTL,IBU,IBUN,IBW,IBWW,DGPT,IBICD,IBHC,IBCC,IBDI,IBDIN,IBDPT
K DIC,DIWF,DIWL,I,I1,I2,I3,J,X,X1,X2,X3,Y,Z,Z1,Z2 Q
Q
NOMO S I=IBSR,J=1 I +IBSR=8 S X=IBSR G NOMO2
NOMO1 S I=I+1,J=+$E(IBVV,I),X=I G NOMO2:+X=8 I J G NOMO1
NOMO2 S:+IBSR=8&(IBSCNN="") X1=3 S X=$P($T(@(IBSR1_X)),";;",X1) G @X
Q
;
AN S X=+$E(IBSCNN,2,99),X1=$P($T(@X),";;",2) I X1]"",'$E(IBVV,X) S IBSR1="",X1=2 G NOMO2
S Z="INVALID SCREEN NUMBER...VALID SCREENS ARE " F I=1:1:8 I '$E(IBVV,I) S Z=Z_I_$S(I<8:",",1:".")
W !,*7 D W H 1 S X=IBSR,X1=2 G NOMO2
W ;I IOST="C-QUME",$L(IBVI)'=2 W Z
W IBVI,Z,IBVO
Q
1 ;;^IBCSC1;;^IBCSC2
2 ;;^IBCSC2;;^IBCSC3
3 ;;^IBCSC3;;^IBCSC4
4 ;;^IBCSC4;;^IBCSC5
5 ;;^IBCSC5;;^IBCSC6
6 ;;^IBCSC6;;^IBCSC7
7 ;;^IBCSC7;;^IBCSC8
8 ;;^IBCSC8;;Q^IBCSCP
28 ;;^IBCSC82;;Q^IBCSCP
H8 ;;^IBCSC8H;;Q^IBCSCP
PAR ;;^IBCPAR;;^IBCPAR
;IBCSCP
IBCSCP ;ALB/MRL - BILLING SCREEN PROCESSOR ;01 JUN 88 12:00
+1 ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94
+2 ;;Per VHA Directive 10-93-142, this routine should not be modified.
+3 ;
+4 ;MAP TO DGCRSCP
+5 ;
+6 DO Q1
WRITE !
+7 SET IBCSCPP=$SELECT($LENGTH(IBV1)>1:"1-"_$LENGTH(IBV1),1:1)
+8 FOR I=$Y:1:20
WRITE !
+9 WRITE "<RET> to ",$SELECT(+IBSR<8:"CONTINUE",1:"QUIT")
IF 'IBV
WRITE ", ",IBCSCPP," to EDIT,"
WRITE " '^N' for screen N, or '^' to QUIT: "
READ IBSCNN:DTIME
IF '$TEST
GOTO Q
IF IBSCNN=""
SET X1=2
GOTO NOMO
+10 IF IBSCNN?1"^"1N.N
GOTO AN
IF IBSCNN?1"^".E
GOTO Q
IF IBSCNN'?1N.E
DO ^IBCSCH
SET X=IBSR
SET X1=2
GOTO NOMO2
+11 IF IBSCNN?1N1"-"1N
SET IBDR20=IBSCNN
SET IBSCNN=""
FOR I=+IBDR20:1:$PIECE(IBDR20,"-",2)
SET IBSCNN=IBSCNN_I_","
+12 SET IBDR20=""
FOR J=1:1
SET I=$PIECE(IBSCNN,",",J)
IF I=""!($LENGTH(I)>3)
QUIT
IF I<10
IF I'["-"&(IBDR20'[I_",")
SET IBDR20=IBDR20_I_","
IF I["-"
SET I1=$PIECE(I,"-",1)
SET I2=$PIECE(I,"-",2)
FOR I3=I1:1:I2
SET IBDR20=IBDR20_I3_","
IF I3>10
QUIT
+13 SET DGDR1=""
FOR J=1:1
SET I=$PIECE(IBDR20,",",J)
IF I=""
QUIT
IF '$EXTRACT(IBV1,I)
SET DGDR1=DGDR1_(I+(IBSR*10))_","
+14 IF DGDR1']""
DO ^IBCSCH
SET X=IBSR
SET X1=2
GOTO NOMO2
+15 SET IBDR20=DGDR1
DO ^IBCSCE
SET X=IBSR
SET X1=2
GOTO NOMO2
Q KILL IBSR,IBVV,VADM,IBVI,IBVO
Q1 KILL %DT,C,DGA,DGA1,DGA2,DGAD,DGCC,IBSCNN,IBCSCPP,IBDR20,DGDR1,DGST,DGAAC,DGRCD,IBCPTX
+1 KILL IBA,IBCPT,IBREVC,IBYN,IBZZ,IBABRT,IB,IBDD,IBIDS,IBIR,IBIRN,IBISEX,IBIUTL,IBU,IBUN,IBW,IBWW,DGPT,IBICD,IBHC,IBCC,IBDI,IBDIN,IBDPT
+2 KILL DIC,DIWF,DIWL,I,I1,I2,I3,J,X,X1,X2,X3,Y,Z,Z1,Z2
QUIT
+3 QUIT
NOMO SET I=IBSR
SET J=1
IF +IBSR=8
SET X=IBSR
GOTO NOMO2
NOMO1 SET I=I+1
SET J=+$EXTRACT(IBVV,I)
SET X=I
IF +X=8
GOTO NOMO2
IF J
GOTO NOMO1
NOMO2 IF +IBSR=8&(IBSCNN="")
SET X1=3
SET X=$PIECE($TEXT(@(IBSR1_X)),";;",X1)
GOTO @X
+1 QUIT
+2 ;
AN SET X=+$EXTRACT(IBSCNN,2,99)
SET X1=$PIECE($TEXT(@X),";;",2)
IF X1]""
IF '$EXTRACT(IBVV,X)
SET IBSR1=""
SET X1=2
GOTO NOMO2
+1 SET Z="INVALID SCREEN NUMBER...VALID SCREENS ARE "
FOR I=1:1:8
IF '$EXTRACT(IBVV,I)
SET Z=Z_I_$SELECT(I<8:",",1:".")
+2 WRITE !,*7
DO W
HANG 1
SET X=IBSR
SET X1=2
GOTO NOMO2
W ;I IOST="C-QUME",$L(IBVI)'=2 W Z
+1 WRITE IBVI,Z,IBVO
+2 QUIT
1 ;;^IBCSC1;;^IBCSC2
2 ;;^IBCSC2;;^IBCSC3
3 ;;^IBCSC3;;^IBCSC4
4 ;;^IBCSC4;;^IBCSC5
5 ;;^IBCSC5;;^IBCSC6
6 ;;^IBCSC6;;^IBCSC7
7 ;;^IBCSC7;;^IBCSC8
8 ;;^IBCSC8;;Q^IBCSCP
28 ;;^IBCSC82;;Q^IBCSCP
H8 ;;^IBCSC8H;;Q^IBCSCP
PAR ;;^IBCPAR;;^IBCPAR
+1 ;IBCSCP