Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: IBTRH2

IBTRH2.m

Go to the documentation of this file.
  1. IBTRH2 ;ALB/YMG - HCSR worklist expand entry ;18-JUN-2014
  1. ;;2.0;INTEGRATED BILLING;**517**;21-MAR-94;Build 240
  1. ;;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. Q
  1. ;
  1. EN ; main entry point for IBT HCSR ENTRY
  1. N DFN,DLINE,EVENTDT,IEN312,IEN36,INSNODE0,NODE0,IBTRNM,IBTRENT
  1. S VALMBCK="R"
  1. S IBTRNM="IBTRH2",IBTRENT=0
  1. S IBTRIEN=+$$SELEVENT^IBTRH1(0,"Select entry",.DLINE) ; select entry to expand
  1. I IBTRIEN'>0 Q
  1. ; try to lock the entry
  1. I '$$LOCKEV^IBTRH1(IBTRIEN) D LOCKERR^IBTRH2A S VALMSG="?Await #In-Prog -RespErr !Unable +Pend *NextRev" D MSG^VALM10(VALMSG) Q
  1. D EN^VALM("IBT HCSR ENTRY")
  1. ; unlock entry
  1. D UNLOCKEV^IBTRH1(IBTRIEN)
  1. Q
  1. ;
  1. EN2(IBTRNM,IBTRIEN) ; Secondary entry point.
  1. ; IBTRNM is the calling routine name.
  1. ; IBTRIEN is the internal id for ^IBT(356.22)
  1. I $G(IBTRNM)="" S VALMQUIT="" Q
  1. I '$G(IBTRIEN) S VALMQUIT="" Q
  1. N DFN,EVENTDT,IEN312,INSNODE0,NODE0
  1. D INIT
  1. Q
  1. ;
  1. HDR ; header code
  1. N VADM,VA,VAERR,Z
  1. S Z=""
  1. I +$G(DFN) D DEM^VADPT S Z=$E(VADM(1),1,28),Z=Z_$J("",35-$L(Z))_$P(VADM(2),U,2)_" DOB: "_$P(VADM(3),U,2)_" AGE: "_VADM(4)
  1. S VALMHDR(1)=Z
  1. Q
  1. ;
  1. INIT ; init variables and list array
  1. K ^TMP(IBTRNM,$J)
  1. I '$G(IBTRIEN) S VALMQUIT="" Q
  1. S NODE0=$G(^IBT(356.22,IBTRIEN,0))
  1. S DFN=+$P(NODE0,U,2)
  1. S IEN312=+$P(NODE0,U,3)
  1. S INSNODE0="" S:IEN312>0 INSNODE0=$G(^DPT(DFN,.312,IEN312,0)) ; 0-node in file 2.312
  1. S IEN36=+$P(INSNODE0,U)
  1. S EVENTDT=$P(NODE0,U,7)
  1. D BLD
  1. Q
  1. ;
  1. HELP ; help code
  1. D FULL^VALM1
  1. W !!,"This screen displays an expanded view of a Healthcare Services Review Worklist entry."
  1. W !!,"The actions allow editing of data and transmission of HCSR inquiry."
  1. D PAUSE^VALM1 S VALMBCK="R"
  1. Q
  1. ;
  1. EXIT ; exit code
  1. K ^TMP(IBTRNM,$J)
  1. D CLEAR^VALM1,CLEAN^VALM10
  1. Q
  1. ;
  1. BLD ; build screen array
  1. N AAADATA,ADDR,CMTDATA,DATA36,DATA3553,IBL,IBLINE,IBY,IEN3553,IENS,PNDDATA,RESPONSE,STATUS,TMPARY,Z,Z0,Z1,Z2
  1. S IEN3553=+$P(INSNODE0,U,18),STATUS=$$STATUS(IBTRIEN),RESPONSE=+$P($G(^IBT(356.22,IBTRIEN,0)),U,14)
  1. I $P($G(^IBT(356.22,IBTRIEN,0)),U,20)=2 S RESPONSE=IBTRIEN
  1. S VALMCNT=0
  1. ;
  1. S IENS=IEN36_","
  1. D GETS^DIQ(36,IENS,".01;1;.131:.133","EI","DATA36")
  1. D SET(" ") S IBY=$J("",26)_"Insurance Company Information" D SET(IBY,"B") S IBLINE=""
  1. S IBL="Name: ",IBY=$G(DATA36(36,IENS,.01,"E")),IBLINE=$$SETL("",IBY,IBL,10,30)
  1. S IBL="Reimburse?: ",IBY=$G(DATA36(36,IENS,1,"E")),IBLINE=$$SETL(IBLINE,IBY,IBL,57,20)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Phone: ",IBY=$G(DATA36(36,IENS,.131,"E")),IBLINE=$$SETL(IBLINE,IBY,IBL,10,20)
  1. S IBL="Billing Phone: ",IBY=$G(DATA36(36,IENS,.132,"E")),IBLINE=$$SETL(IBLINE,IBY,IBL,57,20)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Precert Phone: ",IBY=$G(DATA36(36,IENS,.133,"E")),IBLINE=$$SETL(IBLINE,IBY,IBL,57,20)
  1. D SET(IBLINE) S IBLINE=""
  1. D ADDR^IBTRH2A(36,IEN36,.111,.112,.113,.114,.115,.116,.ADDR)
  1. S IBL="Address: ",IBY=ADDR(1),IBLINE=$$SETL(IBLINE,IBY,IBL,10,69)
  1. D SET(IBLINE) S IBLINE=""
  1. F Z=2:1:9 S IBL="",IBY=$G(ADDR(Z)) Q:IBY="" S IBLINE=$$SETL(IBLINE,IBY,IBL,10,69) D SET(IBLINE) S IBLINE=""
  1. ;
  1. S IENS=IEN3553_","
  1. D GETS^DIQ(355.3,IENS,".02:.09;.12;6.02;6.03;11",,"DATA3553")
  1. D SET(" ") S IBY=$J("",29)_"Group/Plan Information" D SET(IBY,"B") S IBLINE=""
  1. S IBL="Type Of Plan: ",IBY=$G(DATA3553(355.3,IENS,.09)),IBLINE=$$SETL("",IBY,IBL,16,40)
  1. S IBL="Require UR: ",IBY=$G(DATA3553(355.3,IENS,.05)),IBLINE=$$SETL(IBLINE,IBY,IBL,63,3)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Group?: ",IBY=$G(DATA3553(355.3,IENS,.02)),IBLINE=$$SETL("",IBY,IBL,16,3)
  1. S IBL="Require Amb Cert: ",IBY=$G(DATA3553(355.3,IENS,.12)),IBLINE=$$SETL(IBLINE,IBY,IBL,63,3)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Group Name: ",IBY=$G(DATA3553(355.3,IENS,.03)),IBLINE=$$SETL("",IBY,IBL,16,20)
  1. S IBL="Require Pre-Cert: ",IBY=$G(DATA3553(355.3,IENS,.06)),IBLINE=$$SETL(IBLINE,IBY,IBL,63,3)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Group Number: ",IBY=$G(DATA3553(355.3,IENS,.04)),IBLINE=$$SETL("",IBY,IBL,16,17)
  1. S IBL="Exclude Pre-Cond: ",IBY=$G(DATA3553(355.3,IENS,.07)),IBLINE=$$SETL(IBLINE,IBY,IBL,63,3)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="BIN: ",IBY=$G(DATA3553(355.3,IENS,6.02)),IBLINE=$$SETL("",IBY,IBL,16,10)
  1. S IBL="Benefits Assignable: ",IBY=$G(DATA3553(355.3,IENS,.08)),IBLINE=$$SETL(IBLINE,IBY,IBL,63,3)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="PCN: ",IBY=$G(DATA3553(355.3,IENS,6.03)),IBLINE=$$SETL("",IBY,IBL,16,20)
  1. D SET(IBLINE) S IBLINE=""
  1. D SET(" ")
  1. S IBL="Plan Comments: ",IBY="",IBLINE=$$SETL("",IBY,IBL,10,69)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="",Z0=0 F S Z0=$O(DATA3553(355.3,IENS,11,Z0)) Q:'Z0 D
  1. .S IBY=$G(DATA3553(355.3,IENS,11,Z0)),IBLINE=$$SETL("",IBY,IBL,10,69) D SET(IBLINE) S IBLINE=""
  1. .Q
  1. D SET(" ") S IBY=$J("",26)_"Policy/Subscriber Information" D SET(IBY,"B") S IBLINE=""
  1. S IBL="Insured's Name: ",IBY=$P(INSNODE0,U,17),IBLINE=$$SETL("",IBY,IBL,18,30)
  1. S IBL="Effective: ",IBY=$$FMTE^XLFDT($P(INSNODE0,U,8),5),IBLINE=$$SETL(IBLINE,IBY,IBL,62,10)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Subscriber Id: ",IBY=$P(INSNODE0,U,2),IBLINE=$$SETL("",IBY,IBL,18,20)
  1. S IBL="Expiration: ",IBY=$$FMTE^XLFDT($P(INSNODE0,U,4),5),IBLINE=$$SETL(IBLINE,IBY,IBL,62,13)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Relationship: ",IBY=$$EXPAND^IBTRE(2.312,4.03,$P($G(^DPT(DFN,.312,IEN312,4)),U,3)),IBLINE=$$SETL("",IBY,IBL,18,16)
  1. S IBL="Coord of Benefits: ",IBY=$$EXPAND^IBTRE(2.312,.2,$P(INSNODE0,U,20)),IBLINE=$$SETL(IBLINE,IBY,IBL,62,16)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Insured's DOB: ",IBY=$$FMTE^XLFDT($P($G(^DPT(DFN,.312,IEN312,3)),U),5),IBLINE=$$SETL("",IBY,IBL,18,10)
  1. D SET(IBLINE) S IBLINE=""
  1. S IBL="Employer Sponsored Group Health Plan?: ",IBY=$$EXPAND^IBTRE(2.312,2.1,$P($G(^DPT(DFN,.312,IEN312,2)),U))
  1. S IBLINE=$$SETL("",IBY,IBL,40,3)
  1. D SET(IBLINE) S IBLINE=""
  1. D SET(" ") S IBY=$J("",23)_"User Added Comments for This Entry" D SET(IBY,"B") S IBLINE=""
  1. S IENS=IBTRIEN_"," D GETS^DIQ(356.22,IENS,"1*","IE","CMTDATA")
  1. S Z0="" F S Z0=$O(CMTDATA(356.221,Z0)) Q:Z0="" D
  1. .I $G(CMTDATA(356.221,Z0,.01,"I"))="" Q
  1. .S IBL="User's Name: ",IBY=$G(CMTDATA(356.221,Z0,.02,"E")),IBLINE=$$SETL("",IBY,IBL,10,30)
  1. .S IBL="Date Comment Entered: ",IBY=$$FMTE^XLFDT(CMTDATA(356.221,Z0,.01,"I"),5),IBLINE=$$SETL(IBLINE,IBY,IBL,60,19)
  1. .D SET(IBLINE) S IBLINE=""
  1. .S IBL="Comment: ",IBY="",IBLINE=$$SETL("",IBY,IBL,10,69) D SET(IBLINE) S IBLINE=""
  1. .K TMPARY D FSTRNG^IBJU1($$WP2STR^IBTRHLO2(356.221,.03,Z0),75,.TMPARY)
  1. .S IBL=" " F Z1=1:1:TMPARY S IBY=TMPARY(Z1),IBLINE=$$SETL("",IBY,IBL,1,75) D SET(IBLINE) S IBLINE=""
  1. .D SET(" ")
  1. .Q
  1. ; STATUS = "03" - unable to send, STATUS = "04" - negative response received
  1. I STATUS="03"!(STATUS="04") D
  1. .I STATUS="04",RESPONSE'>0 Q ; no response pointer
  1. .S IENS=$S(STATUS="04":RESPONSE,1:IBTRIEN)_","
  1. .D SET(" ")
  1. .S IBY=$S(STATUS="03":$J("",16)_"Unable to send request for the following reasons",1:$J("",26)_"278 response error condition")
  1. .D SET(IBY,"B") S IBLINE=""
  1. .D GETS^DIQ(356.22,IENS,"101*","IE","AAADATA")
  1. .S Z0="" F S Z0=$O(AAADATA(356.22101,Z0)) Q:Z0="" D
  1. ..I STATUS="04" D
  1. ...S Z1=+$G(AAADATA(356.22101,Z0,.02,"I")) I Z1>0 D
  1. ....S IBL="Error Source: ",IBY=$P($G(^IBE(365.027,Z1,0)),U,2)_" (Loop "_$G(AAADATA(356.22101,Z0,.02,"E"))_")"
  1. ....S IBLINE=$$SETL("",IBY,IBL,10,69) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Reject Reason Code: ",IBY=$G(AAADATA(356.22101,Z0,.04,"E"))
  1. ...I IBY'="" S IBLINE=$$SETL("",IBY,IBL,20,59) D SET(IBLINE) S IBLINE=""
  1. ...S Z1=+$G(AAADATA(356.22101,Z0,.04,"I"))
  1. ...I Z1>0 S IBL="Reject Reason Text: ",IBY=$P($G(^IBE(365.017,Z1,0)),U,2),IBLINE=$$SETL("",IBY,IBL,20,59) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Action Code: ",IBY=$G(AAADATA(356.22101,Z0,.05,"E"))
  1. ...I IBY'="" S IBLINE=$$SETL("",IBY,IBL,20,59) D SET(IBLINE) S IBLINE=""
  1. ...S Z1=+$G(AAADATA(356.22101,Z0,.05,"I"))
  1. ...I Z1>0 S IBL="Action Text: ",IBY=$P($G(^IBE(365.018,Z1,0)),U,2),IBLINE=$$SETL("",IBY,IBL,20,59) D SET(IBLINE) S IBLINE=""
  1. ...Q
  1. ..S Z1=$G(AAADATA(356.22101,Z0,1,"E")) I Z1'="" D
  1. ...;D SET(" ")
  1. ...S IBL=$S(STATUS="04":"Error message:",1:""),IBY="",IBLINE=$$SETL("",IBY,IBL,10,69) D SET(IBLINE) S IBLINE=""
  1. ...K TMPARY D FSTRNG^IBJU1(Z1,75,.TMPARY)
  1. ...S IBL="" F Z2=1:1:TMPARY S IBY=TMPARY(Z2),IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE)
  1. ...Q
  1. ..D SET(" ")
  1. ..Q
  1. .Q
  1. ; "Pending" response received
  1. I RESPONSE>0 D
  1. .S IENS=RESPONSE_","
  1. .D GETS^DIQ(356.22,IENS,"11*;12;17.02;103.01;103.03","IE","PNDDATA")
  1. .I $G(PNDDATA(356.22,IENS,103.01,"E"))'="A4" Q ; only display this section if Certification Action Code = A4
  1. .D SET(" ") S IBY=$J("",23)_"278 Response with 'Pending' status" D SET(IBY,"B") S IBLINE=""
  1. .D SET(" ")
  1. .S IBL="Admin Reference #: ",IBY=$G(PNDDATA(356.22,IENS,17.02,"E")),IBLINE=$$SETL("",IBY,IBL,10,69)
  1. .D SET(IBLINE) S IBLINE=""
  1. .S IBL="Review Decision Reason Code: ",IBY=$G(PNDDATA(356.22,IENS,103.03,"E")),IBLINE=$$SETL("",IBY,IBL,10,69)
  1. .D SET(IBLINE) S IBLINE=""
  1. .S IBL="Review Decision Reason Text: ",IBY=$P($G(^IBT(356.021,+$G(PNDDATA(356.22,IENS,103.03,"I")),0)),U,2)
  1. .S IBLINE=$$SETL("",IBY,IBL,10,69)
  1. .D SET(IBLINE) S IBLINE=""
  1. .I $D(PNDDATA(356.22,IENS,12)) D
  1. ..S IBL="Message: ",IBY="",IBLINE=$$SETL("",IBY,IBL,1,79)
  1. ..D SET(IBLINE) S IBLINE="",IBL=""
  1. ..S Z0=0 F S Z0=$O(PNDDATA(356.22,IENS,12,Z0)) Q:Z0'=+Z0 D
  1. ...S Z1=$G(PNDDATA(356.22,IENS,12,Z0))
  1. ...K TMPARY D FSTRNG^IBJU1(Z1,75,.TMPARY)
  1. ...S IBL="" F Z2=1:1:TMPARY S IBY=TMPARY(Z2),IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE)
  1. ...S IBLINE=""
  1. ...Q
  1. ..Q
  1. .I $D(PNDDATA(356.2211)) D
  1. ..D SET(" ")
  1. ..S IBL="Reports: ",IBY="",IBLINE=$$SETL("",IBY,IBL,40,9)
  1. ..D SET(IBLINE) S IBLINE=""
  1. ..D SET(" ")
  1. ..S Z="" F S Z=$O(PNDDATA(356.2211,Z)) Q:Z="" D
  1. ...S IBL="Attachment Report Type Code: ",IBY=$P($G(^IBT(356.018,+$G(PNDDATA(356.2211,Z,.01,"I")),0)),U)
  1. ...S IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Attachment Report Type Text: ",IBY=$G(PNDDATA(356.2211,Z,.01,"E"))
  1. ...S IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Report Transmission Code: ",IBY=$G(PNDDATA(356.2211,Z,.02,"I"))
  1. ...S IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Report Transmission Text: ",IBY=$G(PNDDATA(356.2211,Z,.02,"E"))
  1. ...S IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Report Control #: ",IBY=$G(PNDDATA(356.2211,Z,.03,"E"))
  1. ...S IBLINE=$$SETL("",IBY,IBL,1,79) D SET(IBLINE) S IBLINE=""
  1. ...S IBL="Attachment Description: ",IBY="",IBLINE=$$SETL("",IBY,IBL,1,79)
  1. ...D SET(IBLINE) S IBLINE=""
  1. ...S IBL="",IBY=$G(PNDDATA(356.2211,Z,.04,"E")),IBLINE=$$SETL("",IBY,IBL,1,79)
  1. ...D SET(IBLINE) S IBLINE=""
  1. ...D SET(" ")
  1. ...Q
  1. ..Q
  1. .Q
  1. S Z=+$O(^TMP(IBTRNM,$J,""),-1) I Z,$G(^TMP(IBTRNM,$J,Z,0))=" " K ^TMP(IBTRNM,$J,Z) S VALMCNT=VALMCNT-1
  1. Q
  1. ;
  1. SETL(LINE,DATA,LABEL,COL,LNG) ;
  1. S LINE=LINE_$J("",(COL-$L(LABEL)-$L(LINE)))_LABEL_$E(DATA,1,LNG)
  1. Q LINE
  1. ;
  1. SET(LINE,SPEC) ;
  1. S VALMCNT=VALMCNT+1
  1. S ^TMP(IBTRNM,$J,VALMCNT,0)=LINE
  1. I $G(SPEC)="B" D CNTRL^VALM10(VALMCNT,1,80,IOINHI,IOINORM)
  1. Q
  1. ;
  1. ADDCMT(FROMWL) ; add entry comment
  1. ; called from action protocol IBT HCSR ADD COMMENT
  1. ; Input: FROMWL - Optional, only sent when adding a comment to entry
  1. ; directly from the main worklist.
  1. ; Defaults to 0
  1. N CMTIEN,DA,DD,DIC,DIE,DIK,DINUM,DLAYGO,DO,DR,DTOUT,DUOUT,DIRUT,X,Y
  1. S:'$D(FROMWL) FROMWL=0
  1. S VALMBCK="R"
  1. ; create new entry in the comments multiple (356.221)
  1. S DA(1)=IBTRIEN,DLAYGO=356.221,DIC(0)="L",DIC="^IBT(356.22,"_DA(1)_",1,",X=$$NOW^XLFDT()
  1. D FILE^DICN K DD,DO S (CMTIEN,DA)=+Y I DA<1 Q
  1. ; prompt for the comment
  1. S DIE="^IBT(356.22,"_DA(1)_",1,",DR=".02////"_DUZ_";.03" D ^DIE
  1. ; if no comment was added, delete the entry in 356.221 we just created
  1. I $G(^IBT(356.22,IBTRIEN,1,CMTIEN,1,1,0))="" S DIK=DIE,DA(1)=IBTRIEN,DA=CMTIEN D ^DIK Q
  1. ;
  1. ; If called from the main worklist, skip the next line
  1. Q:FROMWL
  1. ;
  1. ; rebuild the listman screen in order to show the newly added comment
  1. D INIT^IBTRH2,HDR^IBTRH2
  1. Q
  1. ;
  1. SEND278 ; send 278 request
  1. N ADMIEN,DDT,DIR,DIROUT,DIRUT,DTOUT,DUOUT,EDT,DISIEN,IBEXIT,IENS,STATUS,X,Y
  1. ; IBTRENT - where this action is called from:
  1. ; 0 = from HCSR Worklist (full view)
  1. ; 1 = from HCSR Worklist (short view)
  1. ; 2 = from HCSR Response Worklist
  1. ; 3 = from Insurance Review Editor or Claims Tracking Editor
  1. S IBTRENT=+$G(IBTRENT)
  1. S:'$D(IBRESP) IBRESP=0
  1. S VALMBCK="R"
  1. D FULL^VALM1
  1. I $G(IBTRIEN)="" S IBTRENT=3 D ; coming from either Insurance Review Editor or Claims Tracking Editor
  1. .I $G(IBTRN)'="" D
  1. ..S IENS=IBTRN_",",DDT=""
  1. ..S EDT=$$GET1^DIQ(356,IENS,.06,"I") ; get event date from file 356
  1. ..S ADMIEN=+$$GET1^DIQ(356,IENS,.05,"I") ; get admission (ptr to file 405) from file 356
  1. ..I ADMIEN>0 D
  1. ...S DISIEN=+$$GET1^DIQ(405,ADMIEN_",",.17,"I") ; get discharge (ptr to file 405) from file 405
  1. ...I DISIEN>0 S DDT=$$GET1^DIQ(405,DISIEN_",",.01,"I") ; get discharge date from file 405
  1. ...Q
  1. ..S IBTRIEN=$O(^IBT(356.22,"D",DFN,EDT_$S(DDT'="":"-"_DDT,1:""),""))
  1. .Q
  1. ; if no valid 356.22 ien, complain and bail out
  1. I +$G(IBTRIEN)'>0 D STATMSG^IBTRH2A(1) Q
  1. ;
  1. S STATUS=$$STATUS(IBTRIEN)
  1. ; don't send a new request if we're waiting for response
  1. I STATUS="02" D STATMSG^IBTRH2A(3) Q
  1. ; if status is pending, still waiting on payer
  1. I STATUS="07" D STATMSG^IBTRH2A(4) Q
  1. ; Create the 278 request to be sent
  1. I IBTRENT'=1 S IBEXIT=$$CRT278^IBTRH5I(IBTRIEN)
  1. I IBTRENT=1 S IBEXIT=1
  1. ;
  1. ; Quit if the user '^' exited the template or if there is missing required fields
  1. I $$REQMISS^IBTRH5I(IBTRIEN,IBEXIT) D Q
  1. . D PAUSE^VALM1
  1. . ; Refresh display
  1. . I IBTRENT=0 D INIT^IBTRH2
  1. ;
  1. S DIR("A")="Send Request? (Y/N): ",DIR("B")="N",DIR(0)="YAO" D ^DIR K DIR
  1. I $G(DTOUT)!$G(DUOUT)!$G(DIROUT)!($G(Y)'=1) Q
  1. D EN^IBTRHLO(IBTRIEN,0)
  1. ; check if message id got populated and display appropriate message
  1. D STATMSG^IBTRH2A($S($P($G(^IBT(356.22,IBTRIEN,0)),U,12)="":2,1:0))
  1. ; refresh display
  1. I IBTRENT=0 D INIT^IBTRH2
  1. Q
  1. ;
  1. STATUS(IBTRIEN) ; returns 356.22 entry status
  1. ; IBTRIEN - file 356.22 ien
  1. ;
  1. N RES
  1. S RES=""
  1. I +$G(IBTRIEN)>0 S RES=$P($G(^IBT(356.22,IBTRIEN,0)),U,8)
  1. Q RES
  1. ;
  1. PRMARK(WHICH) ;EP
  1. ; Listman Protocol Action to Mark/Remove 'In-Progress' from a selected entry
  1. ; from the expand entry worklist
  1. ; Input: WHICH - 0 - Remove 'In-Progress' mark
  1. ; 1 - Set 'In-Progress' mark
  1. ; IBTRIEN - IEN of the Expanded Entry being marked/removed
  1. D PRMARK^IBTRH1(WHICH,IBTRIEN)
  1. I WHICH=1 D Q
  1. . I +$$STATUS^IBTRH2(IBTRIEN)=1 S VALMSG="Entry has been Marked" Q
  1. . S VALMSG="Nothing Done"
  1. ;
  1. I +$$STATUS^IBTRH2(IBTRIEN)=0 S VALMSG="Entry has been Unmarked" Q
  1. S VALMSG="Nothing Done"
  1. Q