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

IBCSCH.m

Go to the documentation of this file.
  1. IBCSCH ;ALB/MJB - MCCR HELP ROUTINE ;03 JUN 88 15:25
  1. ;;2.0;INTEGRATED BILLING;**52,80,106,124,138,51,148,137,161,245,232,287,348,349,374,371,395,400,432,447,458,488,623**;21-MAR-94;Build 70
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. ;MAP TO DGCRSCH
  1. ;
  1. N I,C,IBSCNNZ,IBQ,IBPRNT,Z S IBSCNNZ=$$UP^XLFSTR($G(IBSCNN)),IBQ=0
  1. I '$D(IBPAR) D Q:IBQ
  1. . I $F(".?1500.?HCFA.","."_$G(IBSCNNZ)_"."),$$FT^IBCEF(IBIFN)=2 S IBQ=1,IBPRNT=2 D BL24(IBIFN,0) Q
  1. . I $G(IBSCNNZ)="?J430D",$$FT^IBCEF(IBIFN)=7 S IBQ=1 D DENTAL^IBCSCH2(IBIFN) Q ;/vd - IB*2.0*623 - US4055. Added to display DENTAL Mock-up screen when ?J430D is entered on any screen.
  1. . I $G(IBSCNNZ)="?SC" S IBQ=1 D DISPSC(IBIFN) Q
  1. . I $G(IBSCNNZ)="?INS" S IBQ=1 D INSDSPL(IBIFN) Q
  1. . I $G(IBSCNNZ)="?INX" S IBQ=1 D INSDSPLX(IBIFN) Q
  1. . I $G(IBSCNNZ)="?PRV" S IBQ=1 D DISPROPT(IBIFN) Q
  1. . I $G(IBSCNNZ)="?CHG" S IBQ=1 D DISPCHG^IBCRBH1(IBIFN) Q
  1. . I $G(IBSCNNZ)="?PRC" S IBQ=1 D DISPPRC^IBCSCH1(IBIFN) Q
  1. . I $G(IBSCNNZ)="?CPT" S IBQ=1 D BCPTCHG^IBCRBH2(IBIFN) Q
  1. . I $G(IBSCNNZ)="?INC" S IBQ=1 D EDIT^IBCBB(IBIFN) Q
  1. . I $G(IBSCNNZ)="?CLA",$$CK0^IBCIUT1() S IBQ=1 D CLA^IBCISC(IBIFN) Q
  1. . I $G(IBSCNNZ)="?MRA",$$MCRONBIL^IBEFUNC(IBIFN),$T(SCR^IBCEMVU)'="" S IBQ=1 D SCR^IBCEMVU(IBIFN) Q
  1. . I $G(IBSCNNZ)="?ID" S IBQ=1 D DISPID^IBCEF74(IBIFN) Q
  1. . I $G(IBSCNNZ)="?RX" S IBQ=1 D DISPRX^IBCSCH1(IBIFN) Q
  1. . I $G(IBSCNNZ)="?RNB" S IBQ=1 D EDITRNB^IBCSCH1(IBIFN) Q
  1. . Q
  1. ;
  1. S IBH("HELP")="" D ^IBCSCU,H^IBCSCU K IBH("HELP") W !,"Enter '^' to stop the display ",$S(IBV:"",1:"and edit "),"of data,"
  1. W:'$D(IBPAR) " '^N' to jump to screen #N (see",!,"listing below), <RET> to continue on to the next available screen" I IBV W "." G M
  1. W " or enter",!,"the field group number(s) you wish to edit using commas and dashes as",!,"delimiters. Those groups enclosed in brackets ""[]"" are editable while those"
  1. W !,"enclosed in arrows ""<>"" are not."
  1. G:$D(IBPAR) M1
  1. M W " Special help screens:"
  1. W !,?5,"Enter '?SC' to view SC Status and Rated Disabilities."
  1. W !,?5,"Enter '?INS' to view the patients insurance policies."
  1. W !,?5,"Enter '?INX' to view the patients insurance policies with comments."
  1. W !,?5,"Enter '?PRV' to view provider specific information."
  1. W !,?5,"Enter '?PRC' to view all procedures on the bill and related data."
  1. W !,?5,"Enter '?CHG' to view all items on the bill with potential charges."
  1. W !,?5,"Enter '?CPT' to view all charges for selected CPT codes and bill type."
  1. I $$FT^IBCEF(IBIFN)=2 W !,?5,"Enter '?1500' to view how block 24 will print on a CMS-1500."
  1. I $$FT^IBCEF(IBIFN)=7 W !,?5,"Enter '?J430D' to view data entered on the Dental claim." ;/vd - Added for IB*2.0*623 - US4055.
  1. W !,?5,"Enter '?INC' to execute the edits & view the bill inconsistencies."
  1. I $$CK0^IBCIUT1() W !?5,"Enter '?CLA' to view the ClaimsManager options."
  1. I $$MCRONBIL^IBEFUNC(IBIFN) W !?5,"Enter '?MRA' to view Medicare Remittance Advice EOB's on file."
  1. W !,?5,"Enter '?ID' to view all IDs to be electronically transmitted on this claim."
  1. W !,?5,"Enter '?RX' to view all prescriptions on this claim."
  1. W !,?5,"Enter '?RNB' to enter an RNB for bill associated Claims Tracking entries."
  1. ;
  1. D S W ! F I=$Y:1:20 W !
  1. S Z="PRESS <RETURN> KEY" X IBWW W " to RETURN to SCREEN ",+IBSR
  1. R X:DTIME
  1. Q
  1. ;
  1. M1 N I,Z S Z="DATA GROUPS ON PARAMETER SCREEN" W !! X IBWW D @(IBSR1_IBSR) D W W ! F I=$Y:1:20 W !
  1. S Z="PRESS <RETURN> KEY" X IBWW W " to RETURN to PARAMETER SCREEN"
  1. R X:DTIME
  1. Q
  1. ;
  1. ;
  1. PAR S X="Fed Tax #, BC/BS #, MAS Svc Pointer^Bill Signer, Billing Supervisor^Security Parameters, Outpatient CPT parameters ^Remarks, Mailgroups^Agent Cashier Address/Phone" Q
  1. ;
  1. S ; display the available screen data
  1. N C,I,Z,J W ! S Z="AVAILABLE SCREENS" X IBWW
  1. ; Start IB*2.0*447 BI
  1. ;S X="Demographic^Employment^Payer^Inpatient Event^Outpatient Event^Inpatient Billing - General^Outpatient Billing - General^Billing - Claim Information^Locally Defined^Billing - Specific"
  1. S X="Demographic^Employment^Payer^Inpatient Event^Outpatient Event^Inpatient Billing - General^Outpatient Billing - General^Billing - Claim Information^Ambulance^Billing - Specific^Locally Defined"
  1. ; End IB*2.0*447 BI
  1. S C=0 F I=1:1 S J=$P(X,"^",I) Q:J="" I '$E(IBVV,I) S C=C+1,Z="^"_I,IBW=(C#2) W:'(C#2) ?41 X IBWW S Z=$S(I?1N:" ",1:" ")_J_" Data" W Z
  1. Q
  1. ;
  1. W ;
  1. N I,J,Z
  1. F I=1:1 S J=$P(X,"^",I) Q:J="" S Z=I,IBW=(I#2) W:'(I#2) ?42 X IBWW W " "_J
  1. W:'(I-1)#2 ! Q
  1. Q
  1. ;IBCSCH
  1. ;
  1. ;
  1. BL24(IBIFN,IBNOSHOW) ; display block 24 of CMS-1500
  1. ; IBNOSHOW = 1 for not to show error/warning text line
  1. N X,Y,DIR,IBPG,IBLN,IBCOL,IBX,IBQ,IBLC,IBLIN,IBPFORM,IBD,IBC1,Z,Z0,IBXDATA,IBXSAVE,IBNXPG,L,T,NUM
  1. K ^TMP("IBXSAVE",$J)
  1. S IBQ=0,IBLC=9 Q:'$G(IBIFN) K ^TMP("IBXDISP",$J)
  1. ;
  1. S IBLIN=$$BOX24D^IBCEF11()
  1. S IBPFORM=$S($P($G(^IBE(353,2,2)),U,8):$P(^(2),U,8),1:2)
  1. S IBX=$$BILLN^IBCEFG0(0,"1^99",IBLIN,+IBIFN,IBPFORM)
  1. ;
  1. W @IOF,!,"Example of diagnoses, procedures and charges printing on the CMS-1500"
  1. W !,"--------------------------------------------------------------------------------"
  1. ;
  1. ; box 19 - lines 36-37
  1. F Z=+IBLIN,IBLIN+1 I $D(^TMP("IBXDISP",$J,1,Z)) S Z0=$G(^TMP("IBXDISP",$J,1,Z,+$O(^TMP("IBXDISP",$J,1,Z,20),-1))) I Z0'="" S:Z=+IBLIN Z0="BOX 19 DATA: "_Z0 W !,Z0
  1. ;
  1. ; box 21 - lines 39-41
  1. W !,"21. Diagnosis"
  1. ;I $D(^TMP("IBXDISP",$J,2,IBLIN+3)) W ?16,"(1st 4 only)" ; -> baa *488*
  1. ; Print all 12 diagnosis codes -> baa *488*
  1. F L=3,4,5 D
  1. .W !
  1. .F T=3,16,29,42 D
  1. ..S NUM=""
  1. ..I L=3 S NUM=$S(T=3:1,T=16:2,T=29:3,T=42:4,1:"")
  1. ..I L=4 S NUM=$S(T=3:5,T=16:6,T=29:7,T=42:8,1:"")
  1. ..I L=5 S NUM=$S(T=3:9,T=16:10,T=29:11,T=42:12,1:"")
  1. ..S T2=T+2,T1=T I NUM>9 S T1=T-1
  1. ..W ?T1,NUM,".",?T2,$G(^TMP("IBXDISP",$J,1,IBLIN+L,T))
  1. ;W !,?5,"1. ",$G(^TMP("IBXDISP",$J,1,IBLIN+3,3)),?25,"3. ",$G(^TMP("IBXDISP",$J,1,IBLIN+3,30))
  1. ;W !,?5,"2. ",$G(^TMP("IBXDISP",$J,1,IBLIN+5,3)),?25,"4. ",$G(^TMP("IBXDISP",$J,1,IBLIN+5,30))
  1. ;
  1. ; box 24 - lines 44-55
  1. D PG
  1. S IBPG=0 F S IBPG=$O(^TMP("IBXDISP",$J,IBPG)) Q:'IBPG D Q:IBQ
  1. . I '$D(^TMP("IBXDISP",$J,IBPG,IBLIN+9)) Q ; no line's on this page
  1. . F IBLN=IBLIN+8:1:+$P(IBLIN,U,2) S IBCOL=$O(^TMP("IBXDISP",$J,IBPG,IBLN,0)) Q:'IBCOL&'$O(^TMP("IBXDISP",$J,IBPG,IBLN)) S IBLC=IBLC+1 I IBCOL D Q:IBQ
  1. .. S IBCOL=0,IBC1=1 F S IBCOL=$O(^TMP("IBXDISP",$J,IBPG,IBLN,IBCOL)) Q:'IBCOL I $TR($G(^(IBCOL))," ")'="" D
  1. ... W:IBC1 ! S IBC1=0 W ?(IBCOL-1),$G(^TMP("IBXDISP",$J,IBPG,IBLN,IBCOL))
  1. . S IBNXPG=$O(^TMP("IBXDISP",$J,IBPG)) ; next page
  1. . I 'IBQ,IBNXPG,$D(^TMP("IBXDISP",$J,IBNXPG,IBLIN+9)) S IBLIN=$$BOX24D^IBCEF11(),IBQ=$$PAUSE^IBCSCH1(IBLC) Q:IBQ S IBLC=9 W @IOF D PG
  1. . Q
  1. ;
  1. W !,"--------------------------------------------------------------------------------"
  1. I 'IBPG,'IBQ S IBQ=$$PAUSE^IBCSCH1(IBLC)
  1. K ^TMP("IBXDISP",$J),^TMP("IBXSAVE",$J)
  1. Q
  1. ;
  1. PG ; Display box 24 letters at top of charge list
  1. W !,"24. A B C D E F G H I J"
  1. W !,"--------------------------------------------------------------------------------"
  1. Q
  1. ;
  1. INSDSPL(IBIFN) ; Display patient's policies
  1. N DIR,X,Y,IBX,DFN,IBDTIN,IBCOVEXT W @IOF
  1. S IBX=$G(^DGCR(399,+$G(IBIFN),0)),DFN=$P(IBX,U,2),IBDTIN=$P(IBX,U,3),IBCOVEXT=1
  1. I +DFN D DISPDT^IBCNS W ! S DIR("A")="Press RETURN to continue",DIR(0)="E" D ^DIR K DIR
  1. Q
  1. ;
  1. INSDSPLX(IBIFN) ; Display patient's policies extended (?INX)
  1. N IBX,DFN,IBDATE S IBX=$G(^DGCR(399,+$G(IBIFN),0)),DFN=$P(IBX,U,2),IBDATE=$P(IBX,U,3) D DISP^IBCNS3(DFN,IBDATE,123)
  1. Q
  1. ;
  1. DISPSC(IBIFN) ; display patients SC Status and Rated Disabilities
  1. N IB0,DFN,IBSC,IBX,VAEL,VAERR
  1. S IB0=$G(^DGCR(399,+$G(IBIFN),0)),DFN=$P(IB0,U,2),IBSC=$P(IB0,U,18)
  1. W !,@IOF,!,"SC Status and Rated Disabilities for ",$P($G(^DPT(+$G(DFN),0)),U,1)
  1. W !,"--------------------------------------------------------------------------------",!
  1. I +$G(IBIFN) W !," SC At Time Of Care: ",$S(IBSC=1:"Yes",IBSC=0:"No",1:"")
  1. I +$G(DFN) D ELIG^VADPT D DIS^DGRPDB
  1. W !!,"--------------------------------------------------------------------------------"
  1. S IBX=$$PAUSE^IBCSCH1(19)
  1. Q
  1. ;
  1. DISPROPT(IBIFN) ; prompt for VA or Non-VA provider.
  1. N X,Y,DIR
  1. S DIR(0)="SAO^V:VA PROVIDER;N:NON-VA PROVIDER",DIR("A")="(V)A or (N)on-VA Provider: ",DIR("B")="V"
  1. D ^DIR
  1. I Y="V" D DISPPRV^IBCSCH2(IBIFN) Q
  1. I Y="N" D DISPNVA^IBCSCH2(IBIFN)
  1. Q
  1. ;