| [613] | 1 | IBCICME ;DSI/ESG - IBCI CLAIMSMANAGER ERROR REPORT ;6-APR-2001
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**161**;21-MAR-94
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 |  NEW STOP,IBCIRTN,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT,POP,RPTSPECS
 | 
|---|
 | 6 |  ;
 | 
|---|
 | 7 |  S STOP=0
 | 
|---|
 | 8 |  S IBCIRTN="IBCICME"
 | 
|---|
 | 9 |  W @IOF
 | 
|---|
 | 10 |  W !?10,"ClaimsManager Error Report",!
 | 
|---|
 | 11 |  ;
 | 
|---|
 | 12 |  ; If there are no errors currently stored in the file,
 | 
|---|
 | 13 |  ; then there is no point in going any further.
 | 
|---|
 | 14 |  I '$D(^IBA(351.9,"AEC")) D  G EXIT
 | 
|---|
 | 15 |  . W !!?5,"There are no errors currently recorded in the ClaimsManager"
 | 
|---|
 | 16 |  . W !?5,"file.  There is no data to report."
 | 
|---|
 | 17 |  . W !! S DIR("A")="Press RETURN to continue",DIR(0)="E" D ^DIR K DIR
 | 
|---|
 | 18 |  . Q
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 | A10 D ERRCODE I STOP G EXIT
 | 
|---|
 | 22 | A20 D DATE^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A10
 | 
|---|
 | 23 | A30 D DTRANGE^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A20
 | 
|---|
 | 24 | A40 D STATUS^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A30
 | 
|---|
 | 25 | A50 D TYPE^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A40
 | 
|---|
 | 26 | A60 D ERRDISP I STOP G:$$STOP^IBCICMS EXIT G A50
 | 
|---|
 | 27 | A70 D SELASN^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G:RPTSPECS("TYPE")="S" A50 G A60
 | 
|---|
 | 28 | A80 D ASSIGN^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A70
 | 
|---|
 | 29 | A90 D SORTBY^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A80
 | 
|---|
 | 30 | A100 D ERRTXT I STOP G:$$STOP^IBCICMS EXIT G A90
 | 
|---|
 | 31 | A110 D COMMENTS^IBCICMS I STOP G:$$STOP^IBCICMS EXIT G A100
 | 
|---|
 | 32 | A120 D DEVICE^IBCICMS(IBCIRTN) I STOP G:$$STOP^IBCICMS EXIT G:RPTSPECS("TYPE")="S" A50 G A110
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 | EXIT ;
 | 
|---|
 | 35 |  QUIT                                 ; quit from routine
 | 
|---|
 | 36 |  ;
 | 
|---|
 | 37 | COMPILE ; This entry point is called from EN^XUTMDEVQ in either
 | 
|---|
 | 38 |  ; direct mode or queued mode.
 | 
|---|
 | 39 |  NEW IBCISCNT
 | 
|---|
 | 40 |  D BUILD^IBCICME1                     ; compile report
 | 
|---|
 | 41 |  I '$G(ZTSTOP) D EN^IBCICMEP          ; print report
 | 
|---|
 | 42 |  D ^%ZISC                             ; close the device
 | 
|---|
 | 43 |  KILL ^TMP($J,IBCIRTN)                ; kill main scratch global
 | 
|---|
 | 44 |  KILL ^TMP($J,IBCIRTN_"-TOTALS")      ; kill totals scratch global
 | 
|---|
 | 45 |  I $D(ZTQUEUED) S ZTREQ="@"           ; purge the task record
 | 
|---|
 | 46 | COMPX ;
 | 
|---|
 | 47 |  QUIT                                 ; quit from routine
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 |  ;
 | 
|---|
 | 50 |  ;
 | 
|---|
 | 51 | ERRCODE ; This procedure displays the error codes currently in the file and
 | 
|---|
 | 52 |  ; lets the user select all of them or some of them.
 | 
|---|
 | 53 |  ;
 | 
|---|
 | 54 |  NEW J,ERR,PCE,NUM
 | 
|---|
 | 55 |  KILL ^TMP($J,"IBCICME ERROR CODES")
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 |  ; The first entry should be ALL
 | 
|---|
 | 58 |  S J=1,ERR="ALL Error Codes in the ClaimsManager File"
 | 
|---|
 | 59 |  S ^TMP($J,"IBCICME ERROR CODES",J)=ERR
 | 
|---|
 | 60 |  S DIR("A",J)=$J(J,12)_"    "_ERR
 | 
|---|
 | 61 |  ;
 | 
|---|
 | 62 |  ; Loop through all error codes to build the arrays
 | 
|---|
 | 63 |  S ERR=""
 | 
|---|
 | 64 |  F J=2:1 S ERR=$O(^IBA(351.9,"AEC",ERR)) Q:ERR=""  D
 | 
|---|
 | 65 |  . S ^TMP($J,"IBCICME ERROR CODES",J)=ERR
 | 
|---|
 | 66 |  . S DIR("A",J)=$J(J,12)_"    "_ERR
 | 
|---|
 | 67 |  . Q
 | 
|---|
 | 68 |  S DIR("A",J)="  "        ; blank line before the prompt
 | 
|---|
 | 69 |  ;
 | 
|---|
 | 70 |  S DIR(0)="L^1:"_(J-1)
 | 
|---|
 | 71 |  S DIR("A")="Please Select the Error Codes to include"
 | 
|---|
 | 72 |  S DIR("B")=1
 | 
|---|
 | 73 |  S DIR("?",1)="  This response must be a list or range."
 | 
|---|
 | 74 |  S DIR("?",2)="  For example,   1,3,5   or   2-4,8"
 | 
|---|
 | 75 |  S DIR("?",3)="  "
 | 
|---|
 | 76 |  S DIR("?",4)="  If you include #1, then all codes will be included"
 | 
|---|
 | 77 |  S DIR("?")="    regardless of what you enter here."
 | 
|---|
 | 78 |  D ^DIR K DIR
 | 
|---|
 | 79 |  I $D(DIRUT) S STOP=1 G ERRCODEX
 | 
|---|
 | 80 |  ;
 | 
|---|
 | 81 |  ; Add a comma to the front of Y so the $F will work
 | 
|---|
 | 82 |  ; Check to see if the user response included ALL CODES
 | 
|---|
 | 83 |  S Y=","_Y
 | 
|---|
 | 84 |  KILL RPTSPECS("SELECTED ERRCODES")
 | 
|---|
 | 85 |  S RPTSPECS("ALL ERRCODES")=0
 | 
|---|
 | 86 |  I $F(Y,",1,") S RPTSPECS("ALL ERRCODES")=1 G ERRCODEX
 | 
|---|
 | 87 |  ;
 | 
|---|
 | 88 |  ; remove the leading the trailing commas and then build the list
 | 
|---|
 | 89 |  S Y=$E(Y,2,$L(Y)-1)
 | 
|---|
 | 90 |  F PCE=1:1:$L(Y,",") D
 | 
|---|
 | 91 |  . S NUM=$P(Y,",",PCE),ERR=""
 | 
|---|
 | 92 |  . I NUM'="" S ERR=^TMP($J,"IBCICME ERROR CODES",NUM)
 | 
|---|
 | 93 |  . I ERR'="" S RPTSPECS("SELECTED ERRCODES",ERR)=""
 | 
|---|
 | 94 |  . Q
 | 
|---|
 | 95 |  ;
 | 
|---|
 | 96 | ERRCODEX ;
 | 
|---|
 | 97 |  KILL ^TMP($J,"IBCICME ERROR CODES")
 | 
|---|
 | 98 |  Q
 | 
|---|
 | 99 |  ;
 | 
|---|
 | 100 |  ;
 | 
|---|
 | 101 | ERRTXT ;
 | 
|---|
 | 102 |  I RPTSPECS("TYPE")="S" S RPTSPECS("DISPLAY ERROR TEXT")=0 G ERRTXTX
 | 
|---|
 | 103 |  ; Only ask question if it is a detailed report
 | 
|---|
 | 104 |  W !
 | 
|---|
 | 105 |  S DIR(0)="Y"
 | 
|---|
 | 106 |  S DIR("A")="Do you want to see the ClaimsManager Error Messages for these bills"
 | 
|---|
 | 107 |  S DIR("B")="YES"
 | 
|---|
 | 108 |  S DIR("?",1)="  Enter YES if you would like to see the full description of the error"
 | 
|---|
 | 109 |  S DIR("?",2)="    including all lines of error message text."
 | 
|---|
 | 110 |  S DIR("?")="  Enter NO if you do not want to see this information."
 | 
|---|
 | 111 |  D ^DIR K DIR
 | 
|---|
 | 112 |  I $D(DIRUT) S STOP=1 G ERRTXTX
 | 
|---|
 | 113 |  S RPTSPECS("DISPLAY ERROR TEXT")=+Y
 | 
|---|
 | 114 | ERRTXTX ;
 | 
|---|
 | 115 |  Q
 | 
|---|
 | 116 |  ;
 | 
|---|
 | 117 |  ;
 | 
|---|
 | 118 | ERRDISP ; get the error display type (esg - 6/12/01)
 | 
|---|
 | 119 |  I RPTSPECS("TYPE")="S" S RPTSPECS("ERROR DISPLAY TYPE")=1 G ERRDISPX
 | 
|---|
 | 120 |  ; Only ask question if it is a detailed report
 | 
|---|
 | 121 |  NEW CH
 | 
|---|
 | 122 |  W !
 | 
|---|
 | 123 |  S CH="1:Display all ClaimsManager Errors for a Bill;"
 | 
|---|
 | 124 |  S CH=CH_"2:Display all Bills for a ClaimsManager Error Code"
 | 
|---|
 | 125 |  S DIR(0)="SO^"_CH
 | 
|---|
 | 126 |  S DIR("A")="Select the Error Display Type"
 | 
|---|
 | 127 |  S DIR("B")=1
 | 
|---|
 | 128 |  S DIR("?",1)="  The answer to this question will determine how the Bills and Errors"
 | 
|---|
 | 129 |  S DIR("?",2)="  are displayed on the report."
 | 
|---|
 | 130 |  S DIR("?",3)="  "
 | 
|---|
 | 131 |  S DIR("?",4)="  Select option 1 if you want to display all of the ClaimsManager"
 | 
|---|
 | 132 |  S DIR("?",5)="  errors for each bill that appears on the report.  These errors will"
 | 
|---|
 | 133 |  S DIR("?",6)="  appear together with the bill."
 | 
|---|
 | 134 |  S DIR("?",7)="  "
 | 
|---|
 | 135 |  S DIR("?",8)="  Select option 2 if you want to break this report out by ClaimsManager"
 | 
|---|
 | 136 |  S DIR("?",9)="  error code.  In this case, you will see separate sections for each"
 | 
|---|
 | 137 |  S DIR("?",10)="  error code and all bills in which a particular error code is present."
 | 
|---|
 | 138 |  S DIR("?",11)="  "
 | 
|---|
 | 139 |  S DIR("?",12)="  Remember that the bills and errors are still subject to the other"
 | 
|---|
 | 140 |  S DIR("?")="  selection and sort criteria that you enter."
 | 
|---|
 | 141 |  D ^DIR K DIR
 | 
|---|
 | 142 |  I $D(DIRUT) S STOP=1 G ERRDISPX
 | 
|---|
 | 143 |  S RPTSPECS("ERROR DISPLAY TYPE")=Y
 | 
|---|
 | 144 |  ;
 | 
|---|
 | 145 | ERRDISPX ;
 | 
|---|
 | 146 |  Q
 | 
|---|
 | 147 |  ;
 | 
|---|