| 1 | IBJDF8I1 ;ALB/RRG-ADD/EDIT IB DM WORKLOAD PARAMETERS-(CONT.) ;11/06/00
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**123**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | EDIT ; - Edit existing assignments
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  N IBASDA0,IBASNNUM W !
 | 
|---|
| 8 |  S DIR("A")="Choose a valid Assignment Number to edit: "
 | 
|---|
| 9 |  S DIR(0)="LA^1:"_(IBNEWASN-1)_"^K:'$D(IBAS(X)) X"
 | 
|---|
| 10 |  S DIR("?")="Must be a valid assignment listed above..."
 | 
|---|
| 11 |  D ^DIR K IBAS I ($D(DTOUT))!($D(DUOUT))!(Y'>0) S IBQUIT=1 L -^IBE(351.73,IBCL) Q
 | 
|---|
| 12 |  S IBASNNUM=X K DIR,DIROUT,DTOUT,DUOUT,Y
 | 
|---|
| 13 |  I '$D(^IBE(351.73,IBCL,1,IBASNNUM)) G EDIT
 | 
|---|
| 14 |  S IBASDA0=$G(^IBE(351.73,IBCL,1,IBASNNUM,0)),IBBCAT=$P(IBASDA0,"^",2)
 | 
|---|
| 15 |  W !?3,"Bill Category for assignment # "_IBASNNUM_" is "_$P(^PRCA(430.2,IBBCAT,0),"^",1)
 | 
|---|
| 16 |  S IBFOTP=$$CATTYP^IBJD1(IBBCAT)
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | EDIT1 ; - Add/Edit assignment parameters
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  N IBMINBAL,IBRCFLG
 | 
|---|
| 21 |  S DIR(0)="351.731,.03",DA(1)=IBCL,DA=IBASNNUM
 | 
|---|
| 22 |  D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 L -^IBE(351.73,IBCL) Q
 | 
|---|
| 23 |  S IBMINBAL=Y K DIR,DIROUT,DTOUT,DUOUT,Y
 | 
|---|
| 24 |  S IBRCFLG=$P($G(^IBE(351.73,IBCL,1,IBASNNUM,0)),"^",5)
 | 
|---|
| 25 |  S DIR(0)="Y",DIR("B")=$S(IBRCFLG=0:"NO",1:"YES")
 | 
|---|
| 26 |  S DIR("A")="EXCLUDE RECEIVABLES REFERRED TO RC"
 | 
|---|
| 27 |  S DIR("?")="^S IBOFF=67 D HELP^IBJDF8H"
 | 
|---|
| 28 |  D ^DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 L -^IBE(351.73,IBCL) Q
 | 
|---|
| 29 |  S IBRCFLG=Y K DIR,DIROUT,DTOUT,DUOUT,Y
 | 
|---|
| 30 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM
 | 
|---|
| 31 |  S DR=".03///"_IBMINBAL_";.05///"_IBRCFLG D ^DIE K DIE,DR,DA
 | 
|---|
| 32 |  I IBFOTP="F" D FPEDIT I IBQUIT L -^IBE(351.73,IBCL) Q
 | 
|---|
| 33 |  I IBFOTP="T" D TPEDIT I IBQUIT L -^IBE(351.73,IBCL) Q
 | 
|---|
| 34 |  Q
 | 
|---|
| 35 |  ;
 | 
|---|
| 36 | FPEDIT ; - First Party edit questions
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 |  N IBFPDATA,IBSDEF,IBTDEF,IBSN,IBDSLP,IBDEF
 | 
|---|
| 39 |  S IBFPDATA=$G(^IBE(351.73,IBCL,1,IBASNNUM,1)),IBDSLP=$P(IBFPDATA,"^",1)
 | 
|---|
| 40 |  S IBDEF=$S(IBDSLP'="":IBDSLP,1:45),DA(1)=IBCL
 | 
|---|
| 41 |  S DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM,DR="1.01//^S X=IBDEF"
 | 
|---|
| 42 |  D ^DIE K DIE,DA,DR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  ; - Determine range of patient by name or last 4 of SSN
 | 
|---|
| 45 |  ;
 | 
|---|
| 46 |  S IBSN=$$SNL() I (IBSN="")!(IBSN="^") S IBQUIT=1 Q
 | 
|---|
| 47 |  ;
 | 
|---|
| 48 |  I IBSN="N" S IBSDEF=$P(IBFPDATA,"^",2),IBTDEF=$P(IBFPDATA,"^",3)
 | 
|---|
| 49 |  I IBSN="L" S IBSDEF=$P(IBFPDATA,"^",4),IBTDEF=$P(IBFPDATA,"^",5)
 | 
|---|
| 50 |  ;
 | 
|---|
| 51 | PAT S DIR(0)="FO",DIR("A")="START WITH "_$S(IBSN="N":"PATIENT NAME",1:"LAST 4 OF SSN")
 | 
|---|
| 52 |  S DIR("B")=$S(IBSDEF="":"FIRST",1:IBSDEF)
 | 
|---|
| 53 |  S DIR("?")="^S IBOFF=33 D HELP^IBJDF8H"
 | 
|---|
| 54 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 55 |  S IBSNF=X I X="FIRST" S IBSNF="@"
 | 
|---|
| 56 |  S DIR(0)="FO",DIR("A")="GO TO "_$S(IBSN="N":"PATIENT NAME",1:"LAST 4 OF SSN")
 | 
|---|
| 57 |  S DIR("B")=$S(IBTDEF="":"LAST",1:IBTDEF)
 | 
|---|
| 58 |  S DIR("?")="^S IBOFF=40 D HELP^IBJDF8H"
 | 
|---|
| 59 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 60 |  S IBSNL=X I X="LAST" S IBSNL="@"
 | 
|---|
| 61 |  I (IBSNL'="@")&($G(IBSNL)']$G(IBSNF))&($G(IBSNL)'=$G(IBSNF))&(IBSNF'="@") W !!,?3,"* The Go To Patient Name/SSN must follow after the Start With Name/SSN. *",! G PAT
 | 
|---|
| 62 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM
 | 
|---|
| 63 |  I IBSN="N" S DR="1.02///"_IBSNF_";1.03///"_IBSNL_";1.04///@;1.05///@" D ^DIE
 | 
|---|
| 64 |  I IBSN="L" S DR="1.04///"_IBSNF_";1.05///"_IBSNL_";1.02///@;1.03///@" D ^DIE
 | 
|---|
| 65 |  K DIE,DA,DR
 | 
|---|
| 66 |  L -^IBE(351.73,IBCL)
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | TPEDIT ; - Third Party edit questions
 | 
|---|
| 70 |  ;
 | 
|---|
| 71 |  N IBTPDATA,IBDSLT,IBDEF
 | 
|---|
| 72 |  S IBTPDATA=$G(^IBE(351.73,IBCL,1,IBASNNUM,2)),IBDSLT=$P(IBTPDATA,"^",1)
 | 
|---|
| 73 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM
 | 
|---|
| 74 |  S IBDEF=$S(IBDSLT'="":IBDSLT,1:45),DR="2.01//^S X=IBDEF"
 | 
|---|
| 75 |  D ^DIE K DIE,DA,DR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 | TYP ; - Select type of receivables to print
 | 
|---|
| 78 |  S DIR("A")="TYPE OF RECEIVABLE: "
 | 
|---|
| 79 |  I $P(IBTPDATA,"^",8) S DIR("B")=$P(IBTPDATA,"^",8)
 | 
|---|
| 80 |  S DIR(0)="SAX^1:INPATIENT;2:OUTPATIENT;3:PROSTHETICS;4:PHARMACY REFILL;5:ALL RECEIVABLES"
 | 
|---|
| 81 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 82 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM,DR="2.08///"_Y
 | 
|---|
| 83 |  D ^DIE K DIE,DR,DA
 | 
|---|
| 84 |  K DIROUT,DTOUT,DUOUT,Y
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 |  N DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y,IBRF,IBRL,IBSDEF,IBTDEF
 | 
|---|
| 87 | ICR S IBSDEF=$P(IBTPDATA,"^",2),IBTDEF=$P(IBTPDATA,"^",3)
 | 
|---|
| 88 |  S DIR(0)="FO",DIR("A")="START WITH INSURANCE CARRIER"
 | 
|---|
| 89 |  S DIR("B")=$S(IBSDEF="":"FIRST",1:IBSDEF)
 | 
|---|
| 90 |  S DIR("?")="^S IBOFF=47 D HELP^IBJDF8H"
 | 
|---|
| 91 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 92 |  S IBRF=X I X="FIRST" S IBRF="@"
 | 
|---|
| 93 |  S DIR(0)="FO",DIR("A")="GO TO INSURANCE CARRIER"
 | 
|---|
| 94 |  S DIR("B")=$S(IBTDEF="":"LAST",1:IBTDEF)
 | 
|---|
| 95 |  S DIR("?")="^S IBOFF=54 D HELP^IBJDF8H"
 | 
|---|
| 96 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 97 |  S IBRL=X I X="LAST" S IBRL="@"
 | 
|---|
| 98 |  I ($G(IBRL)']$G(IBRF))&($G(IBRL)'=$G(IBRF))&(IBRL'="@") W !!,?3,"* The Go to Insurance Carrier Name must follow after the Start with Insurance Carrier. *",! G ICR
 | 
|---|
| 99 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM
 | 
|---|
| 100 |  S DR="2.02///"_IBRF_";2.03///"_IBRL D ^DIE K DIE,DR,DA
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 | NAM ; - Determine range of patients
 | 
|---|
| 103 |  ;
 | 
|---|
| 104 |  ; - Determine range of patient by name or last 4 of SSN
 | 
|---|
| 105 |  ;
 | 
|---|
| 106 |  S IBSN=$$SNL() I (IBSN="")!(IBSN="^") S IBQUIT=1 Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 |  I IBSN="N" S IBSDEF=$P(IBTPDATA,"^",4),IBTDEF=$P(IBTPDATA,"^",5)
 | 
|---|
| 109 |  I IBSN="L" S IBSDEF=$P(IBTPDATA,"^",6),IBTDEF=$P(IBTPDATA,"^",7)
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 | NAM1 S DIR(0)="FO",DIR("A")="START WITH "_$S(IBSN="N":"PATIENT NAME",1:"LAST 4 OF SSN")
 | 
|---|
| 112 |  S DIR("B")=$S(IBSDEF="":"FIRST",1:IBSDEF)
 | 
|---|
| 113 |  S DIR("?")="^S IBOFF=33 D HELP^IBJDF8H"
 | 
|---|
| 114 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 115 |  S IBSNF=X I X="FIRST" S IBSNF="@"
 | 
|---|
| 116 |  S DIR(0)="FO",DIR("A")="GO TO "_$S(IBSN="N":"PATIENT NAME",1:"LAST 4 OF SSN")
 | 
|---|
| 117 |  S DIR("B")=$S(IBTDEF="":"LAST",1:IBTDEF)
 | 
|---|
| 118 |  S DIR("?")="^S IBOFF=40 D HELP^IBJDF8H"
 | 
|---|
| 119 |  D ^DIR K DIR I ($D(DTOUT))!($D(DUOUT)) S IBQUIT=1 Q
 | 
|---|
| 120 |  S IBSNL=X I X="LAST" S IBSNL="@"
 | 
|---|
| 121 |  I (IBSNL'="@")&($G(IBSNL)']$G(IBSNF))&($G(IBSNL)'=$G(IBSNF))&(IBSNF'="@") W !!,?3,"* The Go To Patient Name/SSN must follow after the Start With Name/SSN. *",! G NAM1
 | 
|---|
| 122 |  S DA(1)=IBCL,DIE="^IBE(351.73,"_DA(1)_",1,",DA=IBASNNUM
 | 
|---|
| 123 |  I IBSN="N" S DR="2.04///"_IBSNF_";2.05///"_IBSNL_";2.06///@;2.07///@" D ^DIE
 | 
|---|
| 124 |  I IBSN="L" S DR="2.06///"_IBSNF_";2.07///"_IBSNL_";2.04///@;2.05///@" D ^DIE
 | 
|---|
| 125 |  K DIE,DA,DR
 | 
|---|
| 126 |  ;
 | 
|---|
| 127 |  L -^IBE(351.73,IBCL)
 | 
|---|
| 128 |  Q
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 | SNL() ; - Determine the patient data to be stored-either by Name or
 | 
|---|
| 131 |  ;   last 4 SSN
 | 
|---|
| 132 |  N DIR,DIRUT,DTOUT,DUOUT,DIROUT,IBSN,IBDEF,IBWLDAT
 | 
|---|
| 133 |  I IBFOTP="F" S IBWLDAT=$G(^IBE(351.73,IBCL,1,IBASNNUM,1)) D
 | 
|---|
| 134 |  . S IBDEF=$S($P(IBWLDAT,"^",2)'="":"NAME",$P(IBWLDAT,"^",3)'="":"NAME",$P(IBWLDAT,"^",4)'="":"LAST 4",$P(IBWLDAT,"^",5)'="":"LAST 4",1:"")
 | 
|---|
| 135 |  I IBFOTP="T" S IBWLDAT=$G(^IBE(351.73,IBCL,1,IBASNNUM,2)) D
 | 
|---|
| 136 |  . S IBDEF=$S($P(IBWLDAT,"^",4)'="":"NAME",$P(IBWLDAT,"^",5)'="":"NAME",$P(IBWLDAT,"^",6)'="":"LAST 4",$P(IBWLDAT,"^",7)'="":"LAST 4",1:"")
 | 
|---|
| 137 |  S IBSN=""
 | 
|---|
| 138 |  S DIR(0)="SA^N:NAME;L:LAST 4"
 | 
|---|
| 139 |  S DIR("A")="Sort Patients by (N)ame or (L)ast 4 of the SSN: "
 | 
|---|
| 140 |  I IBDEF'="" S DIR("B")=IBDEF
 | 
|---|
| 141 |  S DIR("?")="^D HNL^IBJD"
 | 
|---|
| 142 |  W ! D ^DIR K DIR I Y=""!(X="^") Q "^"
 | 
|---|
| 143 |  S IBSN=Y
 | 
|---|
| 144 |  Q IBSN
 | 
|---|
| 145 |  ;
 | 
|---|