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

TIUSRV.m

Go to the documentation of this file.
  1. TIUSRV ; SLC/JER - Silent server functions ;08/13/13 16:22
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**1,19,28,87,61,100,109,113,112,184,211,250,263**;Jun 20, 1997;Build 16
  1. ;
  1. ; ICR #10088 - ENDR^%ZISS Routine & IOINORM, IORVOFF, IORVON Local Vars
  1. ; #10015 - EN^DIQ1 Routine & DA, DIC,DIQ, & DR Local Vars
  1. ; #10116 - $$SETSTR^VALM1
  1. ; #10117 - CNTRL^VALM10,SET^VALM10 & VALM("LINES"), VALMAR, VALMCNT,
  1. ; VALMEVL, & VALMQUIT Local Vars
  1. ; #10104 - $$UP^XLFSTR
  1. ;
  1. RPC(TIUY,TIUDA,REASSIGN) ; RPC for DT
  1. N VALMAR,TIUGDATA,TIUGWHOL K ^TMP("TIUAUDIT",$J)
  1. S TIUY=$NA(^TMP("TIUAUDIT",$J))
  1. D GET(TIUDA,1,+$G(REASSIGN))
  1. K ^TMP("VALM VIDEO",$J)
  1. Q
  1. GET(TIUDA,HUSH,REASSIGN) ; Build List
  1. N TIUI,TIUL,TIUREC,TIUDADD,X,TIUCPF,ONBROWSE
  1. S (TIUDADD,TIUI,VALMCNT)=0,HUSH=+$G(HUSH)
  1. N DA,DIC,DIQ,DR,TIUNAME K ^TMP("TIUAUDIT",$J)
  1. I '$D(TIUPRM0) D SETPARM^TIULE
  1. I '$D(IOINORM) S X="IOINORM;IOIHI;IORVON;IORVOFF;IOUON;IOUOFF;IOBON;IOBOFF" D ENDR^%ZISS
  1. S:'$D(VALMAR) VALMAR="^TMP(""TIUAUDIT"",$J)"
  1. S VALMEVL=+$G(VALMEVL)
  1. I '$D(^TIU(8925,+TIUDA,0)) S VALMQUIT=1 Q
  1. ; if the document has an OnBrowse Event, execute it
  1. S ONBROWSE=$$ONBROWSE^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
  1. I $L(ONBROWSE) D LOADSUPP(ONBROWSE,TIUDA,.VALMCNT)
  1. ;Set a flag to indicate whether or not a Title is a member of the
  1. ;Clinical Procedures Class (1=Yes and 0=No)
  1. S TIUCPF=+$$ISA^TIULX(+$G(^TIU(8925,TIUDA,0)),+$$CLASS^TIUCP)
  1. S DIC=8925,DIQ="TIUREC(",DA=TIUDA
  1. S DR=".01;.02;.05;.07:.1;1201;1202;1204;1208;1212;1301;1302;1305;1306;1501;1502;1505;1507;1508;1511;1601:1602;1610:1612;1701;1801;89261"
  1. ;If the document is a member of the Clinical Procedures Class, include the
  1. ;Procedure Summary Code field and the Date/Time Performed field
  1. I TIUCPF S DR=DR_";70201;70202"
  1. D EN^DIQ1
  1. S TIUI="" F S TIUI=$O(TIUREC(8925,+TIUDA,TIUI)) Q:+TIUI'>0 D
  1. . I $G(TIUREC(8925,+TIUDA,TIUI))']"" S TIUREC(8925,+TIUDA,TIUI)="None"
  1. . E S TIUREC(8925,+TIUDA,TIUI)=$$UP^XLFSTR(TIUREC(8925,+TIUDA,TIUI))
  1. I $D(TIUREC)>9 D
  1. . D SOURCE(.TIUREC,HUSH,.VALMCNT,TIUCPF)
  1. . I '+$G(REASSIGN) D PROBLEM(TIUDA,.VALMCNT) D:$$ISPRFDOC^TIUPRF(TIUDA) LKDETAIL^TIUPRF3(TIUDA,.VALMCNT) D EDIT(TIUDA,.VALMCNT)
  1. . D REASSIGN^TIUSRV1(TIUDA,+$G(REASSIGN),.VALMCNT) Q:+$G(REASSIGN)
  1. . D IDLINK^TIUSRV1(TIUDA,.VALMCNT)
  1. . D SIGN(.TIUREC,.VALMCNT)
  1. . I +$O(^TIU(8925.7,"B",TIUDA,0)) D XTRASIGN(TIUDA,.VALMCNT)
  1. . I $D(^TIU(8925,+TIUDA,16)) D PRIVACY(.TIUREC,.VALMCNT)
  1. . D BODY(TIUDA,.VALMCNT)
  1. S:+$G(VALMCNT)<$G(VALM("LINES")) VALMCNT=$G(VALM("LINES"))
  1. Q
  1. LOADSUPP(METHOD,TIUDA,TIUL) ; Execute OnBrowse/Load Supplementary data
  1. N TIUY,TIUI S TIUI=0
  1. X METHOD I '$D(@TIUY) Q
  1. S TIUL=TIUL+1
  1. D SET(TIUL,1,"Requesting Package Information ",$G(IORVON),$G(IORVOFF))
  1. S TIUL=TIUL+1 D BLANK(TIUL)
  1. F S TIUI=$O(@TIUY@(TIUI)) Q:+TIUI'>0 D
  1. . S TIUL=+$G(TIUL)+1 D SET(TIUL,1,@TIUY@(TIUI))
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. K @TIUY
  1. Q
  1. SOURCE(TIUREC,HUSH,TIUL,TIUCPF) ; Source Info
  1. W:'+$G(HUSH) !!,"Opening "_TIUREC(8925,+TIUDA,.01)_" record for review..."
  1. S TIUL=TIUL+1
  1. D SET(TIUL,1,"Source Information ",$G(IORVON),$G(IORVOFF))
  1. D SET(TIUL+1,2," Standard Title: "_$G(TIUREC(8925,TIUDA,89261)))
  1. D SET(TIUL+2,2," Reference Date: "_$G(TIUREC(8925,TIUDA,1301)))
  1. D SET(TIUL+3,2," Entry Date: "_$G(TIUREC(8925,TIUDA,1201)))
  1. D SET(TIUL+4,2,"Expected Signer: "_$G(TIUREC(8925,TIUDA,1204)))
  1. D SET(TIUL+5,2," Urgency: "_$G(TIUREC(8925,TIUDA,.09)))
  1. D SET(TIUL+6,2," Line Count: "_$G(TIUREC(8925,TIUDA,.1)))
  1. D SET(TIUL+7,2," Division: "_$G(TIUREC(8925,TIUDA,1212)))
  1. D SET(TIUL+8,2," Subject: "_$G(TIUREC(8925,TIUDA,1701)))
  1. ;If the document is a member of the Clinical Procedures Class, include the
  1. ;Procedure Summary Code field and the Date/Time Performed field
  1. I $G(TIUCPF) D
  1. . D BLANK(TIUL+9)
  1. . D SET(TIUL+10,2,"Procedure Summary Code: "_$G(TIUREC(8925,TIUDA,70201)))
  1. . D SET(TIUL+11,2," Date/Time Performed: "_$G(TIUREC(8925,TIUDA,70202)))
  1. D SET(TIUL+1,40," Author: "_$G(TIUREC(8925,TIUDA,1202)))
  1. D SET(TIUL+2,40," Entered By: "_$G(TIUREC(8925,TIUDA,1302)))
  1. D SET(TIUL+3,40," Expected Cosigner: "_$G(TIUREC(8925,TIUDA,1208)))
  1. D SET(TIUL+4,40," Document Status: "_$G(TIUREC(8925,TIUDA,.05)))
  1. D SET(TIUL+5,40," TIU Document #: "_+$G(TIUDA))
  1. D SET(TIUL+6,40," VBC Line Count: "_$G(TIUREC(8925,TIUDA,1801)))
  1. S TIUL=$S(+$G(TIUCPF):TIUL+11,1:TIUL+8)
  1. Q
  1. PROBLEM(TIUDA,TIUL) ; Problems
  1. N TIUI,DR,DA,DIC,DIQ,TIUPROB,TIUNARR,TIUNARR1,TIUNARR2,TIUPB S TIUI=0
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Associated Problems ",$G(IORVON),$G(IORVOFF))
  1. I '+$O(^TIU(8925.9,"B",+TIUDA,0)) D SET(TIUL,25,"No linked problems.")
  1. F S TIUI=$O(^TIU(8925.9,"B",TIUDA,TIUI)) Q:+TIUI'>0 D
  1. . S DA=TIUI,DR=".02;.05",DIC="^TIU(8925.9,",DIQ="TIUPROB"
  1. . D EN^DIQ1 Q:$D(TIUPROB)'>9
  1. . S TIUL=TIUL+1
  1. . S TIUNARR=$G(TIUPROB(8925.9,TIUI,.05))
  1. . S TIUNARR1=$P(TIUNARR,"("),TIUNARR2=$P(TIUNARR,TIUNARR1,2)
  1. . S TIUNARR=$$MIXED^TIULS(TIUNARR1)_TIUNARR2
  1. . S TIUNARR=$E(TIUNARR,1,54)
  1. . D SET(TIUL,5,TIUNARR)
  1. . S TIUPB=$G(TIUPROB(8925.9,TIUI,.02))
  1. . S TIUPB="(ICD-9-CM "_TIUPB_")"
  1. . D SET(TIUL,61,TIUPB)
  1. Q
  1. EDIT(TIUDA,TIUL) ; Edits
  1. N TIUI,DR,DA,DIC,DIQ,TIUED S TIUI=0
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Edit Information ",$G(IORVON),$G(IORVOFF))
  1. I '+$O(^TIU(8925.5,"B",+TIUDA,0)) D SET(TIUL,22,"No edits since entry.")
  1. F S TIUI=$O(^TIU(8925.5,"B",TIUDA,TIUI)) Q:+TIUI'>0 D
  1. . S DA=TIUI,DR=".02:03",DIC="^TIU(8925.5,",DIQ="TIUED"
  1. . D EN^DIQ1 Q:$D(TIUED)'>9!($G(TIUED(8925.5,TIUI,.02))']"")
  1. . S TIUL=TIUL+1
  1. . D SET(TIUL,2," Edit Date: "_$G(TIUED(8925.5,TIUI,.02)))
  1. . D SET(TIUL,44," Edited By: "_$G(TIUED(8925.5,TIUI,.03)))
  1. Q
  1. SIGN(TIUREC,TIUL) ; Signature
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Signature Information ",$G(IORVON),$G(IORVOFF))
  1. D SET(TIUL+1,2," Signed Date: "_$G(TIUREC(8925,TIUDA,1501)))
  1. D SET(TIUL+3,2," Cosigned Date: "_$G(TIUREC(8925,TIUDA,1507)))
  1. D SET(TIUL+1,40," Signed By: "_$G(TIUREC(8925,TIUDA,1502)))
  1. D SET(TIUL+2,40," Signature Mode: "_$G(TIUREC(8925,TIUDA,1505)))
  1. D SET(TIUL+3,40," Cosigned By: "_$G(TIUREC(8925,TIUDA,1508)))
  1. D SET(TIUL+4,40," Cosignature Mode: "_$G(TIUREC(8925,TIUDA,1511)))
  1. S TIUL=TIUL+4
  1. Q
  1. XTRASIGN(TIUDA,TIUL) ; Additional signers
  1. N TIUI,DA,DR,DIC,DIQ,TIUXTRA
  1. S TIUI=0
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Receipt Acknowledged By ",$G(IORVON),$G(IORVOFF))
  1. F S TIUI=$O(^TIU(8925.7,"B",TIUDA,TIUI)) Q:+TIUI'>0 D
  1. . S DA=TIUI,DR=".03:.08",DIC="^TIU(8925.7,",DIQ="TIUXTRA"
  1. . D EN^DIQ1 Q:$D(TIUXTRA)'>9
  1. . S TIUL=TIUL+1
  1. . D SET(TIUL,2," Signed Date: "_$G(TIUXTRA(8925.7,DA,.04)))
  1. . D SET(TIUL,40," Signed By: "_$G(TIUXTRA(8925.7,DA,.06)))
  1. . S TIUL=TIUL+1
  1. . D SET(TIUL,2,"Expected Signer: "_$G(TIUXTRA(8925.7,DA,.03)))
  1. . D SET(TIUL,40," Signature Mode: "_$G(TIUXTRA(8925.7,DA,.08)))
  1. Q
  1. PRIVACY(TIUREC,TIUL) ; Privacy Act
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Privacy Act Information ",$G(IORVON),$G(IORVOFF))
  1. S TIUL=TIUL+1
  1. D SET(TIUL,2," Amended Date: "_$G(TIUREC(8925,TIUDA,1601)))
  1. D SET(TIUL,40," Amended By: "_$G(TIUREC(8925,TIUDA,1602)))
  1. S TIUL=TIUL+1
  1. D SET(TIUL,2," Deleted Date: "_$G(TIUREC(8925,TIUDA,1611)))
  1. D SET(TIUL,40," Deleted By: "_$G(TIUREC(8925,TIUDA,1610)))
  1. S TIUL=TIUL+1
  1. D SET(TIUL,2," Reason: "_$G(TIUREC(8925,TIUDA,1612)))
  1. Q
  1. BODY(TIUDA,TIUL) ; body of document
  1. N CANSEE
  1. S TIUL=TIUL+1 D BLANK(TIUL) S TIUL=TIUL+1
  1. D SET(TIUL,1,"Document Body ",$G(IORVON),$G(IORVOFF))
  1. S TIUL=TIUL+1 D BLANK(TIUL)
  1. S CANSEE=$$CANDO^TIULP(TIUDA,"VIEW")
  1. I '+CANSEE D NOSEE(CANSEE,.TIUL) Q
  1. I '$D(TIUGDATA) S TIUGDATA=$$IDDATA^TIURECL1(TIUDA)
  1. D LOADREC^TIUBR1(TIUDA,.TIUL,TIUGDATA,$G(TIUGWHOL))
  1. K ^TMP("TIU ADDENDUM",$J)
  1. Q
  1. ISCOMP(DA) ; Evaluate whether a given record is a component
  1. N TIUY,TIUTYP
  1. S TIUTYP=+$G(^TIU(8925,DA,0))
  1. S TIUY=$S($P($G(^TIU(8925.1,+TIUTYP,0)),U,4)="CO":1,1:0)
  1. Q TIUY
  1. NOSEE(CANSEE,TIUJ) ; When the user shouldn't see the data...
  1. S TIUJ=+$G(TIUJ)+1
  1. D SET(TIUJ,2,$P(CANSEE,U,2))
  1. Q
  1. SET(TIULINE,TIUCOL,TIUTEXT,ON,OFF) ; set display info in array
  1. D:'$D(@VALMAR@(TIULINE,0)) BLANK(.TIULINE)
  1. D SET^VALM10(.TIULINE,$$SETSTR^VALM1(.TIUTEXT,@VALMAR@(TIULINE,0),.TIUCOL,$L(TIUTEXT)))
  1. D:$G(ON)]""!($G(OFF)]"") CNTRL^VALM10(.TIULINE,.TIUCOL,$L(TIUTEXT),$G(ON),$G(OFF))
  1. W:'(TIULINE#5)&'+$G(HUSH) "."
  1. Q
  1. ;
  1. BLANK(TIULINE) ; blank line
  1. D SET^VALM10(.TIULINE,$J("",80))
  1. Q