1 | IBJTBC ;ALB/ARH - TPI BILL PROCEDURES SCREEN ;02-MAR-1995
|
---|
2 | ;;2.0;INTEGRATED BILLING;**39,80,51,137,210,349**;21-MAR-94;Build 46
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | EN ; -- main entry point for IBJ TP BILL PROCEDURES
|
---|
6 | D EN^VALM("IBJT BILL PROCEDURES")
|
---|
7 | Q
|
---|
8 | ;
|
---|
9 | HDR ; -- header code
|
---|
10 | D HDR^IBJTU1(+IBIFN,+DFN,12)
|
---|
11 | Q
|
---|
12 | ;
|
---|
13 | INIT ; -- init variables and list array
|
---|
14 | K ^TMP("IBJTBC",$J) N IBFT
|
---|
15 | I '$G(DFN)!'$G(IBIFN) S VALMQUIT="" G INITQ
|
---|
16 | D BLD
|
---|
17 | INITQ Q
|
---|
18 | ;
|
---|
19 | HELP ; -- help code
|
---|
20 | S X="?" D DISP^XQORM1 W !!
|
---|
21 | Q
|
---|
22 | ;
|
---|
23 | EXIT ; -- exit code
|
---|
24 | K ^TMP("IBJTBC",$J)
|
---|
25 | D CLEAR^VALM1
|
---|
26 | Q
|
---|
27 | ;
|
---|
28 | BLD ;
|
---|
29 | N IB,IBI,IBJ,IBX,IBY,IBDXI,IBLN,IBSTR,IBD,IBT,IBPRC,IBXDATA,IBZPRC,IBZDX
|
---|
30 | D F^IBCEF("N-UB-04 PROCEDURES","IBZPRC",,IBIFN)
|
---|
31 | S IBSTR=""
|
---|
32 | I +$O(IBZPRC(0))=0 S IBLN=1 F IBSTR="","Bill contains no procedures." S IBLN=$$SET(IBSTR,IBLN)
|
---|
33 | ;
|
---|
34 | D F^IBCEF("N-DIAGNOSES","IBZDX",,IBIFN)
|
---|
35 | S IBX=0,IBI="" F S IBI=$O(IBZDX(IBI)) Q:'IBI S IBDXI($P(IBZDX(IBI),U,2))=IBI
|
---|
36 | S IBLN=1,IBI="" F S IBI=$O(IBZPRC(IBI)) Q:'IBI D S IBLN=$$SET(IBSTR,IBLN)
|
---|
37 | . N IBDATE ; Date of procedure
|
---|
38 | . S IBX=IBZPRC(IBI)
|
---|
39 | . S IBDATE=$P(IBX,U,2) I 'IBDATE S IBDATE=$$BDATE^IBACSV(IBIFN) ; The bills date
|
---|
40 | . S IBPRC=$$PRCD^IBCEF1($P(IBX,U),1,IBDATE) Q:IBPRC=""
|
---|
41 | . S IBT=0,IBSTR=" "_$P(IBPRC,U,2)
|
---|
42 | . I +$P(IBZPRC(IBI),U,15) S IBSTR=IBSTR_" "_$$MODLST^IBEFUNC2($P(IBZPRC(IBI),U,15))
|
---|
43 | . S IBT=20,IBD=$P(IBPRC,U,3) S IBSTR=$$SETLN(IBD,IBSTR,IBT,20)
|
---|
44 | . S IBT=41,IBD=$$DATE^IBJU1(+$P(IBX,U,2)) S IBSTR=$$SETLN(IBD,IBSTR,IBT,8)
|
---|
45 | . S IBT=51,IBY=$P(IBX,U,5) I IBY'="" S IBD="BASC: Yes" D
|
---|
46 | .. S IBSTR=$$SETLN(IBD,IBSTR,IBT,29),IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
47 | . S IBY=$P(IBX,U,6) I IBY'="" S IBD="DIV: "_$P($G(^DG(40.8,+IBY,0)),U,1) D
|
---|
48 | .. S IBSTR=$$SETLN(IBD,IBSTR,IBT,29),IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
49 | . S IBY=$P(IBX,U,7) I IBY'="" S IBD="CLINIC: "_$P($G(^SC(+IBY,0)),U,1) D
|
---|
50 | .. S IBSTR=$$SETLN(IBD,IBSTR,IBT,29),IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
51 | . S IBY=$P(IBX,U,9) I IBY'="" D
|
---|
52 | .. S IBT=51,IBY=$G(^IBE(353.1,+IBY,0)),IBD="POS: "_$P(IBY,U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBT,11)
|
---|
53 | .. S IBT=63,IBD=$P(IBY,U,2) S IBSTR=$$SETLN(IBD,IBSTR,IBT,12),IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
54 | . S IBY=$P(IBX,U,10) I IBY'="" D
|
---|
55 | .. S IBT=51,IBY=$G(^IBE(353.2,+IBY,0)),IBD="TOS: "_$P(IBY,U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBT,11)
|
---|
56 | .. S IBT=63,IBD=$P(IBY,U,2) S IBSTR=$$SETLN(IBD,IBSTR,IBT,17),IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
57 | . S IBT=51,IBD=$P(IBX,U,16) I IBD,$P(IBX,U,10)=7 S IBSTR=$$SETLN("MINUTES: "_$P(IBX,U,16),IBSTR,IBT,15)
|
---|
58 | . ;
|
---|
59 | . S IBT=51 F IBJ=11:1:14 S IBY=$P(IBX,U,IBJ) I IBY'="" D S IBLN=$$SET(IBSTR,IBLN),IBSTR=""
|
---|
60 | .. S IBY=$G(IBDXI(+IBY)) Q:'IBY S IBD="DX ("_IBY_"): "
|
---|
61 | .. S IBY=+$G(IBZDX(+IBY)) Q:'IBY S IBY=$$ICD9^IBACSV(+IBY,IBDATE)
|
---|
62 | .. S IBT=51,IBD=IBD_$P(IBY,U,1) S IBSTR=$$SETLN(IBD,IBSTR,IBT,15)
|
---|
63 | .. S IBT=67,IBD=$P(IBY,U,3) S IBSTR=$$SETLN(IBD,IBSTR,IBT,13)
|
---|
64 | ;
|
---|
65 | S VALMCNT=IBLN-1
|
---|
66 | Q
|
---|
67 | ;
|
---|
68 | SETLN(STR,IBX,COL,WD) ;
|
---|
69 | S IBX=$$SETSTR^VALM1(STR,IBX,COL,WD)
|
---|
70 | Q IBX
|
---|
71 | ;
|
---|
72 | SET(STR,LN) ; set up TMP array with screen data
|
---|
73 | N IBX,IBI
|
---|
74 | D SET^VALM10(LN,STR)
|
---|
75 | S LN=LN+1
|
---|
76 | SETQ Q LN
|
---|