| [613] | 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 | 
|---|