| 1 | IBCEF6 ;ALB/TMP - EDI TRANSMISSION RULES DISPLAY ;28-APR-99
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**137**;21-MAR-94
|
---|
| 3 | ;
|
---|
| 4 | EN ; -- main entry point for IBCE RULES
|
---|
| 5 | N IBACTIVE
|
---|
| 6 | S DIR("A")="Press RETURN to continue: ",DIR("A",1)="",$P(DIR("A",1),"*",54)="",DIR("A",1)=$J("",10)_DIR("A",1)
|
---|
| 7 | S DIR("A",2)=$J("",10)_"* WARNING - MAKING CHANGES TO THE TRANSMISSION *",DIR("A",3)=$J("",10)_"* RULES USING THIS OPTION CAN SERIOUSLY AFFECT THE *"
|
---|
| 8 | S DIR("A",4)=$J("",10)_"* SITE'S ABILITY TO BILL. BE EXTREMELY CAUTIOUS *"
|
---|
| 9 | S DIR("A",5)=$J("",10)_"* WHEN USING THIS OPTION. *"
|
---|
| 10 | S DIR("A",6)=DIR("A",1),DIR("A",7)=" "
|
---|
| 11 | S DIR(0)="EA"
|
---|
| 12 | D ^DIR K DIR
|
---|
| 13 | I 'Y G ENQ
|
---|
| 14 | D EN^VALM("IBCE RULES")
|
---|
| 15 | ENQ Q
|
---|
| 16 | ;
|
---|
| 17 | HDR ; -- header code
|
---|
| 18 | S VALMHDR(1)=" "
|
---|
| 19 | S VALMHDR(2)=" FORM TRANSMIT INSURANCE RULE"
|
---|
| 20 | S VALMHDR(3)=" # TYPE TYPE OPTION NUM SHORT DESCRIPTION"_$J("",30)_"ACTIVE DATE INACTIVE DATE"
|
---|
| 21 | Q
|
---|
| 22 | ;
|
---|
| 23 | INIT ; -- init variables and list array
|
---|
| 24 | N IBI,IBR,IBRT
|
---|
| 25 | S VALMCNT=0,VALMBG=1
|
---|
| 26 | ; -- build list of rules
|
---|
| 27 | D REBLD(0)
|
---|
| 28 | Q
|
---|
| 29 | ;
|
---|
| 30 | REBLD(IBACTIVE) ; Set up formatted global
|
---|
| 31 | ;
|
---|
| 32 | N IBI,IBR,IBS,IBRT,IBCNT,X,IB0,IBIN,IBNEXT,TEXT,Z
|
---|
| 33 | D CLEAN^VALM10
|
---|
| 34 | K ^TMP("IBCE-RULE",$J),^TMP("IBCE-RULEDX",$J)
|
---|
| 35 | S (IBI,IBR)=0
|
---|
| 36 | F S IBI=$O(^IBE(364.4,IBI)) Q:'IBI S IB0=$G(^(IBI,0)) D
|
---|
| 37 | . S IBRT=+$P(IB0,U,11)
|
---|
| 38 | . ;Extract rules by rule type and keep inactive rules at end
|
---|
| 39 | . S IBIN=$S($P(IB0,U,2)&($P(IB0,U,2)>DT):800,$P(IB0,U,6)&($P(IB0,U,6)'>DT):900,1:0) ; Is rule inactive?
|
---|
| 40 | . Q:IBIN&$G(IBACTIVE) ; Only active rules displayed
|
---|
| 41 | . S IBNEXT=$O(IBR(IBRT,800),-1)+1
|
---|
| 42 | . I IBIN D
|
---|
| 43 | .. S IBNEXT=$O(IBR(IBRT,IBIN+99),-1)+1
|
---|
| 44 | .. I IBNEXT<IBIN S IBNEXT=IBIN
|
---|
| 45 | . S IBR(IBRT,IBNEXT)=IBI
|
---|
| 46 | ;
|
---|
| 47 | S (VALMCNT,IBCNT)=0,IBRT=""
|
---|
| 48 | F S IBRT=$O(IBR(IBRT)) Q:IBRT="" D
|
---|
| 49 | . ; -- add rule type to list
|
---|
| 50 | . ; Add 1 blank line between types
|
---|
| 51 | . I $O(IBR(""))'=IBRT D SET(" ",.VALMCNT,IBCNT)
|
---|
| 52 | . S X="- "_$$EXPAND^IBTRE(364.4,.11,IBRT)_" -"
|
---|
| 53 | . S IBS=(80-$L(X))\2
|
---|
| 54 | . S X=$J("",IBS)_X
|
---|
| 55 | . D SET(X,.VALMCNT,$S(IBCNT:IBCNT,1:1))
|
---|
| 56 | . D CNTRL^VALM10(VALMCNT,IBS+1,$L(X)-IBS,IORVON,IORVOFF)
|
---|
| 57 | . D SET(" ",.VALMCNT,$S(IBCNT:IBCNT,1:1))
|
---|
| 58 | . S IBS=0 F S IBS=$O(IBR(IBRT,IBS)) Q:'IBS S IBRULE=+$G(IBR(IBRT,IBS)) I IBRULE D
|
---|
| 59 | .. S IB0=$G(^IBE(364.4,IBRULE,0))
|
---|
| 60 | .. S X=""
|
---|
| 61 | .. S IBCNT=IBCNT+1
|
---|
| 62 | .. S X=$J(IBCNT,3)_" "_$S($P(IB0,U,5)=1:"INST",$P(IB0,U,5)=2:"PROF",1:"BOTH")_" "_$E($S($P(IB0,U,3)=1:"EDI ONLY",$P(IB0,U,3)=2:"MRA ONLY",1:"BOTH EDI/MRA")_$J("",14),1,14)
|
---|
| 63 | .. S X=X_$E($S($P(IB0,U,7)=1:"INCLUDES",$P(IB0,U,7)=2:"EXCLUDES",1:"ALL")_$J("",11),1,11)_$E($P(IB0,U)_$S(IBS'<800:"*",1:"")_$J("",6),1,6)
|
---|
| 64 | .. S X=X_$E($P(IB0,U,8)_$J("",47),1,47)_$E($$EXPAND^IBTRE(364.4,.02,$P(IB0,U,2))_$J("",15),1,15)_$$EXPAND^IBTRE(364.4,.06,$P(IB0,U,6))
|
---|
| 65 | .. D SET(X,.VALMCNT,IBCNT,IBRULE)
|
---|
| 66 | . S VALMSG=$S('$G(IBACTIVE):"Rule #'s followed by an * are currently inactive",1:"Only currently active rules are displayed")
|
---|
| 67 | ;
|
---|
| 68 | I '$D(^TMP("IBCE-RULE",$J)) S VALMCNT=2,IBCNT=2,^TMP("IBCE-RULE",$J,1,0)=" ",^TMP("IBCE-RULE",$J,2,0)=" No "_$S('$G(IBACTIVE):"",1:"Active")_" Transmission Rules Found",^TMP("IBCE-RULE",$J,"IDX",1,1)="",^TMP("IBCE-RULE",$J,"IDX",2,2)=""
|
---|
| 69 | Q
|
---|
| 70 | ;
|
---|
| 71 | SET(X,VALMCNT,IBCNT,IBRULE) ;
|
---|
| 72 | ; X = Text to set into display global
|
---|
| 73 | ; VALMCNT = returned if passed by ref = the last line set in display
|
---|
| 74 | ; IBCNT = entry number to use if the line is selectable; non-select = 0
|
---|
| 75 | ; IBRULE = ien of rule being displayed
|
---|
| 76 | ;
|
---|
| 77 | S VALMCNT=VALMCNT+1,^TMP("IBCE-RULE",$J,VALMCNT,0)=X
|
---|
| 78 | D SET^VALM10(VALMCNT,X,IBCNT)
|
---|
| 79 | I $G(IBRULE) D
|
---|
| 80 | . S ^TMP("IBCE-RULEDX",$J,IBCNT)=VALMCNT_U_IBRULE
|
---|
| 81 | Q
|
---|
| 82 | ;
|
---|
| 83 | HELP ; -- help code
|
---|
| 84 | S X="?" D DISP^XQORM1 W !!
|
---|
| 85 | Q
|
---|
| 86 | ;
|
---|
| 87 | EXIT ; -- exit code
|
---|
| 88 | K ^TMP("IBCE-RULE",$J),^TMP("IBCE-RULEDX",$J),IBRULE
|
---|
| 89 | D FULL^VALM1
|
---|
| 90 | Q
|
---|
| 91 | ;
|
---|
| 92 | EXPND ; -- expand code
|
---|
| 93 | Q
|
---|
| 94 | ;
|
---|