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

ORWTIU.m

Go to the documentation of this file.
  1. ORWTIU ;SLC/REV - Functions for GUI PARAMETER ACTIONS ;Feb 10, 2021@11:37:06
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,85,109,132,195,243,377,539**;Dec 17, 1997;Build 41
  1. ;
  1. ; External Reference
  1. ; DBIA 6211 ^TIUCOP
  1. ; DBIA 7225 REQDFLD^TIUPREF
  1. ;
  1. GTTIUCTX(Y,ORUSER) ; Returns current Notes view context for user
  1. N OCCLIM,SHOWSUB
  1. S Y=$$GET^XPAR("ALL","ORCH CONTEXT NOTES",1)
  1. I +$P(Y,";",5)=0 D
  1. . S OCCLIM=$P($$PERSPRF^TIULE(DUZ),U,10)
  1. . S:+OCCLIM>0 $P(Y,";",5)=OCCLIM
  1. S SHOWSUB=$P(Y,";",6)
  1. S $P(Y,";",6)=$S(SHOWSUB'="":SHOWSUB,1:0)
  1. Q
  1. SVTIUCTX(Y,ORCTXT) ; Save new Notes view preferences for user
  1. N TMP
  1. S TMP=$$GET^XPAR(DUZ_";VA(200,","ORCH CONTEXT NOTES",1)
  1. I TMP'="" D Q
  1. . D CHG^XPAR(DUZ_";VA(200,","ORCH CONTEXT NOTES",1,ORCTXT)
  1. D ADD^XPAR(DUZ_";VA(200,","ORCH CONTEXT NOTES",1,ORCTXT)
  1. Q
  1. GTDCCTX(Y,ORUSER) ; Returns current DC Summary view context for user
  1. N OCCLIM,SHOWSUB
  1. S Y=$$GET^XPAR("ALL","ORCH CONTEXT SUMMRIES",1)
  1. I +$P(Y,";",5)=0 D
  1. . S OCCLIM=$P($$PERSPRF^TIULE(DUZ),U,10)
  1. . S:+OCCLIM>0 $P(Y,";",5)=OCCLIM
  1. S SHOWSUB=$P(Y,";",6)
  1. S $P(Y,";",6)=$S(SHOWSUB'="":SHOWSUB,1:0)
  1. Q
  1. SVDCCTX(Y,ORCTXT) ; Save new DC Summary view preferences for user
  1. N TMP
  1. S TMP=$$GET^XPAR(DUZ_";VA(200,","ORCH CONTEXT SUMMRIES",1)
  1. I TMP'="" D Q
  1. . D CHG^XPAR(DUZ_";VA(200,","ORCH CONTEXT SUMMRIES",1,ORCTXT)
  1. D ADD^XPAR(DUZ_";VA(200,","ORCH CONTEXT SUMMRIES",1,ORCTXT)
  1. Q
  1. ;
  1. PRINTW(ORY,ORDA,ORFLG) ;TIU print to windows printer
  1. N ZTQUEUED,ORHFS,ORSUB,ORIO,ORSTATUS,ROOT,ORERR,ORWIN,ORHANDLE
  1. N IOM,IOSL,IOST,IOF,IOT,IOS
  1. S (ORSUB,ROOT)="ORDATA",ORIO="OR WINDOWS HFS",ORWIN=1,ORHANDLE="ORWTIU"
  1. S ORY=$NA(^TMP(ORSUB,$J,1))
  1. S ORHFS=$$HFS^ORWRP()
  1. D HFSOPEN^ORWRP(ORHANDLE,ORHFS,"W")
  1. I POP D Q
  1. . I $D(ROOT) D SETITEM^ORWRP(.ROOT,"ERROR: Unable to open HFS file for TIU print")
  1. D IOVAR^ORWRP(.ORIO,,,"P-WINHFS80")
  1. N $ETRAP,$ESTACK
  1. S $ETRAP="D ERR^ORWRP Q"
  1. U IO
  1. D RPC^TIUPD(.ORERR,ORDA,ORIO,ORFLG,ORWIN)
  1. D HFSCLOSE^ORWRP(ORHANDLE,ORHFS)
  1. Q
  1. GTLSTITM(ORY,ORTIUDA) ; Return single listbox item for document
  1. Q:+$G(ORTIUDA)=0
  1. S ORY=ORTIUDA_U_$$RESOLVE^TIUSRVLO(ORTIUDA)
  1. Q
  1. IDNOTES(ORY) ; Is ID Notes installed?
  1. S ORY=$$PATCH^XPDUTL("TIU*1.0*100")
  1. Q
  1. ; DBIA #2322
  1. S ORY=$$CANLINK^TIULP(ORTITLE)
  1. Q
  1. GETCP(ORY,ORTIUDA) ; Checks required CP fields before signature
  1. S ORY=""
  1. N ORTITLE,ORAUTH,ORCOS,ORPSUMCD,ORPROCDT,ORROOT,ORERR,ORREFDT
  1. S ORERR="",ORROOT=$NA(^TMP("ORTIU",$J))
  1. D EXTRACT^TIULQ(ORTIUDA,.ORROOT,.ORERR,".01;1202;1208;70201;70202;1301",,,"I")
  1. S ORTITLE=@ORROOT@(ORTIUDA,".01","I")
  1. S ORAUTH=@ORROOT@(ORTIUDA,"1202","I")
  1. S ORCOS=@ORROOT@(ORTIUDA,"1208","I")
  1. S ORPSUMCD=@ORROOT@(ORTIUDA,"70201","I")
  1. S ORPROCDT=@ORROOT@(ORTIUDA,"70202","I")
  1. S ORREFDT=@ORROOT@(ORTIUDA,"1301","I")
  1. S ORY=ORAUTH_U_ORCOS_U_ORPSUMCD_U_ORPROCDT_U_ORTITLE_U_ORREFDT
  1. K @ORROOT
  1. Q
  1. CHKTXT(ORY,ORTIUDA) ; Checks for presence of text before signature
  1. S ORY='$$EMPTYDOC^TIULF(ORTIUDA) ;DBIA #4426
  1. Q
  1. ;
  1. EXCCOPY(ORY,ORTIUDA) ; Checks if note is excluded from copy/paste tracking
  1. I +$G(ORTIUDA)=0 S ORY="-1^TIU IEN required" Q
  1. S ORY=$$EXC^TIUCOP(ORTIUDA)
  1. Q
  1. ;
  1. EXCPLST(ORY) ;Returns a list of notes excluded from copy/paste tracking
  1. D EXCLST^TIUCOP(.ORY)
  1. Q
  1. ;
  1. PCTCOPY(ORY,DIV) ; Return the Copy/Paste verification percentage
  1. I +$G(DIV)=0 S ORY="-1^Institution is required" Q
  1. S ORY=$$PCT^TIUCOP(DIV)
  1. Q
  1. ;
  1. WRDCOPY(ORY,DIV) ; Return the Copy/Paste required number of words
  1. I +$G(DIV)=0 S ORY="-1^Institution is required" Q
  1. S ORY=$$WORDS^TIUCOP(DIV)
  1. Q
  1. ;
  1. GETCOPY(ORY,ORUSER,DIV,STRT) ; Returns tracked copied text for user
  1. I $G(STRT)="" S STRT=""
  1. I +$G(ORUSER)=0 S ORUSER=DUZ
  1. I +$G(DIV)=0 S ORY="-1^Institution is required" Q
  1. S ORY(0,0)=-1
  1. D GETCOPY^TIUCOP(DIV,ORUSER,.ORY,STRT)
  1. I +ORY(0,0)>0 D
  1. . N CNT,ND,ND1,X
  1. . S CNT=0
  1. . S ND="" F S ND=$O(ORY(ND)) Q:ND="" D
  1. .. S ND1="" F S ND1=$O(ORY(ND,ND1)) Q:ND1="" D
  1. ... S X="("_ND_","_ND1_")="
  1. ... S CNT=CNT+1
  1. ... S ORY(CNT)=X_$G(ORY(ND,ND1))
  1. ... K ORY(ND,ND1)
  1. I +$G(ORY(0,0))=-1 S ORY(-1)=$P($G(ORY),U,2) K ORY(0,0)
  1. Q
  1. ;
  1. SVCOPY(Y,ORTXT,DIV) ; Saves tracked copied text for user
  1. N CNT,LN,ORDATA,ORERR,ORPC,ORTMP,TXT,X
  1. I +$G(DIV)=0 S Y="-1^Institution is required" Q
  1. I '$D(ORTXT) S Y="-1^Copied text not received" Q
  1. S ORERR=""
  1. S Y=$$PUTCOPY^TIUCOP(DIV,.ORTXT,.ORERR)
  1. I Y=0,$G(ORERR("ERR"))'="" S Y=$G(ORERR("ERR"))
  1. I Y=0,$G(ORERR("ERR"))="" S Y="-1^Unidentified error during save."
  1. Q
  1. ;
  1. CHKPASTE(ORY,DIV,DOC) ; Return whether or not the user has copy buffer data
  1. S ORY=$$CHKPASTE^TIUCOP(DIV,DOC)
  1. Q
  1. ;
  1. GETPASTE(ORY,ORTIU,DIV) ; Returns pasted text for current note
  1. N FILE,IEN1,IENSV,X,Y1,Y,ARY,FLTMP,IEN
  1. I +$G(DIV)=0 S ORY="-1^Institution is required" Q
  1. I +$G(ORTIU)=0 S ORY="-1^Document ien is required." Q
  1. S IEN1=1
  1. S (ARY(0,0),ORY(0,0))=-1
  1. I $L(ORTIU,";")=2,$P(ORTIU,";",2)'="" D
  1. . S IEN1=0
  1. . S FILE=$P(ORTIU,";",2),ORTIU=+ORTIU,X=""
  1. . I FILE=123 D Q
  1. .. F S X=$O(^GMR(123,ORTIU,50,"B",X)) Q:X="" D
  1. ... I $P(X,";",2)'="TIU(8925," Q
  1. ... N CHILD,PARNT
  1. ... I '$D(^TIU(8925,+X,0)) Q
  1. ... S PARNT=+$P(^TIU(8925,+X,0),U,6)
  1. ... I PARNT>0 D
  1. .... S CHILD=""
  1. .... F S CHILD=$O(^TIU(8925,"DAD",PARNT,CHILD)) Q:CHILD="" D
  1. ..... I $D(FLTMP(CHILD)) Q
  1. ..... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ..... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .... I $D(FLTMP(PARNT)) Q
  1. .... S Y=$$VIEW^TIUCOP(DUZ,PARNT,DIV)
  1. .... I Y>0 D GETPASTE^TIUCOP(PARNT,DIV,"OR",.ARY) S FLTMP(PARNT)=1 D LOADORY(.ARY,.ORY)
  1. ... I PARNT=0 D
  1. .... S CHILD=""
  1. .... F S CHILD=$O(^TIU(8925,"DAD",+X,CHILD)) Q:CHILD="" D
  1. ..... I $D(FLTMP(CHILD)) Q
  1. ..... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ..... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .... I $D(FLTMP(+X)) Q
  1. .... S Y=$$VIEW^TIUCOP(DUZ,+X,DIV) I Y>0 D
  1. ..... D GETPASTE^TIUCOP(+X,DIV,"OR",.ARY) S FLTMP(+X)=1 D LOADORY(.ARY,.ORY)
  1. . N CHILD,PARNT
  1. . I '$D(^TIU(8925,+ORTIU,0)) Q
  1. . S PARNT=+$P(^TIU(8925,+ORTIU,0),U,6)
  1. . I PARNT>0 D
  1. .. S CHILD=""
  1. .. F S CHILD=$O(^TIU(8925,"DAD",PARNT,CHILD)) Q:CHILD="" D
  1. ... I $D(FLTMP(CHILD)) Q
  1. ... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .. I $D(FLTMP(PARNT)) Q
  1. .. S Y=$$VIEW^TIUCOP(DUZ,PARNT,DIV)
  1. .. I Y>0 D GETPASTE^TIUCOP(PARNT,DIV,"OR",.ARY) S FLTMP(PARNT)=1 D LOADORY(.ARY,.ORY)
  1. . I PARNT=0 D
  1. .. S CHILD=""
  1. .. F S CHILD=$O(^TIU(8925,"DAD",+ORTIU,CHILD)) Q:CHILD="" D
  1. ... I $D(FLTMP(CHILD)) Q
  1. ... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .. I $D(FLTMP(+ORTIU)) Q
  1. .. S Y=$$VIEW^TIUCOP(DUZ,+ORTIU,DIV) I Y>0 D
  1. ... D GETPASTE^TIUCOP(+ORTIU,DIV,"OR",.ARY) S FLTMP(+ORTIU)=1 D LOADORY(.ARY,.ORY)
  1. I IEN1=1 D
  1. . N CHILD,PARNT
  1. . I '$D(^TIU(8925,+ORTIU,0)) Q
  1. . S PARNT=+$P(^TIU(8925,+ORTIU,0),U,6)
  1. . I PARNT>0 D
  1. .. S CHILD=""
  1. .. F S CHILD=$O(^TIU(8925,"DAD",PARNT,CHILD)) Q:CHILD="" D
  1. ... I $D(FLTMP(CHILD)) Q
  1. ... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .. I $D(FLTMP(PARNT)) Q
  1. .. S Y=$$VIEW^TIUCOP(DUZ,PARNT,DIV)
  1. .. I Y>0 D GETPASTE^TIUCOP(PARNT,DIV,"OR",.ARY) S FLTMP(PARNT)=1 D LOADORY(.ARY,.ORY)
  1. . I PARNT=0 D
  1. .. S CHILD=""
  1. .. F S CHILD=$O(^TIU(8925,"DAD",+ORTIU,CHILD)) Q:CHILD="" D
  1. ... I $D(FLTMP(CHILD)) Q
  1. ... S Y=$$VIEW^TIUCOP(DUZ,CHILD,DIV)
  1. ... I Y>0 D GETPASTE^TIUCOP(CHILD,DIV,"OR",.ARY) S FLTMP(CHILD)=1 D LOADORY(.ARY,.ORY)
  1. .. I $D(FLTMP(+ORTIU)) Q
  1. .. S Y=$$VIEW^TIUCOP(DUZ,+ORTIU,DIV) I Y>0 D
  1. ... D GETPASTE^TIUCOP(+ORTIU,DIV,"OR",.ARY) S FLTMP(+ORTIU)=1 D LOADORY(.ARY,.ORY)
  1. I +ORY(0,0)=-1 S ORY(-1)=$P($G(ORY),U,2) S ORY("0,0")=-1 K ORY(0,0) Q
  1. I +ORY(0,0)'<0 D
  1. . N CNT,ND,ND1,ND2,X
  1. . S CNT=0
  1. . S ND="" F S ND=$O(ORY(ND)) Q:ND="" D
  1. .. S ND1="" F S ND1=$O(ORY(ND,ND1)) Q:ND1="" D
  1. ... S X="("_ND_","_ND1_")="
  1. ... S CNT=CNT+1
  1. ... S ORY(CNT)=X_$G(ORY(ND,ND1))
  1. ... S ND2="" F S ND2=$O(ORY(ND,ND1,ND2)) Q:ND2="" D
  1. .... S X="("_ND_","_ND1_","_ND2_")="
  1. .... S CNT=CNT+1
  1. .... S ORY(CNT)=X_$G(ORY(ND,ND1,ND2))
  1. ... K ORY(ND,ND1)
  1. Q
  1. ;
  1. LOADORY(ARY,ORY) ;Take an array and add it to a second array
  1. N CNT,CNT2,CNT3,LNCNT
  1. I +ARY(0,0)<0 Q
  1. S LNCNT=+$O(ORY(""),-1)
  1. S CNT=""
  1. F S CNT=$O(ARY(CNT)) Q:CNT="" D
  1. . I +CNT=0 S ORY(0,0)=$S(+$G(ORY(0,0))>0:+$G(ORY(0,0)),1:0)+$G(ARY(0,0)) K ARY(0,0) Q
  1. . S LNCNT=LNCNT+1
  1. . S CNT2=""
  1. . F S CNT2=$O(ARY(CNT,CNT2)) Q:CNT2="" D
  1. .. S ORY(LNCNT,CNT2)=$G(ARY(CNT,CNT2))
  1. .. S CNT3=""
  1. .. F S CNT3=$O(ARY(CNT,CNT2,CNT3)) Q:CNT3="" D
  1. ... S ORY(LNCNT,CNT2,CNT3)=$G(ARY(CNT,CNT2,CNT3))
  1. .. K ARY(CNT,CNT2)
  1. Q
  1. ;
  1. FORMAT(ORY) ;Format result for CPRS GUI RPC
  1. N X,Y
  1. S X=""
  1. F S X=$O(ORY(X)) Q:X="" D
  1. . S Y=""
  1. . F S Y=$O(ORY(X,Y)) Q:Y="" D
  1. .. S ORY(X_","_Y)=$G(ORY(X,Y))
  1. .. K ORY(X,Y)
  1. Q
  1. ;
  1. SVPASTE(ORY,ORTXT,DIV) ; Saves pasted text for the Copy/Paste functionality
  1. N ORERR,Y
  1. I +$G(DIV)=0 S ORY="-1^Institution is required" Q
  1. I '$D(ORTXT) S ORY="-1^Pasted text not received" Q
  1. S ORERR=""
  1. S Y=0
  1. S Y=$$PUTPASTE^TIUCOP(.ORY,DIV,.ORTXT,.ORERR)
  1. I Y=0,$G(ORERR("ERR"))'="" S ORY=$G(ORERR("ERR"))
  1. I Y=0,$G(ORERR("ERR"))="" S ORY="-1^Unidentified error during save."
  1. Q
  1. ;
  1. VIEWCOPY(Y,USER,IEN,INST) ; Is user allowed to view copy/paste information
  1. N FILE,IENSV,X,Y1
  1. S (Y,Y1)=0
  1. S IEN=$G(IEN)
  1. I +$G(USER)'>0 S USER=DUZ
  1. I +$G(INST)=0 S INST=0
  1. I $L(IEN,";")=2 D Q
  1. . S FILE=$P(IEN,";",2),IENSV=+IEN,(IEN,X)=""
  1. . I FILE=123 D Q
  1. .. F S X=$O(^GMR(123,IENSV,50,"B",X)) Q:X="" D Q:Y=2
  1. ... I $P(X,";",2)'="TIU(8925," Q
  1. ... S Y=$$VIEW1(+X,INST,USER,Y1)
  1. ... I Y=2
  1. .. I Y1>Y S Y=Y1
  1. . S Y=$$VIEW1(+IENSV,INST,USER,Y1)
  1. . I Y1>Y S Y=Y1
  1. I +IEN=0 S Y=$$VIEW^TIUCOP(USER,0,INST) Q
  1. S Y=$$VIEW1(+IEN,INST,USER,Y1)
  1. I Y1>Y S Y=Y1
  1. Q
  1. ;
  1. VIEW1(IEN,INST,USER,Y1) ;Find parent and child notes and call $$VIEW^TIUCOP for each
  1. N CHILD,PARNT,USAGE
  1. S USAGE=0
  1. I '$D(^TIU(8925,+IEN,0)) Q USAGE
  1. S PARNT=+$P(^TIU(8925,+IEN,0),U,6)
  1. I PARNT>0 D
  1. . S CHILD=""
  1. . F S CHILD=$O(^TIU(8925,"DAD",PARNT,CHILD)) Q:CHILD="" D Q:USAGE=2
  1. .. S USAGE=$$VIEW^TIUCOP(USER,CHILD,INST)
  1. .. I USAGE=2 Q
  1. .. I USAGE=1 S Y1=USAGE
  1. . S USAGE=$$VIEW^TIUCOP(USER,PARNT,INST)
  1. . I USAGE=1 S Y1=USAGE
  1. I PARNT=0 D
  1. . S CHILD=""
  1. . F S CHILD=$O(^TIU(8925,"DAD",+IEN,CHILD)) Q:CHILD="" D Q:USAGE=2
  1. .. S USAGE=$$VIEW^TIUCOP(USER,CHILD,INST)
  1. .. I USAGE=2 Q
  1. .. I USAGE=1 S Y1=USAGE
  1. . I USAGE=2 Q
  1. . S USAGE=$$VIEW^TIUCOP(USER,+IEN,INST)
  1. . I Y1>USAGE S USAGE=Y1
  1. Q USAGE
  1. ;
  1. LDCPIDNT(VAL) ;Return the copy/paste identifier parameters
  1. N X
  1. S VAL=""
  1. S VAL=$$GET^XPAR("PKG","ORQQTIU COPY/PASTE IDENT",,"Q")
  1. I VAL="-2;CP Disable Override" S VAL=-2 Q
  1. S VAL=$$GET^XPAR("ALL","ORQQTIU COPY/PASTE IDENT",,"Q")
  1. I VAL["-2" S VAL=-2 Q
  1. I VAL="" S VAL="-1;Visual Disable Override" ;"0,0,1,1,65535" ;Default to Highlight and Underline
  1. Q
  1. ;
  1. SVCPIDNT(ORERR,VAL) ;Save the copy/paste identifier parameters
  1. ; VAL=Bold,Italicize,Underline,Highlight,Highlight Color
  1. N PARAM
  1. S ORERR=0
  1. I $G(VAL)="" S ORERR="-1^Input parameter is missing" Q
  1. D EN^XPAR("USR","ORQQTIU COPY/PASTE IDENT",1,VAL,.ORERR)
  1. Q
  1. ;
  1. VALCODE(X) ;Validation code for the ORQQTIU COPY/PASTE IDENT parameter
  1. ; Returns 1 if fail
  1. ;ENT is expected to exist when this is called
  1. ;N RTN
  1. ;S RTN=0
  1. I X="" Q 1
  1. ;The following line is an attribute which can be used to disable
  1. ;copy/paste identifiers. This only affects the visual components of
  1. ;copy/paste. All tracking continues to occur.
  1. I X="-1;Visual Disable Override" Q 0
  1. ;The following line is a hidden attribute which can be used to disable
  1. ;copy/paste functionality. NOTE: This functionality is only for use at
  1. ;the direction of the VACO Health Information Management Program
  1. ;Office or the event of an Emergency situation.
  1. ;I X="-2;CP Disable Override",$P(ENT,";",2)="DIC(9.4," Q 0
  1. I X="-2;CP Disable Override" Q 0
  1. ;
  1. I (X'?4(1N1",")1(1"-"1.N1",",1.N1",")5(1N1",")1(1"-"1.N1","1.N,1.N1","1.N))!(($P(X,U,4)=1)&($P(X,U,5)'>0))!(($P(X,U,10)=1)&($P(X,U,11)'>0)) Q 1
  1. I (($P(X,",",1)'=1)&($P(X,",",1)'=0))!(($P(X,",",2)'=1)&($P(X,",",2)'=0))!(($P(X,",",3)'=1)&($P(X,",",3)'=0))!(($P(X,",",4)'=1)&($P(X,",",4)'=0)) Q 1
  1. I ((($P(X,",",6)'=1)&($P(X,",",6)'=0))!(($P(X,",",7)'=1)&($P(X,",",7)'=0))!(($P(X,",",8)'=1)&($P(X,",",8)'=0))!(($P(X,",",9)'=1)&($P(X,",",9)'=0))!(($P(X,",",10)'=1)&($P(X,",",10)'=0))) Q 1
  1. Q 0
  1. ;
  1. START(VAL,DFN,DIV,IP,HWND) ;Start copy retrieval background job
  1. I +$G(DFN)<1 S DFN=DUZ
  1. I $G(IP)="" Q
  1. I $G(HWND)="" Q
  1. I +$G(DIV)<1 Q
  1. D START^TIUCOP(.VAL,DFN,IP,HWND,DIV)
  1. Q
  1. ;
  1. POLL(LST,DFN,IP,HWND) ;Poll copy retrieval background job and return results
  1. I +$G(DFN)<1 S DFN=DUZ
  1. I $G(IP)="" Q
  1. I $G(HWND)="" Q
  1. D POLL^TIUCOP(.LST,DFN,IP,HWND)
  1. I $G(LST(1))="" S LST(1)=-1
  1. Q
  1. ;
  1. STOP(OK,DFN,IP,HWND) ;Stop copy retrieval background job
  1. S OK=0
  1. I +$G(DFN)<1 S DFN=DUZ
  1. I $G(IP)="" Q
  1. I $G(HWND)="" Q
  1. D STOP^TIUCOP(.OK,DFN,IP,HWND)
  1. Q
  1. ;
  1. CLEAN ;clean up ^XTMP nodes related to copy/paste
  1. ;The task number is returned. Currently, we do nothing with it.
  1. N TASK
  1. S TASK=0
  1. D CLEAN^TIUCOP(.TASK)
  1. Q
  1. ;
  1. REQDFLD(VAL,ACTION,INPUT) ;Load or Save Template Required Fields Preferences
  1. D REQDFLD^TIUPREF(.VAL,$G(ACTION),$G(INPUT))
  1. Q