Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBCSC5

IBCSC5.m

Go to the documentation of this file.
  1. IBCSC5 ;ALB/MJB - MCCR SCREEN 5 (OPT. EOC) ;27 MAY 88 10:15
  1. ;;2.0;INTEGRATED BILLING;**52,125,51,210,266,288,287,309,389,447,461,592**;21-MAR-94;Build 58
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ;MAP TO DGCRSC5
  1. ;
  1. EN I $$INPAT^IBCEF(IBIFN) G ^IBCSC4
  1. I $D(IBASKCOD) K IBASKCOD D CODMUL^IBCU7 I $$BILLCPT^IBCRU4(IBIFN) D ASK^IBCU7A(IBIFN) S DGRVRCAL=1
  1. I $D(DGRVRCAL) D ^IBCU6 K DGRVRCAL
  1. L ^DGCR(399,IBIFN):1
  1. D ^IBCSCU S IBSR=5,IBSR1="",IBV1="10000000"_$S($$FT^IBCEF(IBIFN)'=2:0,1:1)
  1. ;JWS;IB*2.0*592 US1108 - Dental
  1. I $$FT^IBCEF(IBIFN)=7 S IBV1=100011011
  1. F I="U",0 S IB(I)=$S($D(^DGCR(399,IBIFN,I)):^(I),1:"") S:IBV IBV1="111111111"
  1. D H^IBCSCU
  1. S IBPTF=$P(IB(0),U,8),IBBT=$P(IB(0),"^",4)_$P(IB(0),"^",5)_$P(IB(0),"^",6)
  1. D EN4^IBCVA1
  1. S Z=1,IBW=1 X IBWW W " Event Date : " S Y=$P(IB(0),U,3) D DT^DIQ
  1. N IBPOARR,IBDATE
  1. D SET^IBCSC4D(IBIFN,"",.IBPOARR)
  1. S IBDATE=$$BDATE^IBACSV(IBIFN) ; Statement To date
  1. S Z=2,IBW=1 X IBWW W " Prin. Diag.: " S Y=$$DX^IBCSC4(0,IBDATE) W $S(Y'="":$E($P(Y,U,4),1,47)_" - "_$P(Y,U,2),$$DXREQ^IBCSC4(IBIFN):IBU,1:IBUN)
  1. F I=1:1:4 S Y=$$DX^IBCSC4(+Y,IBDATE) Q:Y="" W !?4,"Other Diag.: ",$E($P(Y,U,4),1,47)_" - "_$P(Y,U,2)
  1. I +Y S Y=$$DX^IBCSC4(+Y,IBDATE) I +Y W !?4,"***There are more diagnoses associated with this bill.***"
  1. OP S Z=3,IBW=1 X IBWW W " OP Visits : " F I=0:0 S I=$O(^DGCR(399,IBIFN,"OP",I)) Q:'I S Y=I X ^DD("DD") W:$X>67 !?17 W Y_", "
  1. S:$D(^DGCR(399,"OP")) DGOPV=1 I '$O(^DGCR(399,IBIFN,"OP",0)) W IBU
  1. W !,?4,"Type : ",$$GET1^DIQ(399,IBIFN_",",158) ; Added with IB*2.0*447 BI
  1. S Z=4,IBW=1 X IBWW W " Cod. Method: ",$S($P(IB(0),U,9)="":IBUN,$P(IB(0),U,9)=9:"ICD",$P(IB(0),U,9)=4:"CPT-4",1:"HCPCS")
  1. D WRT:$D(IBPROC)
  1. ;JWS;IB*2.0*592 US1108 - Dental
  1. ;I $$FT^IBCEF(IBIFN)=7 D Q^IBCSC4B G ^IBCSCP
  1. S Z=5,IBW=1 X IBWW W " Rx. Refills: " S Y=$$RX I 'Y W IBUN
  1. OCC G OCC^IBCSC4
  1. W !?4,"Opt. Code : ",IBUN
  1. G OCC^IBCSC4
  1. Q
  1. MORE W !?4,*7,"***There are more procedures associated with this bill.***" S I=0
  1. Q
  1. WRT ; -write out procedures codes on screen
  1. N IBDATE
  1. S J=0 F I=1:1 S J=$O(IBPROC(J)) Q:'J D I I>6 D MORE Q
  1. .S IBDATE=$P(IBPROC(J),U,2) I 'IBDATE S IBDATE=$$BDATE^IBACSV($G(IBIFN))
  1. .S X=$$PRCD^IBCEF1($P(IBPROC(J),U),1,IBDATE)
  1. .I IBPROC(J)["ICD" W !?4,"ICD Code : ",$E($P(X,U,3),1,28)_" - "_$P(X,U,2)
  1. .I IBPROC(J)["CPT" W !?4,"CPT Code : " D
  1. .. N Z
  1. .. S Z=$P(X,"^",3)_" "_$P(X,"^",2)_$S($P(IBPROC(J),U,15):"-"_$$MODLST^IBEFUNC2($P(IBPROC(J),U,15)),1:"")
  1. .. I $L(Z)>40 S Z=" "_$P(X,"^",2)_$S($P(IBPROC(J),U,15):"-"_$$MODLST^IBEFUNC2($P(IBPROC(J),U,15)),1:""),Z=$E($P(X,U,3),1,40-$L(Z))_Z
  1. .. W Z
  1. .;JWS;IB*2.0*592 US1108 - Dental form #7
  1. .I $P(IB(0),U,19)=2!($P(IB(0),U,19)=7) S Y=+$P(IBPROC(J),U,11) S:+Y Y=+$G(^IBA(362.3,+Y,0)) W ?58,$P($$ICD9^IBACSV(Y,IBDATE),U) S Y=$P(IBPROC(J),U,2) D D^DIQ W ?67,Y Q
  1. .S Y=$P(IBPROC(J),"^",2) D D^DIQ W ?67,Y
  1. Q
  1. ;
  1. MOD(IBM,PUNC) ; Returns modifier list from comma delimited ien's in string IBM
  1. ; PUNC = Punctuation to use as first character of output
  1. N IBMOD,Q
  1. S IBMOD=""
  1. F Q=1:1:$L(IBM,",") I $P(IBM,",",Q)'="" S IBMOD=IBMOD_$S(IBMOD'="":",",1:"")_$P($$MOD^ICPTMOD($P(IBM,",",Q),"I"),U,2)
  1. I IBMOD'="" S IBMOD=$G(PUNC)_IBMOD
  1. Q IBMOD
  1. ;
  1. PD() ;prints prosthetic device in external form, returns 0 if there are none
  1. N IBX,IBY,IBZ,IBN,X S X=0 S IBX=0 F S IBX=$O(^IBA(362.5,"AIFN"_IBIFN,IBX)) Q:'IBX D Q:X>5
  1. . S IBY=0 F S IBY=$O(^IBA(362.5,"AIFN"_IBIFN,IBX,IBY)) Q:'IBY S IBZ=$G(^IBA(362.5,IBY,0)) I IBZ'="" D Q:X>5
  1. .. S X=X+1 I X>5 W !,?17,"*** There are more Pros. Items associated with this bill.***" Q
  1. .. W:X'=1 ! W ?17,$E($P(IBZ,U,5),1,40),?67,$$FMTE^XLFDT(+IBZ)
  1. Q X
  1. ;
  1. RX() ;prints RX REFILLS in external form, returns 0 if there are none
  1. N IBX,IBY,IBZ,IBN,X S X=0 S IBX="" F S IBX=$O(^IBA(362.4,"AIFN"_IBIFN,IBX)) Q:IBX="" D Q:X>5
  1. . S IBY=0 F S IBY=$O(^IBA(362.4,"AIFN"_IBIFN,IBX,IBY)) Q:'IBY S IBZ=$G(^IBA(362.4,IBY,0)) I IBZ'="" D Q:X>5
  1. .. S X=X+1 I X>5 W !,?17,"*** There are more Rx. Refills associated with this bill.***" Q
  1. ..D ZERO^IBRXUTL(+$P(IBZ,U,4))
  1. .. S IBN=$G(^TMP($J,"IBDRUG",+$P(IBZ,U,4),.01)) W:X'=1 ! W ?17,IBN,?65,$$FMTE^XLFDT(+$P(IBZ,U,3))
  1. K ^TMP($J,"IBDRUG")
  1. Q X
  1. ;
  1. ;IBCSC5