| 1 | TIUSRVR2 ; SLC/JER - RPC for record-wise GET ; 4/14/03
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;**100,109,162,222**;Jun 20, 1997
 | 
|---|
| 3 |  ; 4/12/01 Moved signature modules to new rtn TIUSRVR3
 | 
|---|
| 4 | LOADREC(TIUDA,TIUL,TIUGDATA,TIUGWHOL,ACTION) ; Load ^TMP
 | 
|---|
| 5 |  ;Requires TIUDA, array TIUL, TIUGDATA
 | 
|---|
| 6 |  ;optional TIUGWHOL = 1 if we're mid-load for browse, and we're already
 | 
|---|
| 7 |  ;                    loading the whole note after the original entry,
 | 
|---|
| 8 |  ;                    so DON'T load the whole note again.
 | 
|---|
| 9 |  N TIUKID,TIUDADT,TIUI,CANSEE
 | 
|---|
| 10 |  N TIUPARNT,TIUPNAME,TIUPDATE
 | 
|---|
| 11 |  N TIUGPRNT,TIUGPNM,TIUGPDT,TIUPDATA,TIUHASKD
 | 
|---|
| 12 |  S ACTION=$G(ACTION,"VIEW")
 | 
|---|
| 13 |  ; ---- If user cannot view, say so and quit: ----
 | 
|---|
| 14 |  ;      TIU*1*100
 | 
|---|
| 15 |  S CANSEE=$S(+$$ISCOMP^TIUSRVR1(TIUDA)>0:1,1:$$CANDO^TIULP(+TIUDA,ACTION))
 | 
|---|
| 16 |  I +CANSEE'>0 D  Q
 | 
|---|
| 17 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=$P(CANSEE,U,2)
 | 
|---|
| 18 |  ; ---- Load text of TIUDA: ----
 | 
|---|
| 19 |  S TIUI=0
 | 
|---|
| 20 |  F  S TIUI=$O(^TIU(8925,+TIUDA,"TEXT",TIUI)) Q:+TIUI'>0  D
 | 
|---|
| 21 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=$G(^TIU(8925,+TIUDA,"TEXT",+TIUI,0))
 | 
|---|
| 22 |  ; ---- if TIUDA is a COMPONENT, QUIT
 | 
|---|
| 23 |  Q:+$$ISCOMP^TIUSRVR1(TIUDA)
 | 
|---|
| 24 |  ; ---- If TIUDA **IS** an addendum, load addm signature,
 | 
|---|
| 25 |  ;         load original document, quit: ----
 | 
|---|
| 26 |  I +$$ISADDNDM^TIULC1(+TIUDA) D  Q
 | 
|---|
| 27 |  . N TIULINE,TIUPARNT S $P(TIULINE,"=",79)=""
 | 
|---|
| 28 |  . D LOADSIG^TIUSRVR3(TIUDA,.TIUL)
 | 
|---|
| 29 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 30 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIULINE
 | 
|---|
| 31 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 32 |  . S TIUPARNT=+$P(^TIU(8925,+TIUDA,0),U,6)
 | 
|---|
| 33 |  . S TIUPNAME=$$PNAME^TIULC1(+^TIU(8925,TIUPARNT,0))
 | 
|---|
| 34 |  . S TIUPDATE=+$G(^TIU(8925,TIUPARNT,13))
 | 
|---|
| 35 |  . S TIUPDATE=$$DATE^TIULS(TIUPDATE,"MM/DD/YY")
 | 
|---|
| 36 |  . S TIUPDATA=$$IDDATA^TIURECL1(TIUPARNT)
 | 
|---|
| 37 |  . S TIUHASKD=$P(TIUPDATA,U,2),TIUGPRNT=+$P(TIUPDATA,U,3)
 | 
|---|
| 38 |  . S TIUL=+$G(TIUL)+1
 | 
|---|
| 39 |  . I TIUHASKD D
 | 
|---|
| 40 |  . . S @TIUARR@(TIUL)=" --- Original Addended Interdisciplinary Entry ---"
 | 
|---|
| 41 |  . I TIUGPRNT D
 | 
|---|
| 42 |  . . S @TIUARR@(TIUL)=" --- Original Addended Interdisciplinary Entry ---"
 | 
|---|
| 43 |  . . S TIUGPNM=$$PNAME^TIULC1(+^TIU(8925,TIUGPRNT,0))
 | 
|---|
| 44 |  . . S TIUGPDT=+$G(^TIU(8925,TIUGPRNT,13))
 | 
|---|
| 45 |  . . S TIUGPDT=$$DATE^TIULS(TIUGPDT,"MM/DD/YY")
 | 
|---|
| 46 |  . I 'TIUHASKD,'TIUGPRNT S @TIUARR@(TIUL)=" --- Original Document ---"
 | 
|---|
| 47 |  . S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)=""
 | 
|---|
| 48 |  . S TIUL=+$G(TIUL)+1
 | 
|---|
| 49 |  . I TIUHASKD D
 | 
|---|
| 50 |  . . S @TIUARR@(TIUL)="                    << Addended Interdisciplinary Entry >>"
 | 
|---|
| 51 |  . . S TIUL=+$G(TIUL)+1
 | 
|---|
| 52 |  . . S @TIUARR@(TIUL)=TIUPDATE_" "_TIUPNAME_":"
 | 
|---|
| 53 |  . I TIUGPRNT D
 | 
|---|
| 54 |  . . S @TIUARR@(TIUL)="                         << Interdisciplinary Note >>"
 | 
|---|
| 55 |  . . S TIUL=+$G(TIUL)+1
 | 
|---|
| 56 |  . . S @TIUARR@(TIUL)=TIUGPDT_" "_TIUGPNM
 | 
|---|
| 57 |  . . S TIUL=+$G(TIUL)+1
 | 
|---|
| 58 |  . . S @TIUARR@(TIUL)="                    << Addended Interdisciplinary Entry >>"
 | 
|---|
| 59 |  . . S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)=TIUPDATE_" "_TIUPNAME_":"
 | 
|---|
| 60 |  . I 'TIUHASKD,'TIUGPRNT D
 | 
|---|
| 61 |  . . S @TIUARR@(TIUL)=TIUPDATE_" "_TIUPNAME_":"
 | 
|---|
| 62 |  . D LOADREC(TIUPARNT,.TIUL,TIUGDATA)
 | 
|---|
| 63 |  ; ---- Load components of TIUDA: ----
 | 
|---|
| 64 |  S TIUKID=0
 | 
|---|
| 65 |  F  S TIUKID=$O(^TIU(8925,"DAD",+TIUDA,TIUKID)) Q:+TIUKID'>0  D
 | 
|---|
| 66 |  . I +$$ISADDNDM^TIULC1(TIUKID)'>0 D LOADREC(TIUKID,.TIUL,$G(TIUGDATA))
 | 
|---|
| 67 |  ; ---- Load signature of TIUDA if TIUDA is not addm
 | 
|---|
| 68 |  ;           or comp: ----
 | 
|---|
| 69 |  ; *222 don't display sig info. for FORM LETTERS
 | 
|---|
| 70 |  I '+$$MEMBEROF^TIUPR222(+$G(^TIU(8925,+TIUDA,0)),"FORM LETTERS") D
 | 
|---|
| 71 |  . I '$$ISCOMP^TIUSRVR1(TIUDA) D LOADSIG^TIUSRVR3(TIUDA,.TIUL)
 | 
|---|
| 72 |  ; ---- Load addenda of TIUDA: ----
 | 
|---|
| 73 |  S TIUKID=0
 | 
|---|
| 74 |  F  S TIUKID=$O(^TIU(8925,"DAD",+TIUDA,TIUKID)) Q:+TIUKID'>0  D
 | 
|---|
| 75 |  . ; If acting on an addendum, don't show it again.
 | 
|---|
| 76 |  . I +TIUKID=+$G(^TMP("TIU FOCUS",$J)) Q
 | 
|---|
| 77 |  . I +$$ISADDNDM^TIULC1(TIUKID) D LOADADD(TIUKID,.TIUL)
 | 
|---|
| 78 |  N IDDAD
 | 
|---|
| 79 |  S IDDAD=+$P(TIUGDATA,U,3)
 | 
|---|
| 80 |  ; ---- If Browsed Record is an ID Note, & this cycle has
 | 
|---|
| 81 |  ;      just loaded the parent entry, then load ID kids
 | 
|---|
| 82 |  ;      and quit: **100** ----
 | 
|---|
| 83 |  I $P(TIUGDATA,U,2),TIUDA=+TIUGDATA D LOADKIDS(TIUDA,.TIUL,TIUGDATA) Q
 | 
|---|
| 84 |  ; ---- If Browsed Record is an ID Entry, & this cycle hasn't begun
 | 
|---|
| 85 |  ;      loading the whole note, then load the whole ID Note after
 | 
|---|
| 86 |  ;      the browsed entry and quit: ----
 | 
|---|
| 87 |  I IDDAD,'$G(TIUGWHOL) D  Q
 | 
|---|
| 88 |  . S TIUGWHOL=1
 | 
|---|
| 89 |  . N TIULINE S $P(TIULINE,"=",79)=""
 | 
|---|
| 90 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 91 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIULINE
 | 
|---|
| 92 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 93 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=" --- Interdisciplinary Note ---"
 | 
|---|
| 94 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 95 |  . D LOADID(IDDAD,.TIUL,TIUGDATA,TIUGWHOL)
 | 
|---|
| 96 |  ; ---- If Browsed Record is an ID Entry, & this cycle has begun
 | 
|---|
| 97 |  ;      loading the whole ID note, and is currently loading the first
 | 
|---|
| 98 |  ;      entry of the whole note, then load kids and quit: ----
 | 
|---|
| 99 |  I IDDAD,$G(TIUGWHOL),TIUDA=IDDAD D LOADKIDS(TIUDA,.TIUL,TIUGDATA,TIUGWHOL) K TIUGWHOL
 | 
|---|
| 100 |  Q
 | 
|---|
| 101 |  ;
 | 
|---|
| 102 | LOADKIDS(TIUDA,TIUL,TIUGDATA,TIUGWHOL) ; Load ID kids of TIUDA
 | 
|---|
| 103 |  ; Requires TIUDA, array TIUL, TIUGDATA
 | 
|---|
| 104 |  N TIUK,PRMSORT,KIDDA,TIUD0,TIUD21
 | 
|---|
| 105 |  I $G(^TMP("TIUR",$J,"IDDATA",TIUDA)) S PRMSORT=$P(^TMP("TIUR",$J,"IDDATA",TIUDA),U,4)
 | 
|---|
| 106 |  E  S TIUD0=$G(^TIU(8925,TIUDA,0)),TIUD21=$G(^TIU(8925,TIUDA,21)),PRMSORT=$P($$IDDATA^TIURECL1(TIUDA,TIUD0,TIUD21),U,4)
 | 
|---|
| 107 |  D GETIDKID^TIURECL2(TIUDA,PRMSORT) ; sets array ^TMP("TIUIDKID",$J,
 | 
|---|
| 108 |  S TIUK=0
 | 
|---|
| 109 |  F  S TIUK=$O(^TMP("TIUIDKID",$J,TIUDA,TIUK)) Q:+TIUK'>0  D
 | 
|---|
| 110 |  . S KIDDA=^TMP("TIUIDKID",$J,TIUDA,TIUK)
 | 
|---|
| 111 |  . D LOADID(KIDDA,.TIUL,TIUGDATA,$G(TIUGWHOL))
 | 
|---|
| 112 |  K ^TMP("TIUIDKID",$J)
 | 
|---|
| 113 |  Q
 | 
|---|
| 114 |  ;
 | 
|---|
| 115 | LOADID(TIUDA,TIUL,TIUGDATA,TIUWHOL) ; Load ID note for browse
 | 
|---|
| 116 |  N TIUREC,TIU
 | 
|---|
| 117 |  I '$D(^TIU(8925,+TIUDA,0)) Q
 | 
|---|
| 118 |  ; ---- If ID Kid has focus, don't show it again ----
 | 
|---|
| 119 |  ; I TIUDA=+$G(^TMP("TIU FOCUS",$J)) Q
 | 
|---|
| 120 |  S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 121 |  D GETTIU^TIULD(.TIU,+TIUDA)
 | 
|---|
| 122 |  D INQUIRE(TIUDA,.TIUREC)
 | 
|---|
| 123 |  ; ---- Load info missing from header since this is ID note entry: ----
 | 
|---|
| 124 |  ; ---- Load dictation, transcription data, etc.: ----
 | 
|---|
| 125 |  D LOADTOP^TIUSRVR1(.TIUREC,TIUDA,.TIUL,$G(TIUGDATA))
 | 
|---|
| 126 |  ; ---- Load the remainder of the record: ----
 | 
|---|
| 127 |  D LOADREC(TIUDA,.TIUL,$G(TIUGDATA),$G(TIUWHOL))
 | 
|---|
| 128 |  Q
 | 
|---|
| 129 |  ;
 | 
|---|
| 130 | INQUIRE(TIUDA,TIUREC,TIUCPF) ; Inquire to document TIUDA and set TIUREC
 | 
|---|
| 131 |  N DA,DIC,DIQ,DR
 | 
|---|
| 132 |  S DA=TIUDA,DIC=8925,DIQ="TIUREC("
 | 
|---|
| 133 |  S DR=".01;.02;.05;.09;1201;1202;1208;1209;1301;1307;1501;1502;1505;1506"
 | 
|---|
| 134 |  ;If the document is a member of the Clinical Procedures Class, include the
 | 
|---|
| 135 |  ;Procedure Summary Code field and the Date/Time Performed field
 | 
|---|
| 136 |  I $G(TIUCPF) S DR=DR_";70201;70202"
 | 
|---|
| 137 |  D EN^DIQ1
 | 
|---|
| 138 |  Q
 | 
|---|
| 139 | LOADADD(TIUDADD,TIUL) ; Load addenda
 | 
|---|
| 140 |  N TIUDAUTH,TIUDATT,TIUJ,TIUSIG,TIUCSIG,TIUVIEW
 | 
|---|
| 141 |  S TIUL=TIUL+1,@TIUARR@(TIUL)=""
 | 
|---|
| 142 |  S TIUDADT=$$DATE^TIULS($P($G(^TIU(8925,+TIUDADD,13)),U),"MM/DD/CCYY")
 | 
|---|
| 143 |  S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUDADT_" ADDENDUM"_"                      STATUS: "_$$STATUS^TIULF(TIUDADD) ;P162
 | 
|---|
| 144 |  S TIUVIEW=$$CANDO^TIULP(+TIUDADD,"VIEW")
 | 
|---|
| 145 |  I '+TIUVIEW D  Q
 | 
|---|
| 146 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=$P(TIUVIEW,U,2)
 | 
|---|
| 147 |  S TIUJ=0
 | 
|---|
| 148 |  F  S TIUJ=$O(^TIU(8925,+TIUDADD,"TEXT",TIUJ)) Q:+TIUJ'>0  D
 | 
|---|
| 149 |  . S TIUL=TIUL+1,@TIUARR@(TIUL)=$G(^TIU(8925,+TIUDADD,"TEXT",TIUJ,0))
 | 
|---|
| 150 |  D LOADSIG^TIUSRVR3(TIUDADD,.TIUL)
 | 
|---|
| 151 |  Q
 | 
|---|