[613] | 1 | IBCRLC ;ALB/ARH - RATES: DISPLAY CHARGE SETS ; 17-MAY-1996
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**52,106**;21-MAR-94
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | EN ; -- main entry point for IBCR CHARGE SET
|
---|
| 6 | D EN^VALM("IBCR CHARGE SET")
|
---|
| 7 | Q
|
---|
| 8 | ;
|
---|
| 9 | HDR ; -- header code
|
---|
| 10 | S VALMHDR(1)=" Default"
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | INIT ; -- init variables and list array
|
---|
| 14 | K ^TMP("IBCRLC",$J),^TMP("IBCRLCX1",$J)
|
---|
| 15 | D BLD
|
---|
| 16 | Q
|
---|
| 17 | ;
|
---|
| 18 | HELP ; -- help code
|
---|
| 19 | S X="?" D DISP^XQORM1 W !!
|
---|
| 20 | Q
|
---|
| 21 | ;
|
---|
| 22 | EXIT ; -- exit code
|
---|
| 23 | K ^TMP("IBCRLC",$J),^TMP("IBCRLCX1",$J)
|
---|
| 24 | D CLEAR^VALM1,CLEAN^VALM10
|
---|
| 25 | Q
|
---|
| 26 | ;
|
---|
| 27 | BLD ; build charge set display array
|
---|
| 28 | N IBBRNM,IBBRFN,IBCSNM,IBCSFN,IBBEVNT,IBLN,IBX,IBY S VALMCNT=0 K ^TMP($J,"IBCRCS")
|
---|
| 29 | ;
|
---|
| 30 | D SORTCS
|
---|
| 31 | ;
|
---|
| 32 | ; create LM display array
|
---|
| 33 | S IBBRNM="" F S IBBRNM=$O(^TMP($J,"IBCRCS",IBBRNM)) Q:IBBRNM="" D
|
---|
| 34 | . ;
|
---|
| 35 | . S IBBRFN=+$G(^TMP($J,"IBCRCS",IBBRNM))
|
---|
| 36 | . D SET("",IBBRFN) S IBY=" Billing Rate: "_IBBRNM
|
---|
| 37 | . D SET(IBY) D CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM)
|
---|
| 38 | . ;
|
---|
| 39 | . S IBBEVNT="" F S IBBEVNT=$O(^TMP($J,"IBCRCS",IBBRNM,IBBEVNT)) Q:IBBEVNT="" D
|
---|
| 40 | .. S IBCSNM="" F S IBCSNM=$O(^TMP($J,"IBCRCS",IBBRNM,IBBEVNT,IBCSNM)) Q:IBCSNM="" D
|
---|
| 41 | ... S IBCSFN=0 F S IBCSFN=$O(^TMP($J,"IBCRCS",IBBRNM,IBBEVNT,IBCSNM,IBCSFN)) Q:'IBCSFN D
|
---|
| 42 | .... ;
|
---|
| 43 | .... S IBLN=$G(^IBE(363.1,IBCSFN,0)) Q:IBLN=""
|
---|
| 44 | .... S IBY=""
|
---|
| 45 | .... S IBX=$P(IBLN,U,1),IBY=$$SETFLD^VALM1(IBX,IBY,"CGSET")
|
---|
| 46 | .... S IBX=$$EMUTL^IBCRU1(+$P(IBLN,U,3),2),IBY=$$SETFLD^VALM1(IBX,IBY,"BEVNT")
|
---|
| 47 | .... S IBX=$$CGTYPE(+$P(IBLN,U,4)),IBY=$$SETFLD^VALM1(IBX,IBY,"CGTYP")
|
---|
| 48 | .... S IBX=$P($G(^DGCR(399.2,+$P(IBLN,U,5),0)),U,1),IBY=$$SETFLD^VALM1(IBX,IBY,"DRVCD")
|
---|
| 49 | .... S IBX=$$EMUTL^IBCRU1(+$P(IBLN,U,6),2),IBY=$$SETFLD^VALM1(IBX,IBY,"DBEDS")
|
---|
| 50 | .... S IBX=$P($G(^IBE(363.31,+$P(IBLN,U,7),0)),U,1),IBY=$$SETFLD^VALM1(IBX,IBY,"REGN")
|
---|
| 51 | .... D SET(IBY)
|
---|
| 52 | ;
|
---|
| 53 | I VALMCNT=0 D SET(" ",0),SET("No Charge Sets defined",0)
|
---|
| 54 | ;
|
---|
| 55 | K ^TMP($J,"IBCRCS")
|
---|
| 56 | Q
|
---|
| 57 | ;
|
---|
| 58 | SET(X,BRFN) ; set up list manager screen array
|
---|
| 59 | S VALMCNT=VALMCNT+1
|
---|
| 60 | S ^TMP("IBCRLC",$J,VALMCNT,0)=X
|
---|
| 61 | I +$G(BRFN) S ^TMP("IBCRLCX1",$J,+BRFN)=VALMCNT
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | SORTCS ; created array of all Charge Sets sorted by billing rate, billable event, and Charge Set name
|
---|
| 65 | ; ^TMP($J,"IBCRCS", billing rate name) = billing rate IFN
|
---|
| 66 | ; ^TMP($J,"IBCRCS", billing rate name, billable event, charge set name, charge set IFN) = ""
|
---|
| 67 | N IBCSFN,IBBRNM,IBBEVNT,IBLN
|
---|
| 68 | S IBCSFN=0 F S IBCSFN=$O(^IBE(363.1,IBCSFN)) Q:'IBCSFN D
|
---|
| 69 | . S IBLN=$G(^IBE(363.1,IBCSFN,0))
|
---|
| 70 | . S IBBRNM=$P($G(^IBE(363.3,+$P(IBLN,U,2),0)),U,1) I IBBRNM="" S IBBRNM=" "
|
---|
| 71 | . S IBBEVNT=$$EMUTL^IBCRU1($P(IBLN,U,3),2) I IBBEVNT="" S IBBEVNT=" "
|
---|
| 72 | . S ^TMP($J,"IBCRCS",IBBRNM)=$P(IBLN,U,2)
|
---|
| 73 | . S ^TMP($J,"IBCRCS",IBBRNM,IBBEVNT,$P(IBLN,U,1),IBCSFN)=""
|
---|
| 74 | Q
|
---|
| 75 | ;
|
---|
| 76 | CGTYPE(X) ; return external form of Charge Type (363.1)
|
---|
| 77 | S X=$G(X),X=$S(X=1:"INSTITUTIONAL",X=2:"PROFESSIONAL",1:"")
|
---|
| 78 | Q X
|
---|