| 1 | IBCNEPY ;DAOU/BHS - IIV PAYER EDIT OPTION ;28-JUN-2002 | 
|---|
| 2 | ;;2.0;INTEGRATED BILLING;**184**;21-MAR-94 | 
|---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | ; | 
|---|
| 5 | ; Call only from a tag | 
|---|
| 6 | Q | 
|---|
| 7 | ; | 
|---|
| 8 | EN ; Main entry point | 
|---|
| 9 | ; Input:  n/a | 
|---|
| 10 | ; Output: Modifies entries in the Payer File (#365.12) | 
|---|
| 11 | ; | 
|---|
| 12 | ; Initialize variables | 
|---|
| 13 | NEW PYRIEN | 
|---|
| 14 | ; | 
|---|
| 15 | D CLRSCRN | 
|---|
| 16 | F  S PYRIEN=$$PAYER() Q:'PYRIEN  D EDIT(PYRIEN) | 
|---|
| 17 | ; | 
|---|
| 18 | ENX ; EN exit point | 
|---|
| 19 | Q | 
|---|
| 20 | ; | 
|---|
| 21 | ; | 
|---|
| 22 | CLRSCRN ; | 
|---|
| 23 | W @IOF | 
|---|
| 24 | W !?35,"Payer Edit" | 
|---|
| 25 | W !!?1,"This option allows you to view the data in the Payer file for a particular" | 
|---|
| 26 | W !?1,"Payer.  You may only edit local flags.  Most of the fields in the Payer file" | 
|---|
| 27 | W !?1,"are not editable.  This data comes into VistA electronically.  If an" | 
|---|
| 28 | W !?1,"application has been deactivated, the local flag cannot be edited." | 
|---|
| 29 | Q | 
|---|
| 30 | ; | 
|---|
| 31 | ; | 
|---|
| 32 | EDIT(IEN) ; Modify Payer application settings | 
|---|
| 33 | ; Input:  IEN - key to Payer File (#365.12) | 
|---|
| 34 | ; Output: Modifies entries in the Payer File | 
|---|
| 35 | ; | 
|---|
| 36 | ; Initialize variables | 
|---|
| 37 | NEW IBDATA,LN,APPIEN | 
|---|
| 38 | ; | 
|---|
| 39 | S LN=26 | 
|---|
| 40 | ; Display non-editable fields: | 
|---|
| 41 | ;  Payer Name, VA National ID, CMS National ID, Date/Time Created, | 
|---|
| 42 | ;  EDI ID Number - Prof., EDI ID Number - Inst. | 
|---|
| 43 | S IBDATA=$G(^IBE(365.12,+IEN,0)) | 
|---|
| 44 | ; | 
|---|
| 45 | D CLRSCRN | 
|---|
| 46 | W !!,$$FO^IBCNEUT1("Payer Name: ",LN,"R"),$P(IBDATA,U,1) | 
|---|
| 47 | W !,$$FO^IBCNEUT1("VA National ID: ",LN,"R"),$P(IBDATA,U,2) | 
|---|
| 48 | W !,$$FO^IBCNEUT1("CMS National ID: ",LN,"R"),$P(IBDATA,U,3) | 
|---|
| 49 | W !,$$FO^IBCNEUT1("Inst Electronic Bill ID: ",LN,"R"),$P(IBDATA,U,6) | 
|---|
| 50 | W !,$$FO^IBCNEUT1("Prof Electronic Bill ID: ",LN,"R"),$P(IBDATA,U,5) | 
|---|
| 51 | W !,$$FO^IBCNEUT1("Date/Time Created: ",LN,"R"),$$FMTE^XLFDT($P(IBDATA,U,4),"5Z") | 
|---|
| 52 | ; | 
|---|
| 53 | ; Select Payer application - from those set up for Payer ONLY | 
|---|
| 54 | S APPIEN=$$PYRAPP(+IEN) I APPIEN D APPEDIT(+IEN,+APPIEN) | 
|---|
| 55 | ; | 
|---|
| 56 | Q | 
|---|
| 57 | ; | 
|---|
| 58 | APPEDIT(PIEN,AIEN) ; Modify Payer application settings | 
|---|
| 59 | ; Input:  PIEN - key to Payer File (#365.12), | 
|---|
| 60 | ;         AIEN - key to Payer Application File (#365.13) | 
|---|
| 61 | ; Output: Modifies entries in the Payer File | 
|---|
| 62 | ; | 
|---|
| 63 | ; Initialize variables | 
|---|
| 64 | NEW IBNODE,LN,FDA,DR,DA,DTOUT,DIE,DIRUT,DIR,X,Y | 
|---|
| 65 | ; | 
|---|
| 66 | ; Determine if the application is already defined for the Payer | 
|---|
| 67 | S LN=35 | 
|---|
| 68 | S IBNODE=$G(^IBE(365.12,+PIEN,1,+AIEN,0)) | 
|---|
| 69 | ; | 
|---|
| 70 | I IBNODE="" W !,"Payer Application not found - ERROR!" S DIR(0)="E" D ^DIR K DIR G APPEDX | 
|---|
| 71 | ; | 
|---|
| 72 | ; Display non-editable fields: | 
|---|
| 73 | ;  National Active, Id Requires Subscriber ID, Use SSN for Subscriber ID | 
|---|
| 74 | ;  Transmit SSN | 
|---|
| 75 | W !,$$FO^IBCNEUT1("Payer Application: ",LN,"R"),$P($G(^IBE(365.13,+$P(IBNODE,U),0)),U) | 
|---|
| 76 | W !,$$FO^IBCNEUT1("National Active: ",LN,"R"),$S(+$P(IBNODE,U,2):"Active",1:"Not Active") | 
|---|
| 77 | W !,$$FO^IBCNEUT1("Id Requires Subscriber ID: ",LN,"R"),$S(+$P(IBNODE,U,8):"YES",1:"NO") | 
|---|
| 78 | W !,$$FO^IBCNEUT1("Use SSN for Subscriber ID: ",LN,"R"),$S(+$P(IBNODE,U,9):"YES",1:"NO") | 
|---|
| 79 | W !,$$FO^IBCNEUT1("Transmit SSN: ",LN,"R"),$S(+$P(IBNODE,U,10):"YES",1:"NO") | 
|---|
| 80 | W !,$$FO^IBCNEUT1("Future Service Days: ",LN,"R"),$P(IBNODE,U,14) | 
|---|
| 81 | W !,$$FO^IBCNEUT1("Past Service Days: ",LN,"R"),$P(IBNODE,U,15) | 
|---|
| 82 | ; Display deactivation info only when it exists | 
|---|
| 83 | I +$P(IBNODE,U,11) D  G APPEDX | 
|---|
| 84 | . W !,$$FO^IBCNEUT1("Deactivated: ",LN,"R"),$S(+$P(IBNODE,U,11):"YES",1:"NO") | 
|---|
| 85 | . W !,$$FO^IBCNEUT1("Deactivation Date/Time: ",LN,"R"),$S(+$P(IBNODE,U,12):$$FMTE^XLFDT($P(IBNODE,U,12),"5Z"),1:"") | 
|---|
| 86 | . ; Local Active is non-editable if application is deactivated | 
|---|
| 87 | . W !,$$FO^IBCNEUT1("Local Active: ",LN,"R"),$S(+$P(IBNODE,U,3):"Active",1:"Not Active") | 
|---|
| 88 | ; | 
|---|
| 89 | ; Allow user to edit Local Active flag | 
|---|
| 90 | ; Also file the user who edited this local flag and the date/time | 
|---|
| 91 | S DR=".03                     Local Active;.04////"_$G(DUZ)_";.05////"_$$NOW^XLFDT | 
|---|
| 92 | S DIE="^IBE(365.12,"_+PIEN_",1," | 
|---|
| 93 | S DA=+AIEN,DA(1)=+PIEN | 
|---|
| 94 | D ^DIE | 
|---|
| 95 | ; | 
|---|
| 96 | APPEDX Q | 
|---|
| 97 | ; | 
|---|
| 98 | PAYER() ; Select Payer - File #365.12 | 
|---|
| 99 | ; Init vars | 
|---|
| 100 | NEW DIC,DTOUT,DUOUT,X,Y | 
|---|
| 101 | ; | 
|---|
| 102 | W !!! | 
|---|
| 103 | S DIC(0)="ABEQ" | 
|---|
| 104 | S DIC("A")=$$FO^IBCNEUT1("Payer Name: ",15,"R") | 
|---|
| 105 | ; Do not allow editing of '~NO PAYER' entry | 
|---|
| 106 | S DIC("S")="I $P(^(0),U,1)'=""~NO PAYER""" | 
|---|
| 107 | S DIC="^IBE(365.12," | 
|---|
| 108 | D ^DIC | 
|---|
| 109 | I $D(DUOUT)!$D(DTOUT)!(Y<1) S Y="" | 
|---|
| 110 | ; | 
|---|
| 111 | Q $P(Y,U,1) | 
|---|
| 112 | ; | 
|---|
| 113 | PYRAPP(PIEN) ; Select Payer Application - based on values in File #365.121 | 
|---|
| 114 | ; Init vars | 
|---|
| 115 | NEW DIC,DTOUT,DUOUT,X,Y,APPIEN | 
|---|
| 116 | ; | 
|---|
| 117 | ; If no applications are defined for this Payer, quit with message | 
|---|
| 118 | I $O(^IBE(365.12,+PIEN,1,0))="" W !!,"There are no applications associated with this Payer!" S DIR="E" D ^DIR K DIR Q "" | 
|---|
| 119 | ; | 
|---|
| 120 | W ! | 
|---|
| 121 | ; If applications are defined for this Payer, allow user to select | 
|---|
| 122 | S DIC(0)="ABEQ" | 
|---|
| 123 | S DIC("A")=$$FO^IBCNEUT1("Payer Application: ",35,"R") | 
|---|
| 124 | S DIC="^IBE(365.12,"_+PIEN_",1," | 
|---|
| 125 | ; | 
|---|
| 126 | ; if only one application defined, then default that one | 
|---|
| 127 | I $P($G(^IBE(365.12,+PIEN,1,0)),U,4)=1 D | 
|---|
| 128 | . S APPIEN=$O(^IBE(365.12,+PIEN,1,0)) Q:'APPIEN | 
|---|
| 129 | . S APPIEN=$P($G(^IBE(365.12,+PIEN,1,APPIEN,0)),U,1) Q:'APPIEN | 
|---|
| 130 | . S DIC("B")=$P($G(^IBE(365.13,APPIEN,0)),U,1) | 
|---|
| 131 | . Q | 
|---|
| 132 | D ^DIC | 
|---|
| 133 | I $D(DTOUT)!$D(DUOUT)!(Y<1) S Y="" | 
|---|
| 134 | ; | 
|---|
| 135 | Q $P(Y,U,1) | 
|---|
| 136 | ; | 
|---|