| 1 | IBJPI3 ;DAOU/BHS - IBJP IIV MOST POPULAR PAYER LIST SCREEN ;25-NOV-2003
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**271**;21-MAR-94
 | 
|---|
| 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ; IIV - Insurance Identification and Verification Interface
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 | EN ; -- main entry pt for IBJP IIV MOST POPULAR PAYERS
 | 
|---|
| 8 |  N POP,X,CTRLCOL,VALMHDR,VALMCNT,%DT
 | 
|---|
| 9 |  D EN^VALM("IBJP IIV MOST POPULAR PAYERS")
 | 
|---|
| 10 |  Q
 | 
|---|
| 11 |  ;
 | 
|---|
| 12 | HDR ; -- header code
 | 
|---|
| 13 |  S VALMHDR(1)=" "_$S($D(^TMP($J,"IBJPI3-MODS")):"Unsaved Changes Exist",1:"Last Saved:  "_$$FMTE^XLFDT($P($G(^IBE(350.9,1,51)),U,21),"5Z"))
 | 
|---|
| 14 |  S VALMHDR(2)="     "_$$FO^IBCNEUT1(" ",49)_"  "_$$FO^IBCNEUT1(" ",11)_"  Nat.  Loc."
 | 
|---|
| 15 |  S VALMHDR(3)="  #  "_$$FO^IBCNEUT1("Payer Name ",49)_"  "_$$FO^IBCNEUT1("National ID",11)_"  Act?  Act?"
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 | INIT ; -- init vars and list array
 | 
|---|
| 19 |  ; Init temp globals
 | 
|---|
| 20 |  K ^TMP($J,"IBJPI3")
 | 
|---|
| 21 |  K ^TMP($J,"IBJPI3-IENS")
 | 
|---|
| 22 |  K ^TMP($J,"IBJPI3-LIST")
 | 
|---|
| 23 |  K ^TMP($J,"IBJPI3-MODS")
 | 
|---|
| 24 |  D CLEAN^VALM10  ; Kills data and video control arrays w/active list
 | 
|---|
| 25 |  D BLD           ; Build list from site params
 | 
|---|
| 26 |  D DISP          ; Build display array
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 | HELP ; HELP screen for Most Pop screen
 | 
|---|
| 30 |  D FULL^VALM1   ; Full screen mode
 | 
|---|
| 31 |  W @IOF
 | 
|---|
| 32 |  D EN^DDIOL("Most Popular Payer List Edit Actions")
 | 
|---|
| 33 |  D EN^DDIOL(" ")
 | 
|---|
| 34 |  D EN^DDIOL("Add Entry - Inserts a new payer into the list at any position as")
 | 
|---|
| 35 |  D EN^DDIOL("  long as the list has fewer than ten entries.  The entry will be inserted and")
 | 
|---|
| 36 |  D EN^DDIOL("  existing entries from the new position through the end of the list will be")
 | 
|---|
| 37 |  D EN^DDIOL("  shifted down one position.")
 | 
|---|
| 38 |  D EN^DDIOL(" ")
 | 
|---|
| 39 |  D EN^DDIOL("Delete Entry - Deletes a payer from the list at any position as")
 | 
|---|
| 40 |  D EN^DDIOL("  long as the list has at least one entry.  The entries following the deleted")
 | 
|---|
| 41 |  D EN^DDIOL("  entry will be shifted up one position.")
 | 
|---|
| 42 |  D EN^DDIOL(" ")
 | 
|---|
| 43 |  D EN^DDIOL("Modify Entry - Modifies a payer from the list at any position as")
 | 
|---|
| 44 |  D EN^DDIOL("  long as the list has at least one entry.  The new payer must be")
 | 
|---|
| 45 |  D EN^DDIOL("  valid in order to replace the existing entry.")
 | 
|---|
| 46 |  D EN^DDIOL(" ")
 | 
|---|
| 47 |  D EN^DDIOL("Print Current List - Allows the user to specify a device and print the current")
 | 
|---|
| 48 |  D EN^DDIOL("  items in the list.")
 | 
|---|
| 49 |  D PAUSE^VALM1
 | 
|---|
| 50 |  D EN^DDIOL("Reorder Entry - Changes a payer from the list at any position to")
 | 
|---|
| 51 |  D EN^DDIOL("  another position so long as the list has at least two entries.  Moving the")
 | 
|---|
| 52 |  D EN^DDIOL("  entry to a lower position shifts entries following the original position up")
 | 
|---|
| 53 |  D EN^DDIOL("  one position except for those lower than the new position.  Moving the entry")
 | 
|---|
| 54 |  D EN^DDIOL("  to a higher position shifts entries following the new position down one")
 | 
|---|
| 55 |  D EN^DDIOL("  position except for those lower than the original position.")
 | 
|---|
| 56 |  D EN^DDIOL(" ")
 | 
|---|
| 57 |  D EN^DDIOL("Restore Saved List - If editing actions were performed, the user will be")
 | 
|---|
| 58 |  D EN^DDIOL("  prompted to verify that they wish to discard all changes.")
 | 
|---|
| 59 |  D EN^DDIOL(" ")
 | 
|---|
| 60 |  D EN^DDIOL("Save Current List - Saves the current list to the Site Parameters file.")
 | 
|---|
| 61 |  D EN^DDIOL(" ")
 | 
|---|
| 62 |  D EN^DDIOL("Exit Action - If editing actions were performed, the user will be prompted")
 | 
|---|
| 63 |  D EN^DDIOL("  to save the current list or exit without filing changes.")
 | 
|---|
| 64 |  D PAUSE^VALM1  ; Press return to continue
 | 
|---|
| 65 |  W @IOF
 | 
|---|
| 66 |  S VALMBCK="R"  ; Refresh screen
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | EXIT ; -- exit code
 | 
|---|
| 70 |  S VALMBCK="R"
 | 
|---|
| 71 |  ; If the list has been acted upon, prompt for save
 | 
|---|
| 72 |  I $D(^TMP($J,"IBJPI3-MODS")) D
 | 
|---|
| 73 |  . D EN^DDIOL("Unsaved changes exist!")
 | 
|---|
| 74 |  . D SAVE^IBJPI4
 | 
|---|
| 75 |  ; Kill temp globals
 | 
|---|
| 76 |  K ^TMP($J,"IBJPI3")
 | 
|---|
| 77 |  K ^TMP($J,"IBJPI3-LIST")
 | 
|---|
| 78 |  K ^TMP($J,"IBJPI3-IENS")
 | 
|---|
| 79 |  K ^TMP($J,"IBJPI3-MODS")
 | 
|---|
| 80 |  D CLEAN^VALM10  ; Kills data and video control arrays w/active list
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | BLD ; -- build list array
 | 
|---|
| 84 |  N IBIEN,IBCT,IEN
 | 
|---|
| 85 |  ; Init temp globals
 | 
|---|
| 86 |  K ^TMP($J,"IBJPI3-LIST")
 | 
|---|
| 87 |  K ^TMP($J,"IBJPI3-IENS")
 | 
|---|
| 88 |  K ^TMP($J,"IBJPI3-MODS")
 | 
|---|
| 89 |  ; Loop thru current List of Payers
 | 
|---|
| 90 |  S (IEN,IBCT)=0
 | 
|---|
| 91 |  F  S IEN=$O(^IBE(350.9,1,51.18,IEN)) Q:'IEN  D
 | 
|---|
| 92 |  . S IBIEN=$P($G(^IBE(350.9,1,51.18,IEN,0)),U) Q:'IBIEN  ; Bad IEN
 | 
|---|
| 93 |  . S IBCT=IBCT+1
 | 
|---|
| 94 |  . S ^TMP($J,"IBJPI3-LIST",IBCT)=IBIEN  ; List by pos 
 | 
|---|
| 95 |  . S ^TMP($J,"IBJPI3-IENS",IBIEN)=""    ; IEN index
 | 
|---|
| 96 |  Q
 | 
|---|
| 97 |  ;
 | 
|---|
| 98 | DISP ; Build display array of text
 | 
|---|
| 99 |  N IBI,IBIEN,IBST,IBLN,IBAIEN,IBADATA
 | 
|---|
| 100 |  ; Init display global
 | 
|---|
| 101 |  K ^TMP($J,"IBJPI3")
 | 
|---|
| 102 |  ; Loop thru current list of Payers
 | 
|---|
| 103 |  S IBLN=0
 | 
|---|
| 104 |  F IBI=1:1:10 S IBIEN=$G(^TMP($J,"IBJPI3-LIST",IBI)) Q:'IBIEN  D
 | 
|---|
| 105 |  . S IBST=$$FO^IBCNEUT1(IBI,3,"R")_". "
 | 
|---|
| 106 |  . ; Name
 | 
|---|
| 107 |  . S IBST=IBST_$$FO^IBCNEUT1($P($G(^IBE(365.12,IBIEN,0)),U),49)
 | 
|---|
| 108 |  . ; National ID
 | 
|---|
| 109 |  . S IBST=IBST_"  "_$$FO^IBCNEUT1($P($G(^IBE(365.12,IBIEN,0)),U,2),11)
 | 
|---|
| 110 |  . S (IBAIEN,IBADATA)=""
 | 
|---|
| 111 |  . ; Payer App IEN
 | 
|---|
| 112 |  . S IBAIEN=$$PYRAPP^IBCNEUT5("IIV",IBIEN)
 | 
|---|
| 113 |  . ; WARNING - IIV application does not exist
 | 
|---|
| 114 |  . I IBAIEN="" D  Q
 | 
|---|
| 115 |  . . S IBLN=$$SET(IBLN,IBST)
 | 
|---|
| 116 |  . . S IBST="       ** Please remove from this list: Payer not configured for IIV **"
 | 
|---|
| 117 |  . . S IBLN=$$SET(IBLN,IBST)
 | 
|---|
| 118 |  . S IBADATA=$G(^IBE(365.12,+IBIEN,1,+IBAIEN,0))
 | 
|---|
| 119 |  . ; Nat Act Flg
 | 
|---|
| 120 |  . S IBST=IBST_"  "_$$FO^IBCNEUT1($S('$P(IBADATA,U,2):"NO",1:"YES"),4)
 | 
|---|
| 121 |  . ; Loc Act Flg
 | 
|---|
| 122 |  . S IBST=IBST_"  "_$$FO^IBCNEUT1($S('$P(IBADATA,U,3):"NO",1:"YES"),4)
 | 
|---|
| 123 |  . S IBLN=$$SET(IBLN,IBST)
 | 
|---|
| 124 |  . ; WARNING - IIV application deactivated
 | 
|---|
| 125 |  . I +$P(IBADATA,U,11) D  Q
 | 
|---|
| 126 |  . . S IBST="       ** Please remove from this list: Payer is deactivated for IIV **"
 | 
|---|
| 127 |  . . S IBLN=$$SET(IBLN,IBST)
 | 
|---|
| 128 |  . ; WARNING - Id Inq Req ID = YES & Use SSN as ID = NO
 | 
|---|
| 129 |  . I +$P(IBADATA,U,8),'$P(IBADATA,U,9) D
 | 
|---|
| 130 |  . . S IBST="       ** Please remove from this list: Inquiries w/o subscriber ID rejected **"
 | 
|---|
| 131 |  . . S IBLN=$$SET(IBLN,IBST)
 | 
|---|
| 132 |  ; No Data Found if $O(^TMP($J,"IBJPI3-LIST",0))=""
 | 
|---|
| 133 |  I $O(^TMP($J,"IBJPI3-LIST",0))="" S IBLN=$$SET(IBLN,"     *** NO DATA FOUND!!! ***")
 | 
|---|
| 134 |  ; Update line ct
 | 
|---|
| 135 |  S VALMCNT=IBLN
 | 
|---|
| 136 |  Q
 | 
|---|
| 137 |  ;
 | 
|---|
| 138 | SET(LN,STR) ; Build list array
 | 
|---|
| 139 |  S LN=$G(LN)+1
 | 
|---|
| 140 |  D SET^VALM10(LN,STR)
 | 
|---|
| 141 |  Q LN
 | 
|---|
| 142 |  ;
 | 
|---|