| [613] | 1 | IBCRLN ;ALB/ARH - RATES: DISPLAY PROVIDER DISCOUNT ; 10-OCT-1998 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**106,148**;21-MAR-94 | 
|---|
|  | 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | EN ; -- main entry point for IBCR PROVIDER DISCOUNT | 
|---|
|  | 6 | D EN^VALM("IBCR PROVIDER DISCOUNT") | 
|---|
|  | 7 | Q | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | HDR ; -- header code | 
|---|
|  | 10 | S VALMHDR(1)="Provider Discounts for "_$P($G(^IBE(363.32,+$G(IBSGFN),0)),U,1)_" Group." | 
|---|
|  | 11 | Q | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | INIT ; -- init variables and list array | 
|---|
|  | 14 | K ^TMP("IBCRLN",$J),^TMP("IBCRLNX1",$J) | 
|---|
|  | 15 | I '$G(IBSGFN) S IBSGFN=$$GETSG^IBCRU1(2) I IBSGFN'>0 S VALMQUIT="" Q | 
|---|
|  | 16 | D BLD | 
|---|
|  | 17 | Q | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | HELP ; -- help code | 
|---|
|  | 20 | S X="?" D DISP^XQORM1 W !! | 
|---|
|  | 21 | Q | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | EXIT ; -- exit code | 
|---|
|  | 24 | K ^TMP("IBCRLN",$J),^TMP("IBCRLNX1",$J) | 
|---|
|  | 25 | D CLEAR^VALM1,CLEAN^VALM10 | 
|---|
|  | 26 | Q | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | BLD ; build charge set display array | 
|---|
|  | 29 | N IBPDN,IBPDFN,IBPD0,IBPCVA,IBPCFN,IBPC,IBX,IBY,IBZ S VALMCNT=0 K ^TMP($J,"IBCRLN") | 
|---|
|  | 30 | ; | 
|---|
|  | 31 | D SORT | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | ; create LM display array | 
|---|
|  | 34 | S IBPDN="" F  S IBPDN=$O(^TMP($J,"IBCRLN",IBPDN)) Q:IBPDN=""  D | 
|---|
|  | 35 | . ; | 
|---|
|  | 36 | . S IBPDFN=+$G(^TMP($J,"IBCRLN",IBPDN)),IBPD0=$G(^IBE(363.34,+IBPDFN,0)) I $P(IBPD0,U,2)'=+$G(IBSGFN) Q | 
|---|
|  | 37 | . ; | 
|---|
|  | 38 | . D SET("",IBPDFN) S IBY="        Provider Type: "_$P(IBPD0,U,1) | 
|---|
|  | 39 | . D SET(IBY) D CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM) D SET("") | 
|---|
|  | 40 | . ; | 
|---|
|  | 41 | . S IBY="" | 
|---|
|  | 42 | . S IBZ=$P(IBPD0,U,3) I IBZ'="" S IBX=$J(IBZ,3)_"%",IBY=$$SETFLD^VALM1(IBX,IBY,"PCNT") | 
|---|
|  | 43 | . ; | 
|---|
|  | 44 | . I '$O(^IBE(363.34,+IBPDFN,11,0)) S IBX="No Person Class Assigned",IBY=$$SETFLD^VALM1(IBX,IBY,"PRVPC") D SET(IBY) S IBY="" | 
|---|
|  | 45 | . ; | 
|---|
|  | 46 | . S IBPCVA="" F  S IBPCVA=$O(^TMP($J,"IBCRLN",IBPDN,IBPCVA)) Q:IBPCVA=""  D | 
|---|
|  | 47 | .. ; | 
|---|
|  | 48 | .. S IBPCFN=+$G(^TMP($J,"IBCRLN",IBPDN,IBPCVA)) Q:'IBPCFN | 
|---|
|  | 49 | .. S IBPC=$$CODE2TXT^XUA4A72(+IBPCFN) | 
|---|
|  | 50 | .. I $P(IBPC,U,1)'="" S IBX=IBPCVA_"  "_$P(IBPC,U,1),IBY=$$SETFLD^VALM1(IBX,IBY,"PRVPC") D SET(IBY) S IBY="" | 
|---|
|  | 51 | .. I $P(IBPC,U,2)'="" S IBX="             "_$P(IBPC,U,2),IBY=$$SETFLD^VALM1(IBX,IBY,"PRVPC") D SET(IBY) S IBY="" | 
|---|
|  | 52 | .. I $P(IBPC,U,3)'="" S IBX="                 "_$P(IBPC,U,3),IBY=$$SETFLD^VALM1(IBX,IBY,"PRVPC") D SET(IBY) S IBY="" | 
|---|
|  | 53 | . I IBY'="" D SET(IBY) S IBY="" | 
|---|
|  | 54 | ; | 
|---|
|  | 55 | I VALMCNT=0 D SET(" "),SET("No Provider Discounts for this Group") | 
|---|
|  | 56 | ; | 
|---|
|  | 57 | K ^TMP($J,"IBCRLN") | 
|---|
|  | 58 | Q | 
|---|
|  | 59 | ; | 
|---|
|  | 60 | ; | 
|---|
|  | 61 | SET(X,PDFN) ; set up list manager screen array | 
|---|
|  | 62 | S VALMCNT=VALMCNT+1 | 
|---|
|  | 63 | S ^TMP("IBCRLN",$J,VALMCNT,0)=X | 
|---|
|  | 64 | I +$G(PDFN) S ^TMP("IBCRLNX1",$J,+PDFN)=VALMCNT | 
|---|
|  | 65 | Q | 
|---|
|  | 66 | ; | 
|---|
|  | 67 | SORT ; sort the provider discount group by Provider Type then VA Code (IBSGFN expected) | 
|---|
|  | 68 | N IBPDFN,IBPD0,IBPDN,IBPCFN,IBPCVA | 
|---|
|  | 69 | S IBPDFN=0 F  S IBPDFN=$O(^IBE(363.34,IBPDFN)) Q:'IBPDFN  D | 
|---|
|  | 70 | . S IBPD0=$G(^IBE(363.34,IBPDFN,0)),IBPDN=$P(IBPD0,U,1)_" " I $P(IBPD0,U,2)'=+$G(IBSGFN) Q | 
|---|
|  | 71 | . S ^TMP($J,"IBCRLN",IBPDN)=IBPDFN | 
|---|
|  | 72 | . S IBPCFN=0 F  S IBPCFN=$O(^IBE(363.34,IBPDFN,11,"B",IBPCFN)) Q:'IBPCFN  D | 
|---|
|  | 73 | .. S IBPCVA=$$IEN2CODE^XUA4A72(IBPCFN)_" " | 
|---|
|  | 74 | .. S ^TMP($J,"IBCRLN",IBPDN,IBPCVA)=IBPCFN | 
|---|
|  | 75 | Q | 
|---|