| 1 | TIUSRVR1 ; SLC/JER - RPC for record-wise GET ;8/16/06  11:48
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**19,32,87,89,100,109,112,173,186,208,211,222**;Jun 20, 1997
 | 
|---|
| 3 | TGET(TIUY,TIUDA,ACTION) ; Build ^TMP("TIUVIEW",$J,
 | 
|---|
| 4 |  N TIUL,TIUREC,TIUARR,TIUGDATA,TIUNAME,TIUPRM0,TIUPRM1,X,Y,TIUCPF,ONBROWSE
 | 
|---|
| 5 |  K ^TMP("TIUVIEW",$J),^TMP("TIU FOCUS",$J)
 | 
|---|
| 6 |  S ACTION=$G(ACTION,"VIEW"),TIUL=0
 | 
|---|
| 7 |  D SETPARM^TIULE
 | 
|---|
| 8 |  S TIUGDATA=$$SETGDATA(TIUDA)
 | 
|---|
| 9 |  S TIUY=$NA(^TMP("TIUVIEW",$J))
 | 
|---|
| 10 |  S TIUARR="^TMP(""TIUVIEW"",$J)"
 | 
|---|
| 11 |  I '$D(^TIU(8925,+TIUDA,0)) S VALMQUIT=1 Q
 | 
|---|
| 12 |  ; Initialize ^TMP("TIU FOCUS",$J) to the entry that has focus
 | 
|---|
| 13 |  S ^TMP("TIU FOCUS",$J)=TIUDA
 | 
|---|
| 14 |  ; if the document has a browse action, execute it
 | 
|---|
| 15 |  S ONBROWSE=$$ONBROWSE^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
 | 
|---|
| 16 |  I $L(ONBROWSE) D LOADSUPP(ONBROWSE,TIUDA,.TIUL)
 | 
|---|
| 17 |  ; Call INQUIRE to get record
 | 
|---|
| 18 |  ;Set a flag to indicate whether or not a Title is a memer of the
 | 
|---|
| 19 |  ;Clinical Procedures Class (1=Yes and 0=No)
 | 
|---|
| 20 |  S TIUCPF=+$$ISA^TIULX(+$G(^TIU(8925,TIUDA,0)),+$$CLASS^TIUCP)
 | 
|---|
| 21 |  ; Call INQUIRE to get record
 | 
|---|
| 22 |  D INQUIRE^TIUSRVR2(TIUDA,.TIUREC,TIUCPF)
 | 
|---|
| 23 |  ; First, load dictation, transcription data, etc.
 | 
|---|
| 24 |  D LOADTOP(.TIUREC,TIUDA,.TIUL,TIUGDATA,TIUCPF)
 | 
|---|
| 25 |  ; Next, load the remainder of the record
 | 
|---|
| 26 |  D LOADREC^TIUSRVR2(TIUDA,.TIUL,TIUGDATA,0,ACTION)
 | 
|---|
| 27 |  ;
 | 
|---|
| 28 |  ; *222 display closing & footer data for FORM LETTERS only
 | 
|---|
| 29 |  I +$$MEMBEROF^TIUPR222(+$G(^TIU(8925,+TIUDA,0)),"FORM LETTERS") D
 | 
|---|
| 30 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)="" D GUIVIEW^TIUFLP1(TIUDA,"CLS",.TIUL,.TIUARR)
 | 
|---|
| 31 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)="" D GUIVIEW^TIUFLP1(TIUDA,"FTR",.TIUL,.TIUARR)
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  K ^TMP("TIU FOCUS",$J)
 | 
|---|
| 34 |  S VALMCNT=+$G(TIUL)
 | 
|---|
| 35 |  Q
 | 
|---|
| 36 | SETGDATA(TIUDA) ; Set TIUGDATA
 | 
|---|
| 37 |  N TIUDPRM,TIUY,SORT S TIUY=""
 | 
|---|
| 38 |  D DOCPRM^TIULC1(+$G(^TIU(8925,TIUDA,0)),.TIUDPRM,TIUDA)
 | 
|---|
| 39 |  S SORT=$S(+$P(TIUDPRM(0),U,18):"TITLE",1:"REFDT")
 | 
|---|
| 40 |  I +$G(^TIU(8925,TIUDA,21)) S TIUY=TIUDA_U_0_U_+$G(^(21))_U_SORT G SETGX
 | 
|---|
| 41 |  I +$O(^TIU(8925,"GDAD",TIUDA,0)) S TIUY=TIUDA_U_1_U_0_U_SORT
 | 
|---|
| 42 | SETGX Q TIUY
 | 
|---|
| 43 | LOADSUPP(METHOD,TIUDA,TIUL) ; Execute OnBrowse/Load Supplementary data
 | 
|---|
| 44 |  N TIUY,TIUI S TIUI=0
 | 
|---|
| 45 |  X METHOD I '$D(@TIUY) Q
 | 
|---|
| 46 |  F  S TIUI=$O(@TIUY@(TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 47 |  . S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL,0)=$G(@TIUY@(TIUI))
 | 
|---|
| 48 |  S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL,0)=" "
 | 
|---|
| 49 |  K @TIUY
 | 
|---|
| 50 |  Q
 | 
|---|
| 51 | LOADTOP(TIUREC,TIUDA,TIUL,TIUGDATA,TIUCPF) ; Load top information
 | 
|---|
| 52 |  N TIUY,SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT
 | 
|---|
| 53 |  ; ---- For ID note, include Title, [Location, & Visit] with each
 | 
|---|
| 54 |  ;      entry, since they vary by entry.
 | 
|---|
| 55 |  ; ---- Follow with Date, Author, etc.
 | 
|---|
| 56 |  ; ---- For ID children in whole note display, shorten top info:
 | 
|---|
| 57 |  ;      Instead of Title, Location, Visit, Date, Author, etc.,
 | 
|---|
| 58 |  ;      use just Title, followed by just Date and Status:
 | 
|---|
| 59 |  S (SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT)=0
 | 
|---|
| 60 |  I $P(TIUGDATA,U,3) S SELCHLD=1 ; Selected record was IDchild
 | 
|---|
| 61 |  I $P(TIUGDATA,U,2) S SELPRNT=1
 | 
|---|
| 62 |  I SELCHLD,TIUDA'=$P(TIUGDATA,U,3) S CURCHLD=1 ; Current rec is IDchild
 | 
|---|
| 63 |  I SELCHLD,TIUDA=$P(TIUGDATA,U,3) S CURPRNT=1
 | 
|---|
| 64 |  I SELPRNT,TIUDA=+TIUGDATA S CURPRNT=1
 | 
|---|
| 65 |  I SELPRNT,TIUDA'=+TIUGDATA S CURCHLD=1
 | 
|---|
| 66 |  I SELPRNT,CURCHLD S SHORT=1 ;Child in whole note: shorten top info
 | 
|---|
| 67 |  I SELCHLD,CURCHLD,$G(TIUGWHOL) S SHORT=1
 | 
|---|
| 68 |  I SELCHLD!SELPRNT D IDTOP(TIUDA,.TIUL,SHORT,CURPRNT) I 1
 | 
|---|
| 69 |  S TIUY=""
 | 
|---|
| 70 |  E  I $L(TIUREC(8925,+TIUDA,.01)) D
 | 
|---|
| 71 |  . S TIUY=$$SETSTR^VALM1("LOCAL TITLE: "_TIUREC(8925,+TIUDA,.01),TIUY,2,64)
 | 
|---|
| 72 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 73 |  S TIUY=""
 | 
|---|
| 74 |  I $L($G(TIUREC(8925,+TIUDA,89261))) D
 | 
|---|
| 75 |  . S TIUY=$$SETSTR^VALM1("STANDARD TITLE: "_TIUREC(8925,+TIUDA,89261),TIUY,1,64)
 | 
|---|
| 76 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 77 |  S TIUY=""
 | 
|---|
| 78 |  I SHORT D
 | 
|---|
| 79 |  . S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),TIUY,1,39)
 | 
|---|
| 80 |  . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),TIUY,42,38)
 | 
|---|
| 81 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 82 |  S TIUY=""
 | 
|---|
| 83 |  I 'SHORT D
 | 
|---|
| 84 |  . I $L(TIUREC(8925,+TIUDA,1307)) D  I 1
 | 
|---|
| 85 |  . . S TIUY=$$SETSTR^VALM1("DICT DATE: "_TIUREC(8925,+TIUDA,1307),TIUY,4,39)
 | 
|---|
| 86 |  . E  S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),TIUY,1,39)
 | 
|---|
| 87 |  . S TIUY=$$SETSTR^VALM1("ENTRY DATE: "_TIUREC(8925,+TIUDA,1201),$G(TIUY),38,39)
 | 
|---|
| 88 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 89 |  . S TIUY=""
 | 
|---|
| 90 |  . I $L(TIUREC(8925,+TIUDA,1307)) D  I 1
 | 
|---|
| 91 |  . . S TIUY=$$SETSTR^VALM1("DICTATED BY: "_TIUREC(8925,+TIUDA,1202),TIUY,2,32)
 | 
|---|
| 92 |  . E  S TIUY=$$SETSTR^VALM1("AUTHOR: "_TIUREC(8925,+TIUDA,1202),TIUY,7,27)
 | 
|---|
| 93 |  . I +$G(^TIU(8925,+TIUDA,0))=$$CHKFILE^TIUADCL(8925.1,"OPERATION REPORT","I $P(^(0),U,4)=""DOC""") S TIUY=$$SETSTR^VALM1("    SURGEON: "_TIUREC(8925,+TIUDA,1202),TIUY,2,32)
 | 
|---|
| 94 |  . I $L(TIUREC(8925,+TIUDA,1209)) D  I 1
 | 
|---|
| 95 |  . . S TIUY=$$SETSTR^VALM1("ATTENDING: "_TIUREC(8925,+TIUDA,1209),TIUY,39,40)
 | 
|---|
| 96 |  . E  S TIUY=$$SETSTR^VALM1("EXP COSIGNER: "_TIUREC(8925,+TIUDA,1208),TIUY,36,40)
 | 
|---|
| 97 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 98 |  . S TIUY=""
 | 
|---|
| 99 |  . S TIUY=$$SETSTR^VALM1("URGENCY: "_TIUREC(8925,+TIUDA,.09),TIUY,6,36)
 | 
|---|
| 100 |  . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),TIUY,42,38)
 | 
|---|
| 101 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 102 |  ; * 173 
 | 
|---|
| 103 |  I TIUREC(8925,+TIUDA,.05)="UNCOSIGNED" D
 | 
|---|
| 104 |  . S TIUY="",TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 105 |  . S TIUY="",TIUL=TIUL+1,TIUY=$$SETSTR^VALM1("*** NOT YET COSIGNED ***",TIUY,20,51),@TIUARR@(TIUL)=TIUY
 | 
|---|
| 106 |  S TIUY=""
 | 
|---|
| 107 |  I '$L($G(^TIU(8925,+TIUDA,17))) D  I 1
 | 
|---|
| 108 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 109 |  E  D
 | 
|---|
| 110 |  . S TIUY=$$SETSTR^VALM1("SUBJECT: "_$G(^TIU(8925,+TIUDA,17)),TIUY,6,74)
 | 
|---|
| 111 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 112 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 113 |  ;If the document is a member of the Clinical Procedures Class, include the
 | 
|---|
| 114 |  ; Procedure Summary Code field and the Date/Time Performed field
 | 
|---|
| 115 |  I $G(TIUCPF) D
 | 
|---|
| 116 |  . S TIUL=TIUL+1,TIUY=""
 | 
|---|
| 117 |  . S TIUY=$$SETSTR^VALM1("PROCEDURE SUMMARY CODE: "_TIUREC(8925,+TIUDA,70201),$G(TIUY),1,54)
 | 
|---|
| 118 |  . S @TIUARR@(TIUL)=TIUY
 | 
|---|
| 119 |  . S TIUL=TIUL+1,TIUY=""
 | 
|---|
| 120 |  . S TIUY=$$SETSTR^VALM1("DATE/TIME PERFORMED: "_TIUREC(8925,+TIUDA,70202),$G(TIUY),1,41)
 | 
|---|
| 121 |  . S @TIUARR@(TIUL)=TIUY
 | 
|---|
| 122 |  . S TIUL=TIUL+1,TIUY="",@TIUARR@(TIUL)=TIUY
 | 
|---|
| 123 |  I +$$HASADDEN^TIULC1(TIUDA) D
 | 
|---|
| 124 |  . S TIUY="   *** "_$$PNAME^TIULC1(+$G(^TIU(8925,TIUDA,0)))
 | 
|---|
| 125 |  . S TIUY=TIUY_" Has ADDENDA ***"
 | 
|---|
| 126 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 127 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 128 |  ; *222 display header data for FORM LETTERS only
 | 
|---|
| 129 |  I +$$MEMBEROF^TIUPR222(+$G(^TIU(8925,+TIUDA,0)),"FORM LETTERS") D
 | 
|---|
| 130 |  . D GUIVIEW^TIUFLP1(TIUDA,"HDR",.TIUL,.TIUARR)
 | 
|---|
| 131 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 132 |  Q
 | 
|---|
| 133 |  ;
 | 
|---|
| 134 | ISCOMP(DA) ; Evaluate whether a given record is a component
 | 
|---|
| 135 |  N TIUY,TIUTYP
 | 
|---|
| 136 |  S TIUTYP=+$G(^TIU(8925,DA,0))
 | 
|---|
| 137 |  S TIUY=$S($P($G(^TIU(8925.1,+TIUTYP,0)),U,4)="CO":1,1:0)
 | 
|---|
| 138 |  Q TIUY
 | 
|---|
| 139 | IDTOP(TIUDA,TIUL,SHORT,CURPRNT) ; Load entry-specific info:
 | 
|---|
| 140 |  ;Title, [Location, Visit] for ID entry.
 | 
|---|
| 141 |  ; Called by LOADTOP
 | 
|---|
| 142 |  N TIUY,TIUX,TIU
 | 
|---|
| 143 |  I CURPRNT S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)="                         << Interdisciplinary Note >>"
 | 
|---|
| 144 |  I SHORT S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)="                      << Interdisciplinary Note - Cont. >>"
 | 
|---|
| 145 |  D GETTIU^TIULD(.TIU,+TIUDA)
 | 
|---|
| 146 |  I 'SHORT D
 | 
|---|
| 147 |  . S TIUY="",TIUX="LOCATION: "_$P($G(TIU("LOC")),U,2)
 | 
|---|
| 148 |  . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,1,31)
 | 
|---|
| 149 |  . I $L($G(TIU("WARD"))) D  I 1
 | 
|---|
| 150 |  . . S TIUX="ADMISSION DATE: "_$P($G(TIU("EDT")),U,2)
 | 
|---|
| 151 |  . . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,34,37)
 | 
|---|
| 152 |  . E  D
 | 
|---|
| 153 |  . . S TIUX="VISIT DATE: "_$P($G(TIU("EDT")),U,2)
 | 
|---|
| 154 |  . . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,38,33)
 | 
|---|
| 155 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 156 |  S TIUY="",TIUX="LOCAL TITLE: "_$P($G(TIU("DOCTYP")),U,2)
 | 
|---|
| 157 |  S TIUY=$$SETSTR^VALM1(TIUX,TIUY,1,67)
 | 
|---|
| 158 |  S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
 | 
|---|
| 159 |  Q
 | 
|---|