| [613] | 1 | FBCKDIS1 ;AISC/CMR - OUTPUT BY CHECK # cont. ;20APR94
 | 
|---|
 | 2 |  ;;3.5;FEE BASIS;;JAN 30, 1995
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  D OPT,INPT,PHARM,TRAV
 | 
|---|
 | 5 |  Q
 | 
|---|
 | 6 | OPT ;find outpatient payments for check #
 | 
|---|
 | 7 |  Q:'$D(^FBAAC("ACK",FBCN))
 | 
|---|
 | 8 |  S FBPROG="OPT",FBCNT=0
 | 
|---|
 | 9 |  S FB1=0 F  S FB1=$O(^FBAAC("ACK",FBCN,FB1)) Q:'FB1  S FB2=0 F  S FB2=$O(^FBAAC("ACK",FBCN,FB1,FB2)) Q:'FB2  S FB3=0 F  S FB3=$O(^FBAAC("ACK",FBCN,FB1,FB2,FB3)) Q:'FB3  S FB4=0 F  S FB4=$O(^FBAAC("ACK",FBCN,FB1,FB2,FB3,FB4)) Q:'FB4  D
 | 
|---|
 | 10 |  .Q:$S('$D(^FBAAC(FB1,1,FB2,1,FB3,1,FB4,0)):1,'$D(^FBAAC(FB1,1,FB2,1,FB3,1,FB4,2)):1,'$D(^FBAAC(FB1,1,FB2,1,FB3,0)):1,1:0)
 | 
|---|
 | 11 |  .S FBCNT=FBCNT+1,FBDA=FB1_"^"_FB2_"^"_FB3_"^"_FB4,DFN=FB1,FBV=FB2
 | 
|---|
 | 12 |  .D SETMP
 | 
|---|
 | 13 |  D CLN Q
 | 
|---|
 | 14 | INPT ;find inpatient payments for check #
 | 
|---|
 | 15 |  Q:'$D(^FBAAI("ACK",FBCN))
 | 
|---|
 | 16 |  S (FBCNTCH,FBCNTCNH)=0
 | 
|---|
 | 17 |  S FB1=0 F  S FB1=$O(^FBAAI("ACK",FBCN,FB1)) Q:'FB1  D
 | 
|---|
 | 18 |  .Q:$S('$D(^FBAAI(FB1,0)):1,'$D(^FBAAI(FB1,2)):1,1:0)
 | 
|---|
 | 19 |  .S FBA=^FBAAI(FB1,0),DFN=$P(FBA,U,4),FBV=$P(FBA,U,3)
 | 
|---|
 | 20 |  .S FBPROG=$S($P(FBA,U,12)=6:"CH",$P(FBA,U,12)=7:"CNH",1:"") Q:FBPROG']""
 | 
|---|
 | 21 |  .I FBPROG="CH" S FBCNTCH=FBCNTCH+1,FBCNT=FBCNTCH
 | 
|---|
 | 22 |  .I FBPROG="CNH" S FBCNTCNH=FBCNTCNH+1,FBCNT=FBCNTCNH
 | 
|---|
 | 23 |  .S FBDA=FB1
 | 
|---|
 | 24 |  .D SETMP
 | 
|---|
 | 25 |  D CLN Q
 | 
|---|
 | 26 | PHARM ;find pharmacy payments for check #
 | 
|---|
 | 27 |  Q:'$D(^FBAA(162.1,"ACK",FBCN))
 | 
|---|
 | 28 |  S FBCNT=0,FBPROG="PHAR"
 | 
|---|
 | 29 |  S FB1=0 F  S FB1=$O(^FBAA(162.1,"ACK",FBCN,FB1)) Q:'FB1  S FB2=0 F  S FB2=$O(^FBAA(162.1,"ACK",FBCN,FB1,FB2)) Q:'FB2  D
 | 
|---|
 | 30 |  .Q:$S('$D(^FBAA(162.1,FB1,"RX",FB2,0)):1,'$D(^FBAA(162.1,FB1,"RX",FB2,2)):1,'$D(^FBAA(162.1,FB1,0)):1,1:0)
 | 
|---|
 | 31 |  .S FBCNT=FBCNT+1
 | 
|---|
 | 32 |  .S FBA=^FBAA(162.1,FB1,"RX",FB2,0),DFN=$P(FBA,U,5),FBV=$P(^FBAA(162.1,FB1,0),U,4)
 | 
|---|
 | 33 |  .S FBDA=FB1_"^"_FB2
 | 
|---|
 | 34 |  .D SETMP
 | 
|---|
 | 35 |  D CLN Q
 | 
|---|
 | 36 | TRAV ;find travel payments for check #
 | 
|---|
 | 37 |  Q:'$D(^FBAAC("ACKT",FBCN))
 | 
|---|
 | 38 |  S FBCNT=0,FBPROG="TRAV"
 | 
|---|
 | 39 |  S FB1=0 F  S FB1=$O(^FBAAC("ACKT",FBCN,FB1)) Q:'FB1  S FB2=0 F  S FB2=$O(^FBAAC("ACKT",FBCN,FB1,FB2)) Q:'FB2  D
 | 
|---|
 | 40 |  .Q:'$D(^FBAAC(FB1,3,FB2,0))
 | 
|---|
 | 41 |  .S FBCNT=FBCNT+1
 | 
|---|
 | 42 |  .S DFN=FB1,FBV="R"
 | 
|---|
 | 43 |  .S FBDA=FB1_"^"_FB2
 | 
|---|
 | 44 |  .D SETMP
 | 
|---|
 | 45 |  D CLN Q
 | 
|---|
 | 46 | SETMP ;set up tmp global
 | 
|---|
 | 47 |  S ^TMP($J,"FBCK",FBPROG,FBV,DFN,FBCNT)=FBDA
 | 
|---|
 | 48 |  Q
 | 
|---|
 | 49 | CLN K FB1,FB2,FB3,FB4,FBA,FBCNT,DFN,FBCNTCH,FBCNTCNH,FBPROG Q
 | 
|---|
 | 50 | SUSP ;get suspense code
 | 
|---|
 | 51 |  S FBSUSP=$S(FBSUSP="":"",$D(^FBAA(161.27,FBSUSP,0)):^FBAA(161.27,FBSUSP,0),1:"")
 | 
|---|
 | 52 |  Q
 | 
|---|