[613] | 1 | IBCIUT7 ;DSI/ESG - COMMENTS FIELD UTILITIES ;16-JULY-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 | Q
|
---|
| 6 | ;
|
---|
| 7 | COMMENT(IBIFN,TYPE) ; Capture the comments
|
---|
| 8 | ; This procedure will capture and file all comments to be stored
|
---|
| 9 | ; in field 2.01 of the ClaimsManager file (#351.9).
|
---|
| 10 | ;
|
---|
| 11 | ; TYPE=1 indicates Exit comments:
|
---|
| 12 | ; This procedure is called from IBCSCP and from IBCB2 whenever
|
---|
| 13 | ; the status of the bill in the ClaimsManager file is 4 (returned
|
---|
| 14 | ; with errors) and the user is trying to exit out of the screens
|
---|
| 15 | ; without correcting the errors found.
|
---|
| 16 | ; This is also called from the ListMan screen routine IBCIMG.
|
---|
| 17 | ;
|
---|
| 18 | ; TYPE=2 indicates overriding the CM errors:
|
---|
| 19 | ; This procedure is called from IBCIMG whenever the user wants to
|
---|
| 20 | ; override the ClaimsManager errors.
|
---|
| 21 | ;
|
---|
| 22 | ; TYPE=3 indicates the bill is being cancelled:
|
---|
| 23 | ; This procedure is called from IBCIST in order to move the cancel
|
---|
| 24 | ; comments into this file when cancelling a bill that has been thru
|
---|
| 25 | ; the ClaimsManager interface.
|
---|
| 26 | ;
|
---|
| 27 | ; TYPE=4 indicates that the bill was sent from the multiple claim
|
---|
| 28 | ; send option and some ClaimsManager errors were found. Record a
|
---|
| 29 | ; comment indicating how this bill was sent to ClaimsManager. This
|
---|
| 30 | ; procedure is called from IBCIUT2 in this case.
|
---|
| 31 | ;
|
---|
| 32 | ; TYPE=5 indicates that the bill is being reassigned by a user,
|
---|
| 33 | ; typically a coder, to another user, typically a biller,
|
---|
| 34 | ; from a standalone option which allows only users to
|
---|
| 35 | ; re-assign a bill. This procedure is called from IBCIASN, which
|
---|
| 36 | ; as indicated above, is a standalone option available only from
|
---|
| 37 | ; menus which are assigned at sites.
|
---|
| 38 | ;
|
---|
| 39 | NEW CMNT,D0,DA,DI,DIC,DIE,DN,DQ,DR,LASTONE,LASTTXT
|
---|
| 40 | NEW NOCOMMSG,NOW,REASON,X
|
---|
| 41 | NEW COMMCHG,NEWCOMCT,OLDCOMCT,CMT,PREVCHG
|
---|
| 42 | NEW WHO,WHEN,AUDITMSG
|
---|
| 43 | ;
|
---|
| 44 | ; Intro text and set-up to read WP field for exit comments
|
---|
| 45 | I TYPE=1 D
|
---|
| 46 | . W !!?2,"There are still some unresolved errors reported by ClaimsManager."
|
---|
| 47 | . W !?2,"Please enter some comments before exiting this option.",!
|
---|
| 48 | . Q
|
---|
| 49 | ;
|
---|
| 50 | ; Intro text and set-up to read WP field for override comments
|
---|
| 51 | I TYPE=2 D
|
---|
| 52 | . W !!?2,"Please enter some comments indicating why you are overriding"
|
---|
| 53 | . W !?2,"the errors reported by ClaimsManager.",!
|
---|
| 54 | . Q
|
---|
| 55 | ;
|
---|
| 56 | ; for cancel processing, just grab the reason cancelled field and
|
---|
| 57 | ; stuff it in here
|
---|
| 58 | I TYPE=3 D
|
---|
| 59 | . S REASON=$P($G(^DGCR(399,IBIFN,"S")),U,19)
|
---|
| 60 | . D DCOM^IBCIUT4(IBIFN) ; delete whatever's in there
|
---|
| 61 | . S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///^S X=REASON"
|
---|
| 62 | . D ^DIE
|
---|
| 63 | . Q
|
---|
| 64 | ;
|
---|
| 65 | ; for bills with errors from the multiple claim send option,
|
---|
| 66 | ; just stuff in some text.
|
---|
| 67 | I TYPE=4 D
|
---|
| 68 | . S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///This Bill was sent to ClaimsManager from the Multiple Claim Send Option."
|
---|
| 69 | . D ^DIE
|
---|
| 70 | . Q
|
---|
| 71 | ;
|
---|
| 72 | ; for bills that a coder is re-assigning
|
---|
| 73 | I TYPE=5 D
|
---|
| 74 | . W !!?2,"Please enter some comments for the person to whom this"
|
---|
| 75 | . W !?2,"bill will be assigned.",!
|
---|
| 76 | . Q
|
---|
| 77 | ;
|
---|
| 78 | ; Define a variable for the "no comments entered" text
|
---|
| 79 | S NOCOMMSG=" << No Comments Entered >>"
|
---|
| 80 | ;
|
---|
| 81 | ; Capture and file just the word-processing field here.
|
---|
| 82 | ; If the user made an illegal edit, then do it again.
|
---|
| 83 | WP I $F(".1.2.5.","."_TYPE_".") D I PREVCHG G WP
|
---|
| 84 | . ;
|
---|
| 85 | . ; if the only comment currently in there is the message about
|
---|
| 86 | . ; there being no comments, then blow that stuff away before
|
---|
| 87 | . ; reading in the new comments.
|
---|
| 88 | . S LASTONE=+$O(^IBA(351.9,IBIFN,2,99999999),-1)
|
---|
| 89 | . S LASTTXT=$P($G(^IBA(351.9,IBIFN,2,LASTONE,0)),U,1)
|
---|
| 90 | . I LASTONE=1,LASTTXT=NOCOMMSG D DCOM^IBCIUT4(IBIFN)
|
---|
| 91 | . ;
|
---|
| 92 | . ; esg - 7/16/01
|
---|
| 93 | . ; add an audit text line in the comment text field.
|
---|
| 94 | . ; this audit text line should be in the comments field before
|
---|
| 95 | . ; the user gets the chance to add/edit comment text.
|
---|
| 96 | . ;
|
---|
| 97 | . S WHO=$P($G(^VA(200,DUZ,0)),U,1)
|
---|
| 98 | . S WHEN=$$FMTE^XLFDT($$NOW^XLFDT,5)
|
---|
| 99 | . S AUDITMSG="*---"_WHO_"---"_$P(WHEN,"@",1)_"---"_$P(WHEN,"@",2)_"---*"
|
---|
| 100 | . S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///+"_AUDITMSG
|
---|
| 101 | . D ^DIE
|
---|
| 102 | . ;
|
---|
| 103 | . ; Save off the before version of the comments so we can compare
|
---|
| 104 | . ; later on.
|
---|
| 105 | . KILL ^TMP($J,"IBCICOMMENTS")
|
---|
| 106 | . M ^TMP($J,"IBCICOMMENTS")=^IBA(351.9,IBIFN,2)
|
---|
| 107 | . ;
|
---|
| 108 | . ; set up the variables for editing the comments field
|
---|
| 109 | . S DIE="^IBA(351.9,",DA=IBIFN,DR=2.01
|
---|
| 110 | . D ^DIE
|
---|
| 111 | . ;
|
---|
| 112 | . ; Compare the new comments with the old comments and set variable
|
---|
| 113 | . ; COMMCHG appropriately. COMMCHG=1 if the comments were modified in
|
---|
| 114 | . ; any way. COMMCHG=0 if there were no changes to the comments.
|
---|
| 115 | . ;
|
---|
| 116 | . S PREVCHG=0 ; flag indicating if old comment text was changed
|
---|
| 117 | . S COMMCHG=0
|
---|
| 118 | . S NEWCOMCT=$P($G(^IBA(351.9,IBIFN,2,0)),U,4) ; new comment count
|
---|
| 119 | . S OLDCOMCT=$P($G(^TMP($J,"IBCICOMMENTS",0)),U,4) ; old comment count
|
---|
| 120 | . I NEWCOMCT'=OLDCOMCT S COMMCHG=1
|
---|
| 121 | . E F CMT=1:1:NEWCOMCT I $G(^IBA(351.9,IBIFN,2,CMT,0))'=$G(^TMP($J,"IBCICOMMENTS",CMT,0)) S COMMCHG=1 Q
|
---|
| 122 | . ;
|
---|
| 123 | . ; If the user made no changes at all to the comment text, then
|
---|
| 124 | . ; append the "no comments entered" message to the text and then quit.
|
---|
| 125 | . I 'COMMCHG D Q
|
---|
| 126 | .. S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///+"_NOCOMMSG
|
---|
| 127 | .. D ^DIE
|
---|
| 128 | .. Q
|
---|
| 129 | . ;
|
---|
| 130 | . ; At this point, we know the user made some changes to the comment
|
---|
| 131 | . ; text. Variable PREVCHG is calculated to see if the user
|
---|
| 132 | . ; modified previously existing lines of comment text. This is
|
---|
| 133 | . ; not allowed and the user will be forced to re-enter their
|
---|
| 134 | . ; comment text if they do this.
|
---|
| 135 | . ;
|
---|
| 136 | . I NEWCOMCT<OLDCOMCT S PREVCHG=1
|
---|
| 137 | . E F CMT=1:1:OLDCOMCT I $G(^IBA(351.9,IBIFN,2,CMT,0))'=$G(^TMP($J,"IBCICOMMENTS",CMT,0)) S PREVCHG=1 Q
|
---|
| 138 | . ;
|
---|
| 139 | . ; If the user didn't change old comment text, then we're OK
|
---|
| 140 | . I 'PREVCHG Q
|
---|
| 141 | . ;
|
---|
| 142 | . ; Here, we know the user did a bad thing. We need to display
|
---|
| 143 | . ; an error message to the user and restore the old comments.
|
---|
| 144 | . W !!?8,"You are not allowed to modify previously entered comments."
|
---|
| 145 | . W !?8,"Any comments that you may have just entered have been discarded."
|
---|
| 146 | . W !!?8,"Please remember to start adding your comments on the line"
|
---|
| 147 | . W !?8,"following the audit stamp which contains your name and the"
|
---|
| 148 | . W !?8,"current date and time."
|
---|
| 149 | . W !!
|
---|
| 150 | . S DIR("A")="Press RETURN to continue",DIR(0)="E" D ^DIR K DIR
|
---|
| 151 | . ;
|
---|
| 152 | . ; Remove the last line of the original version of the comments.
|
---|
| 153 | . ; This should be the audit message. A new one will get created
|
---|
| 154 | . ; upon re-edit.
|
---|
| 155 | . KILL ^TMP($J,"IBCICOMMENTS",OLDCOMCT,0)
|
---|
| 156 | . S CMT=OLDCOMCT-1
|
---|
| 157 | . S $P(^TMP($J,"IBCICOMMENTS",0),U,3,4)=CMT_U_CMT
|
---|
| 158 | . ;
|
---|
| 159 | . ; Restore the original comments
|
---|
| 160 | . D DCOM^IBCIUT4(IBIFN)
|
---|
| 161 | . M ^IBA(351.9,IBIFN,2)=^TMP($J,"IBCICOMMENTS")
|
---|
| 162 | . Q
|
---|
| 163 | ;
|
---|
| 164 | ; remove the scratch global
|
---|
| 165 | KILL ^TMP($J,"IBCICOMMENTS")
|
---|
| 166 | ;
|
---|
| 167 | ; store the user/date/time stamp information in all cases
|
---|
| 168 | S NOW=$$NOW^XLFDT
|
---|
| 169 | S CMNT(351.9,IBIFN_",",.13)=NOW ; comment date/time
|
---|
| 170 | S CMNT(351.9,IBIFN_",",.14)=DUZ ; comment user
|
---|
| 171 | S CMNT(351.9,IBIFN_",",.08)=NOW ; last edited date/time
|
---|
| 172 | S CMNT(351.9,IBIFN_",",.09)=DUZ ; last edited user
|
---|
| 173 | D FILE^DIE("I","CMNT")
|
---|
| 174 | ;
|
---|
| 175 | ; Enter some comment data if the user failed to do so
|
---|
| 176 | ; This would only apply if the user manually deleted all lines of
|
---|
| 177 | ; comment text. We want to put something in there. This will
|
---|
| 178 | ; probably never happen.
|
---|
| 179 | I '$P($G(^IBA(351.9,IBIFN,2,0)),U,4) D
|
---|
| 180 | . S DIE="^IBA(351.9,",DA=IBIFN,DR="2.01///"_NOCOMMSG
|
---|
| 181 | . D ^DIE
|
---|
| 182 | . Q
|
---|
| 183 | ;
|
---|
| 184 | ; Get the assigned to person after entering Exit comments
|
---|
| 185 | ; or when using the stand-alone option to assign a bill
|
---|
| 186 | I TYPE=1!(TYPE=5) D EDATP^IBCIUT1(IBIFN,COMMCHG)
|
---|
| 187 | ;
|
---|
| 188 | COMMX ;
|
---|
| 189 | Q
|
---|
| 190 | ;
|
---|