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