Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/INTEGRATED_BILLING-IB-PRQ--IBD--IBQ--PRQS/IBJTBA.m

    r613 r623  
    1 IBJTBA  ;ALB/ARH - TPI BILL CHARGE INFO SCREEN ;01-MAR-1995
    2         ;;2.0;INTEGRATED BILLING;**39,80,51,137,135,309,349,389**;21-MAR-94;Build 6
    3         ;;Per VHA Directive 2004-038, this routine should not be modified.
    4         ;
    5 EN      ; -- main entry point for IBJ TP BILL CHARGES
    6         D EN^VALM("IBJT BILL CHARGES")
    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         N IBOK,IBEOBDET
    15         K ^TMP("IBJTBA",$J) N IBFT
    16         I '$G(DFN)!'$G(IBIFN) S VALMQUIT="" G INITQ
    17         S IBFT=+$P($G(^DGCR(399,+IBIFN,0)),U,19),IBOK=1
    18         I $D(^IBM(361.1,"B",IBIFN))!$D(^IBM(361.1,"C",IBIFN)) D  G:'IBOK INITQ
    19         . S DIR("A")="DO YOU WANT ALL EEOB DETAILS?: ",DIR("B")="NO",DIR(0)="YA"
    20         . D FULL^VALM1 W ! D ^DIR K DIR
    21         . I $D(DTOUT)!$D(DUOUT) S IBOK=0 Q
    22         . S IBEOBDET=+Y
    23         D BLD
    24 INITQ   Q
    25         ;
    26 MRA     ; -- mra/eob
    27         N IBI,Z,IBSTR,IBSHEOB,IBCT
    28         S IBCT=0
    29         S IBI=0 F  S IBI=$O(^IBM(361.1,"B",IBIFN,IBI)) Q:'IBI  S Z=+$O(^IBM(361.1,IBI,8,0)) I '$O(^(Z)) S IBCT=IBCT+1,IBSHEOB(IBI)=0  ; Entire EOB belongs to the bill
    30         S IBI=0 F  S IBI=$O(^IBM(361.1,"C",IBIFN,IBI)) Q:'IBI  S IBCT=IBCT+1,IBSHEOB(IBI)=1 ; EOB has been reapportioned at the site
    31         I 'IBCT D
    32         . S IBSTR=$$SETLN("No EEOB/MRA Information","",1,79)
    33         . S IBLN=$$SET(IBSTR,IBLN)
    34         I IBCT D
    35         . S Z=0
    36         . S IBI=0 F  S IBI=$O(IBSHEOB(IBI)) Q:'IBI  S Z=Z+1 D SHEOB^IBJTBA1(IBI,+IBSHEOB(IBI),Z,IBCT)
    37         ;
    38         Q
    39         ;
    40 HELP    ; -- help code
    41         S X="?" D DISP^XQORM1 W !!
    42         Q
    43         ;
    44 EXIT    ; -- exit code
    45         K ^TMP("IBJTBA",$J)
    46         D CLEAR^VALM1
    47         Q
    48         ;
    49 BLD     ; charges, as they would display on the bill
    50         N IBXDATA,IBXSAVE
    51         I $P($G(^DGCR(399,+IBIFN,0)),U,19)=2 D H1500 Q
    52         D UB04
    53         K ^TMP("IBXSAVE",$J)
    54         Q
    55         ;
    56 H1500   ; block 24
    57         N X,IBI,IBJ,IBLN,IBX,IBSTR,IBLKLN,IBPFORM,IBLIN
    58         K ^TMP("IBXSAVE",$J)
    59         S IBLIN=$$BOX24D^IBCEF11("",1),IBLKLN=0,IBLN=1
    60         Q:'$G(IBIFN)  K ^TMP("IBXDISP",$J)
    61         S IBPFORM=$S($P($G(^IBE(353,2,2)),U,8):$P(^(2),U,8),1:2),IBLN=1
    62         S IBX=$$BILLN^IBCEFG0(1,"1^99",IBLIN,+IBIFN,IBPFORM)
    63         S IBI=$O(^TMP("IBXDISP",$J,""),-1)
    64         S IBJ="" F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ),-1) Q:$S('IBJ:1,1:$TR($G(^(IBJ))," ")'="")  K ^TMP("IBXDISP",$J,IBI,IBJ)
    65         I '$O(^TMP("IBXDISP",$J,IBI,0)) S VALMSG="No charges or procedures defined.",VALMQUIT="" G H1500Q
    66         S IBI="" F  S IBI=$O(^TMP("IBXDISP",$J,IBI)) Q:'IBI  S IBJ=0 F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ)) Q:'IBJ  D
    67         . S IBX=$G(^TMP("IBXDISP",$J,IBI,IBJ)),IBLN=$$SET(IBX,IBLN)
    68         K ^TMP("IBXDISP",$J)
    69         D COB,MRA
    70         I $$ISRX^IBCEF1(IBIFN) D RX
    71         I $$ISPROS^IBCEF1(IBIFN) D PROS
    72         S VALMCNT=IBLN-1
    73 H1500Q  Q
    74         ;
    75 UB04    ;form locator 42-49,   IBIFN required
    76         N X,Y,DIR,IBI,IBJ,IBX,IBLN,IBLC,IBLIN,IBPFORM,IBSTATE,IBCBILL,IBINPAT,IBQ,Z,Z0
    77         K ^TMP("IBXSAVE",$J)
    78         S IBLIN=$$RCBOX^IBCEF11()
    79         S IBQ=0,IBLC=9 Q:'$G(IBIFN)  K ^TMP("IBXDISP",$J)
    80         S IBPFORM=$S($P($G(^IBE(353,3,2)),U,8):$P(^(2),U,8),1:3)
    81         S IBX=$$BILLN^IBCEFG0(1,"1^99",IBLIN,+IBIFN,IBPFORM)
    82         I '$O(^TMP("IBXDISP",$J,0)) S VALMSG="No charges defined.",VALMQUIT="" G UB04Q
    83         S Z="" F  S Z=$O(^TMP("IBXDISP",$J,1,Z),-1) Q:Z=""  S Z0=$G(^(Z)) Q:$TR(Z0," ")'=""  K ^(Z)
    84         S:Z ^TMP("IBXDISP",$J,1,Z+1)=" "
    85         S IBINPAT=$$INPAT^IBCEF(IBIFN,1)
    86         S IBSTATE=$G(^DGCR(399,IBIFN,"U")),IBCBILL=$G(^DGCR(399,IBIFN,0))
    87         ;
    88         S (VALMCNT,IBLN)=1,IBLKLN=0
    89         I +IBINPAT D  S IBLN=$$SET(IBSTR,IBLN)
    90         . S IBX=$P(IBSTATE,U,15),IBSTR=+IBX_" DAY"_$S(IBX'=1:"S",1:"")_" INPATIENT CARE"
    91         . S IBX=$$LOS^IBCU64(+IBSTATE,+$P(IBSTATE,U,2),+$P(IBCBILL,U,6)),IBX=IBX-$$LOS1^IBCU64(IBIFN) I IBX>0 S IBSTR=IBSTR_$J("Pass Days: "_IBX,55)
    92         ;
    93         S IBI="" F  S IBI=$O(^TMP("IBXDISP",$J,IBI)) Q:'IBI  S IBJ=0 F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ)) Q:'IBJ  D
    94         . S IBX=$G(^TMP("IBXDISP",$J,IBI,IBJ)),IBLN=$$SET(IBX,IBLN)
    95         . I $E(IBX,1,3)="001" D COB
    96         ;
    97         K ^TMP("IBXDISP",$J)
    98         ;
    99         D MRA
    100         S VALMCNT=IBLN-1
    101 UB04Q   Q
    102         ;
    103 SETLN(STR,IBX,COL,WD)   ;
    104         S IBX=$$SETSTR^VALM1(STR,IBX,COL,WD)
    105         Q IBX
    106         ;
    107 SET(STR,LN)     ; set up TMP array with screen data (allows 2 blank lines, if not at end of array)
    108         N IBX,IBI I STR?80" " S IBLKLN=IBLKLN+1 G SETQ
    109         F IBI=1:1:IBLKLN D SET^VALM10(LN," ") S LN=LN+1 Q:IBI>1
    110         D SET^VALM10(LN,STR)
    111         S LN=LN+1,IBLKLN=0
    112 SETQ    Q LN
    113         ;
    114 COB     ; if there is an offset or a secondary/tertiary payer add it to the display, with ins co, and prior bill #
    115         ; IBIFN and IBLN must exist upon entry, IBLN is updated with new line count
    116         N IBM,IBM1,IBI,IBJ,IBD,IBSTR,IBCU2,IBCU1 Q:'$G(IBIFN)
    117         S IBM=$G(^DGCR(399,IBIFN,"M")),IBM1=$G(^DGCR(399,IBIFN,"M1"))
    118         S IBCU2=$G(^DGCR(399,IBIFN,"U2")),IBCU1=$G(^DGCR(399,IBIFN,"U1"))
    119         S IBJ=$P($G(^DGCR(399,IBIFN,0)),U,21),IBJ=$S(IBJ="P":3,IBJ="S":3,IBJ="T":3,1:0),IBSTR=""
    120         I +$P(IBM,U,2)!(+$P(IBM,U,3)) F IBI=1:1:IBJ I +$P(IBM,U,IBI) D  S IBLN=$$SET(IBSTR,IBLN)
    121         . I IBSTR="" S IBLN=$$SET("",IBLN)
    122         . S IBD=$S(IBI=1:"Primary",IBI=2:"Secondary",1:"Tertiary")_": " S IBSTR=$$SETLN(IBD,"",5,11)
    123         . S IBD=$P($G(^DIC(36,+$P(IBM,U,IBI),0)),U,1) S IBSTR=$$SETLN(IBD,IBSTR,17,25)
    124         . I $P(IBCU2,U,(IBI+3))'="" S IBD=$J(+$P(IBCU2,U,(IBI+3)),9,2) S IBSTR=$$SETLN(IBD,IBSTR,44,11)
    125         . I $P(IBM1,U,(IBI+4))'="" S IBD=$$BN1^PRCAFN(+$P(IBM1,U,(IBI+4))) S IBSTR=$$SETLN(IBD,IBSTR,60,11)
    126         I +$P(IBCU1,U,2) D  S IBLN=$$SET(IBSTR,IBLN)
    127         . I IBSTR="" S IBLN=$$SET("",IBLN)
    128         . S IBD="Offset: " S IBSTR=$$SETLN(IBD,"",5,11)
    129         . S IBD=$P(IBCU1,U,3) S IBSTR=$$SETLN(IBD,IBSTR,17,25)
    130         . S IBD=$J($P(IBCU1,U,2),9,2) S IBSTR=$$SETLN(IBD,IBSTR,44,11)
    131         . S IBD=$P(IBCU1,U,1)-$P(IBCU1,U,2),IBD="Billed: "_$J(IBD,0,2) S IBSTR=$$SETLN(IBD,IBSTR,60,17)
    132         Q
    133         ;
    134 RX      ;RX refill info for CMS-1500 TPJI display
    135         N Z,Z0,Z1,IBSPC,IBD,IBI,IBSTR,IBARRAY,IBRXX
    136         S IBLN=IBLN+1
    137         S IBSPC=$J("",5)
    138         D SET^IBCSC5A(IBIFN,.IBARRAY)
    139         I $D(IBARRAY) D
    140         . S (Z,Z0)=0 F  S Z0=$O(IBARRAY(Z0)) Q:Z0=""  S Z1=0 F  S Z1=$O(IBARRAY(Z0,Z1)) Q:'Z1  S Z=Z+1 S IBXDATA(Z)=$$DAT1^IBOUTL(Z1)_U_$G(IBARRAY(Z0,Z1))
    141         S IBD=$$SET("",IBLN)
    142         S IBD="PRESCRIPTION REFILLS: (For TPJI display only)"
    143         S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
    144         S IBI=0 F  S IBI=$O(IBXDATA(IBI)) Q:IBI=""  D
    145         . S IBRXX=$G(IBXDATA(IBI))
    146         . D ZERO^IBRXUTL($P(IBRXX,U,3))
    147         . S IBD=$J($P(IBRXX,U,7),9,2)_IBSPC_$P(IBRXX,U)_IBSPC_$G(^TMP($J,"IBDRUG",+$P(IBRXX,U,3),.01))
    148         . K ^TMP($J,"IBDRUG")
    149         . S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
    150         . S IBD="QTY: "_$P(IBRXX,U,5)_" for "_$P(IBRXX,U,4)_" days supply "_"NDC# "_$P(IBRXX,U,6)
    151         . S IBSTR=$$SETLN(IBD,"",23,79),IBLN=$$SET(IBSTR,IBLN)
    152         Q
    153         ;
    154 PROS    ;prosthetic info for CMS-1500 TPJI display
    155         N Z,Z0,Z1,IBARRAY,IBSPC,IBD,IBI,IBSTR
    156         S IBSPC=$J("",10),IBLN=IBLN+1
    157         D SET^IBCSC5B(IBIFN,.IBARRAY)
    158         I $D(IBARRAY) D
    159         . S (Z,Z0)=0 F  S Z0=$O(IBARRAY(Z0)) Q:Z0=""  S Z1=0 F  S Z1=$O(IBARRAY(Z0,Z1)) Q:'Z1  S Z=Z+1,IBXDATA(Z)=$$DAT1^IBOUTL(Z0)_U_$E($$PINB^IBCSC5B(+IBARRAY(Z0,Z1)),1,39)
    160         S IBD=$$SET("",IBLN)
    161         S IBD="PROSTHETIC REFILLS: (For TPJI display only)"
    162         S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
    163         S IBI=0 F  S IBI=$O(IBXDATA(IBI)) Q:IBI=""  D
    164         . S IBD=$P(IBXDATA(IBI),U)_IBSPC_$P(IBXDATA(IBI),U,2)
    165         . S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
    166         Q
    167         ;
     1IBJTBA ;ALB/ARH - TPI BILL CHARGE INFO SCREEN ;01-MAR-1995
     2 ;;2.0;INTEGRATED BILLING;**39,80,51,137,135,309,349**;21-MAR-94;Build 46
     3 ;;Per VHA Directive 2004-038, this routine should not be modified.
     4 ;
     5EN ; -- main entry point for IBJ TP BILL CHARGES
     6 D EN^VALM("IBJT BILL CHARGES")
     7 Q
     8 ;
     9HDR ; -- header code
     10 D HDR^IBJTU1(+IBIFN,+DFN,12)
     11 Q
     12 ;
     13INIT ; -- init variables and list array
     14 N IBOK,IBEOBDET
     15 K ^TMP("IBJTBA",$J) N IBFT
     16 I '$G(DFN)!'$G(IBIFN) S VALMQUIT="" G INITQ
     17 S IBFT=+$P($G(^DGCR(399,+IBIFN,0)),U,19),IBOK=1
     18 I $D(^IBM(361.1,"B",IBIFN))!$D(^IBM(361.1,"C",IBIFN)) D  G:'IBOK INITQ
     19 . S DIR("A")="DO YOU WANT ALL EEOB DETAILS?: ",DIR("B")="NO",DIR(0)="YA"
     20 . D FULL^VALM1 W ! D ^DIR K DIR
     21 . I $D(DTOUT)!$D(DUOUT) S IBOK=0 Q
     22 . S IBEOBDET=+Y
     23 D BLD
     24INITQ Q
     25 ;
     26MRA ; -- mra/eob
     27 N IBI,Z,IBSTR,IBSHEOB,IBCT
     28 S IBCT=0
     29 S IBI=0 F  S IBI=$O(^IBM(361.1,"B",IBIFN,IBI)) Q:'IBI  S Z=+$O(^IBM(361.1,IBI,8,0)) I '$O(^(Z)) S IBCT=IBCT+1,IBSHEOB(IBI)=0  ; Entire EOB belongs to the bill
     30 S IBI=0 F  S IBI=$O(^IBM(361.1,"C",IBIFN,IBI)) Q:'IBI  S IBCT=IBCT+1,IBSHEOB(IBI)=1 ; EOB has been reapportioned at the site
     31 I 'IBCT D
     32 . S IBSTR=$$SETLN("No EEOB/MRA Information","",1,79)
     33 . S IBLN=$$SET(IBSTR,IBLN)
     34 I IBCT D
     35 . S Z=0
     36 . S IBI=0 F  S IBI=$O(IBSHEOB(IBI)) Q:'IBI  S Z=Z+1 D SHEOB^IBJTBA1(IBI,+IBSHEOB(IBI),Z,IBCT)
     37 ;
     38 Q
     39 ;
     40HELP ; -- help code
     41 S X="?" D DISP^XQORM1 W !!
     42 Q
     43 ;
     44EXIT ; -- exit code
     45 K ^TMP("IBJTBA",$J)
     46 D CLEAR^VALM1
     47 Q
     48 ;
     49BLD ; charges, as they would display on the bill
     50 N IBXDATA,IBXSAVE
     51 I $P($G(^DGCR(399,+IBIFN,0)),U,19)=2 D H1500 Q
     52 D UB04
     53 K ^TMP("IBXSAVE",$J)
     54 Q
     55 ;
     56H1500 ; block 24
     57 N X,IBI,IBJ,IBLN,IBX,IBSTR,IBLKLN,IBPFORM,IBLIN
     58 K ^TMP("IBXSAVE",$J)
     59 S IBLIN=$$BOX24D^IBCEF11("",1),IBLKLN=0,IBLN=1
     60 Q:'$G(IBIFN)  K ^TMP("IBXDISP",$J)
     61 S IBPFORM=$S($P($G(^IBE(353,2,2)),U,8):$P(^(2),U,8),1:2),IBLN=1
     62 S IBX=$$BILLN^IBCEFG0(1,"1^99",IBLIN,+IBIFN,IBPFORM)
     63 S IBI=$O(^TMP("IBXDISP",$J,""),-1)
     64 S IBJ="" F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ),-1) Q:$S('IBJ:1,1:$TR($G(^(IBJ))," ")'="")  K ^TMP("IBXDISP",$J,IBI,IBJ)
     65 I '$O(^TMP("IBXDISP",$J,IBI,0)) S VALMSG="No charges or procedures defined.",VALMQUIT="" G H1500Q
     66 S IBI="" F  S IBI=$O(^TMP("IBXDISP",$J,IBI)) Q:'IBI  S IBJ=0 F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ)) Q:'IBJ  D
     67 . S IBX=$G(^TMP("IBXDISP",$J,IBI,IBJ)),IBLN=$$SET(IBX,IBLN)
     68 K ^TMP("IBXDISP",$J)
     69 D COB,MRA
     70 I $$ISRX^IBCEF1(IBIFN) D RX
     71 I $$ISPROS^IBCEF1(IBIFN) D PROS
     72 S VALMCNT=IBLN-1
     73H1500Q Q
     74 ;
     75UB04 ;form locator 42-49,   IBIFN required
     76 N X,Y,DIR,IBI,IBJ,IBX,IBLN,IBLC,IBLIN,IBPFORM,IBSTATE,IBCBILL,IBINPAT,IBQ,Z,Z0
     77 K ^TMP("IBXSAVE",$J)
     78 S IBLIN=$$RCBOX^IBCEF11()
     79 S IBQ=0,IBLC=9 Q:'$G(IBIFN)  K ^TMP("IBXDISP",$J)
     80 S IBPFORM=$S($P($G(^IBE(353,3,2)),U,8):$P(^(2),U,8),1:3)
     81 S IBX=$$BILLN^IBCEFG0(1,"1^99",IBLIN,+IBIFN,IBPFORM)
     82 I '$O(^TMP("IBXDISP",$J,0)) S VALMSG="No charges defined.",VALMQUIT="" G UB04Q
     83 S Z="" F  S Z=$O(^TMP("IBXDISP",$J,1,Z),-1) Q:Z=""  S Z0=$G(^(Z)) Q:$TR(Z0," ")'=""  K ^(Z)
     84 S:Z ^TMP("IBXDISP",$J,1,Z+1)=" "
     85 S IBINPAT=$$INPAT^IBCEF(IBIFN,1)
     86 S IBSTATE=$G(^DGCR(399,IBIFN,"U")),IBCBILL=$G(^DGCR(399,IBIFN,0))
     87 ;
     88 S (VALMCNT,IBLN)=1,IBLKLN=0
     89 I +IBINPAT D  S IBLN=$$SET(IBSTR,IBLN)
     90 . S IBX=$P(IBSTATE,U,15),IBSTR=+IBX_" DAY"_$S(IBX'=1:"S",1:"")_" INPATIENT CARE"
     91 . S IBX=$$LOS^IBCU64(+IBSTATE,+$P(IBSTATE,U,2),+$P(IBCBILL,U,6)),IBX=IBX-$$LOS1^IBCU64(IBIFN) I IBX>0 S IBSTR=IBSTR_$J("Pass Days: "_IBX,55)
     92 ;
     93 S IBI="" F  S IBI=$O(^TMP("IBXDISP",$J,IBI)) Q:'IBI  S IBJ=0 F  S IBJ=$O(^TMP("IBXDISP",$J,IBI,IBJ)) Q:'IBJ  D
     94 . S IBX=$G(^TMP("IBXDISP",$J,IBI,IBJ)),IBLN=$$SET(IBX,IBLN)
     95 . I $E(IBX,1,3)="001" D COB
     96 ;
     97 K ^TMP("IBXDISP",$J)
     98 ;
     99 D MRA
     100 S VALMCNT=IBLN-1
     101UB04Q Q
     102 ;
     103SETLN(STR,IBX,COL,WD) ;
     104 S IBX=$$SETSTR^VALM1(STR,IBX,COL,WD)
     105 Q IBX
     106 ;
     107SET(STR,LN) ; set up TMP array with screen data (allows 2 blank lines, if not at end of array)
     108 N IBX,IBI I STR?80" " S IBLKLN=IBLKLN+1 G SETQ
     109 F IBI=1:1:IBLKLN D SET^VALM10(LN," ") S LN=LN+1 Q:IBI>1
     110 D SET^VALM10(LN,STR)
     111 S LN=LN+1,IBLKLN=0
     112SETQ Q LN
     113 ;
     114COB ; if there is an offset or a secondary/tertiary payer add it to the display, with ins co, and prior bill #
     115 ; IBIFN and IBLN must exist upon entry, IBLN is updated with new line count
     116 N IBM,IBM1,IBI,IBJ,IBD,IBSTR,IBCU2,IBCU1 Q:'$G(IBIFN)
     117 S IBM=$G(^DGCR(399,IBIFN,"M")),IBM1=$G(^DGCR(399,IBIFN,"M1"))
     118 S IBCU2=$G(^DGCR(399,IBIFN,"U2")),IBCU1=$G(^DGCR(399,IBIFN,"U1"))
     119 S IBJ=$P($G(^DGCR(399,IBIFN,0)),U,21),IBJ=$S(IBJ="P":3,IBJ="S":3,IBJ="T":3,1:0),IBSTR=""
     120 I +$P(IBM,U,2)!(+$P(IBM,U,3)) F IBI=1:1:IBJ I +$P(IBM,U,IBI) D  S IBLN=$$SET(IBSTR,IBLN)
     121 . I IBSTR="" S IBLN=$$SET("",IBLN)
     122 . S IBD=$S(IBI=1:"Primary",IBI=2:"Secondary",1:"Tertiary")_": " S IBSTR=$$SETLN(IBD,"",5,11)
     123 . S IBD=$P($G(^DIC(36,+$P(IBM,U,IBI),0)),U,1) S IBSTR=$$SETLN(IBD,IBSTR,17,25)
     124 . I $P(IBCU2,U,(IBI+3))'="" S IBD=$J(+$P(IBCU2,U,(IBI+3)),9,2) S IBSTR=$$SETLN(IBD,IBSTR,44,11)
     125 . I $P(IBM1,U,(IBI+4))'="" S IBD=$$BN1^PRCAFN(+$P(IBM1,U,(IBI+4))) S IBSTR=$$SETLN(IBD,IBSTR,60,11)
     126 I +$P(IBCU1,U,2) D  S IBLN=$$SET(IBSTR,IBLN)
     127 . I IBSTR="" S IBLN=$$SET("",IBLN)
     128 . S IBD="Offset: " S IBSTR=$$SETLN(IBD,"",5,11)
     129 . S IBD=$P(IBCU1,U,3) S IBSTR=$$SETLN(IBD,IBSTR,17,25)
     130 . S IBD=$J($P(IBCU1,U,2),9,2) S IBSTR=$$SETLN(IBD,IBSTR,44,11)
     131 . S IBD=$P(IBCU1,U,1)-$P(IBCU1,U,2),IBD="Billed: "_$J(IBD,0,2) S IBSTR=$$SETLN(IBD,IBSTR,60,17)
     132 Q
     133 ;
     134RX ;RX refill info for CMS-1500 TPJI display
     135 N Z,Z0,Z1,IBSPC,IBD,IBI,IBSTR,IBARRAY,IBRXX
     136 S IBLN=IBLN+1
     137 S IBSPC=$J("",5)
     138 D SET^IBCSC5A(IBIFN,.IBARRAY)
     139 I $D(IBARRAY) D
     140 . S (Z,Z0)=0 F  S Z0=$O(IBARRAY(Z0)) Q:Z0=""  S Z1=0 F  S Z1=$O(IBARRAY(Z0,Z1)) Q:'Z1  S Z=Z+1 S IBXDATA(Z)=$$DAT1^IBOUTL(Z1)_U_$G(IBARRAY(Z0,Z1))
     141 S IBD=$$SET("",IBLN)
     142 S IBD="PRESCRIPTION REFILLS: (For TPJI display only)"
     143 S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
     144 S IBI=0 F  S IBI=$O(IBXDATA(IBI)) Q:IBI=""  D
     145 . S IBRXX=$G(IBXDATA(IBI))
     146 . D ZERO^IBRXUTL($P(IBRXX,U,3))
     147 . S IBD=$J($P(IBRXX,U,7),9,2)_IBSPC_$P(IBRXX,U)_IBSPC_$G(^TMP($J,"IBDRUG",+$P(IBRXX,U,3),.01))
     148 . K ^TMP($J,"IBDRUG")
     149 . S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
     150 . S IBD="QTY: "_$P(IBRXX,U,5)_" for "_$P(IBRXX,U,4)_" days supply "_"NDC# "_$P(IBRXX,U,6)
     151 . S IBSTR=$$SETLN(IBD,"",23,79),IBLN=$$SET(IBSTR,IBLN)
     152 Q
     153 ;
     154PROS ;prosthetic info for CMS-1500 TPJI display
     155 N Z,Z0,Z1,IBARRAY,IBSPC,IBD,IBI,IBSTR
     156 S IBSPC=$J("",10),IBLN=IBLN+1
     157 D SET^IBCSC5B(IBIFN,.IBARRAY)
     158 I $D(IBARRAY) D
     159 . S (Z,Z0)=0 F  S Z0=$O(IBARRAY(Z0)) Q:Z0=""  S Z1=0 F  S Z1=$O(IBARRAY(Z0,Z1)) Q:'Z1  S Z=Z+1,IBXDATA(Z)=$$DAT1^IBOUTL(Z0)_U_$E($P($$PIN^IBCSC5B(Z1),U,2),1,39)
     160 S IBD=$$SET("",IBLN)
     161 S IBD="PROSTHETIC REFILLS: (For TPJI display only)"
     162 S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
     163 S IBI=0 F  S IBI=$O(IBXDATA(IBI)) Q:IBI=""  D
     164 . S IBD=$P(IBXDATA(IBI),U)_IBSPC_$P(IBXDATA(IBI),U,2)
     165 . S IBSTR=$$SETLN(IBD,"",1,79),IBLN=$$SET(IBSTR,IBLN)
     166 Q
     167 ;
Note: See TracChangeset for help on using the changeset viewer.