TIUSRVG ; SLC/JER - Silent Server Calls ;12/21/94 17:50
;;1.0;TEXT INTEGRATION UTILITIES;**173**;Jun 20, 1997
MULTIPLE(TIUY,TIUDA,TIUECHO) ; Get multiple records
N TIUI,TIUX,TIULAST S TIUI=0
K ^TMP("TIUVIEW",$J)
F S TIUI=$O(TIUDA(TIUI)) Q:+TIUI'>0 D
. S TIUX=$G(TIUDA(TIUI)) D GET(.TIUY,TIUX,TIUI,+$G(TIUECHO),1)
Q
GET(TIUY,TIUDA,TIUITEM,TIUECHO,TIUACCUM) ; Get a record
N DIC,DIQ,X,Y
N TIUI,TIUJ,TIUL,TIUREC S (TIUDADD,TIUI)=0
N DA,DIC,DIQ,DR,TIUFILE,TIUNAM
K:'+$G(TIUACCUM) ^TMP("TIUVIEW",$J)
S DA=TIUDA
I '$D(^TIU(8925,+TIUDA,0)) S VALMQUIT=1,TIUY="-1^NONEXISTENT RECORD" Q
S (TIUFILE,DIC)=8925,DIQ="TIUREC("
S DR=".01;.02;.05;.07:.1;1202;1204;1301;1302;1305;1306;1501;1502;1505;1506;1601:1604"
D EN^DIQ1
I $D(TIUREC)>9 D
. W:+$G(TIUECHO) !!,"Opening "_TIUREC(8925,+TIUDA,.01)_" record for review..."
. F TIUJ=1:1:3 S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=$$SETREC(TIUJ)
. S (TIUJ,TIUL)=4,^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=" "
D LOADREC(TIUDA,TIUITEM,.TIUJ,.TIUL)
I $L($G(TIUREC(8925,+TIUDA,1601))) D
. N TIUMODE
. S TIUJ=+$G(TIUJ)+1,^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)="",TIUL=+$G(TIUL)+1
. S TIUJ=+$G(TIUJ)+1
. S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=$G(TIUREC(8925,TIUDA,1601))_" AMENDMENT FILED:"
. S TIUL=+$G(TIUL)+1
. S TIUJ=+$G(TIUJ)+1,^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)="",TIUL=+$G(TIUL)+1
. S TIUJ=+$G(TIUJ)+1
. S TIUMODE=$S($G(TIUREC(8925,TIUDA,1603))]"":"/es/ ",1:"/chart/ ")
. S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=TIUMODE_$G(TIUREC(8925,TIUDA,1602))
. S TIUL=+$G(TIUL)+1
. S TIUJ=+$G(TIUJ)+1
. ;S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=$P(TIUPRM1,U,5)
. S TIUL=+$G(TIUL)+1
I +$G(TIUACCUM) D
. S TIUJ=+$G(TIUJ)+1
. S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=" "
. S TIUL=+$G(TIUL)+1
. S TIUJ=+$G(TIUJ)+1
. S $P(^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0),"=",79)=""
. S TIUL=+$G(TIUL)+1
; S ^TMP("TIUVIEW",$J,TIUITEM,0)=$G(^TIU(8925,+TIUDA,"TEXT",0))
S TIUY="^TMP(""TIUVIEW"","_$J_")",TIUL=+$P($G(^TMP("TIUVIEW",$J,0)),U,3)+TIUL
S ^TMP("TIUVIEW",$J,0)="^^"_TIUL_U_TIUL_U_DT,VALMCNT=TIUL
Q
LOADREC(TIUDA,TIUITEM,TIUJ,TIUL,TIUDAD) ; Load ^TMP
N TIUKID,TIUDADT,TIUI S TIUI=0
F S TIUI=$O(^TIU(8925,+TIUDA,"TEXT",TIUI)) Q:+TIUI'>0 D
. S TIUJ=+$G(TIUJ)+1
. S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=$G(^TIU(8925,+TIUDA,"TEXT",+TIUI,0))
. S TIUL=+$G(TIUL)+1
S TIUKID=0
F S TIUKID=$O(^TIU(8925,"DAD",+TIUDA,TIUKID)) Q:+TIUKID'>0 D
. N TIUTYP S TIUTYP=$P($G(^TIU(8925.1,+$G(^TIU(8925,+TIUKID,0)),0)),U)
. I TIUTYP="ADDENDUM" D LOADADD(TIUKID,.TIUL) I 1
. E D LOADREC(TIUKID,TIUITEM,.TIUJ,.TIUL,TIUDA)
Q
LOADADD(TIUDADD,TIUL) ; Load addenda
N TIUDAUTH,TIUDATT,TIUJ,TIUSIG,TIUCSIG
;I +$$CANSEE^TIULP(+TIUDADD)'>0 Q
S TIUJ=0,TIUI=+$G(TIUL)+1,^TMP("TIUVIEW",$J,TIUDADD,TIUI,0)=" "
S TIUDADT=$$DATE^TIULS($P(^TIU(8925,+TIUDADD,13),U),"MM/DD/YY")
S TIUI=TIUI+1,^TMP("TIUVIEW",$J,TIUDADD,TIUI,0)=TIUDADT_" ADDENDUM:"
F S TIUJ=$O(^TIU(8925,+TIUDADD,"TEXT",TIUJ)) Q:+TIUJ'>0 D
. S (TIUI,TIUL)=+$G(TIUI)+1
. S ^TMP("TIUVIEW",$J,TIUDADD,TIUI,0)=$G(^TIU(8925,+TIUDADD,"TEXT",TIUJ,0))
S (TIUI,TIUL)=TIUL+1
S TIUSIG=$S(+$P(^TIU(8925,+TIUDADD,15),U)&($P(^(15),U,3)="E"):"/es/ ",1:" ")_$$SIGNAME^TIULS($P(^TIU(8925,+TIUDADD,15),U,2))
S TIUCSIG=$S(+$P(^TIU(8925,+TIUDADD,15),U,5)&($P(^(15),U,7)="E"):"/es/ ",1:" ")_$$SIGNAME^TIULS($P(^TIU(8925,+TIUDADD,15),U,6))
S TIUSIG=$$SETSTR^VALM1(TIUSIG,$G(TIUSIG),1,35)
S TIUSIG=$$SETSTR^VALM1(TIUCSIG,$G(TIUSIG),40,35)
S ^TMP("TIUVIEW",$J,TIUDADD,TIUI,0)=TIUSIG
S (TIUI,TIUL)=TIUL+1
S TIUDAUTH=$$SIGNAME^TIULS($P(^TIU(8925,+TIUDADD,12),U,2))
S TIUDATT=$$SIGNAME^TIULS($P(^TIU(8925,+TIUDADD,12),U,4))
S TIUDAUTH=$$SETSTR^VALM1($S(TIUSIG]" "&(TIUSIG'[TIUDAUTH):"for ",1:" ")_TIUDAUTH,$G(TIUDAUTH),1,35)
S TIUDAUTH=$$SETSTR^VALM1($S(TIUCSIG]" "&(TIUCSIG'[TIUDATT):"for ",1:" ")_TIUDATT,$G(TIUDAUTH),40,35)
S ^TMP("TIUVIEW",$J,TIUDADD,TIUI,0)=TIUDAUTH
Q
SETREC(LINE) ; Calls $$SETSTR^VALM1 for each line of ^TMP("TIUVIEW",$J,
N Y
I LINE="HDR" D
. S Y=$$SETSTR^VALM1($$NAME^TIULS(TIU("PNM"),"LAST,FI MI"),$G(Y),1,15)
. S Y=$$SETSTR^VALM1(TIU("SSN"),$G(Y),16,12)
. S Y=$$SETSTR^VALM1($P(TIU("WARD"),U,2),$G(Y),30,20)
. I +TIU("DOCTYP")=1 D
. . S Y=$$SETSTR^VALM1("Adm: "_$$DATE^TIULS(+TIU("EDT"),"MM/DD/YY"),$G(Y),51,13)
. . S Y=$$SETSTR^VALM1("Dis: "_$$DATE^TIULS(+TIU("LDT"),"MM/DD/YY"),$G(Y),66,13)
. I +TIU("DOCTYP")'=1 D
. . S Y=$$SETSTR^VALM1("Visit Date: "_$$DATE^TIULS(+TIU("EDT"),"MM/DD/YY@HR:MIN"),$G(Y),53,26)
I LINE=1 D
. S Y=$$SETSTR^VALM1("DICT DATE: "_$G(TIUREC(8925,+TIUDA,1301)),$G(Y),3,39)
. S Y=$$SETSTR^VALM1("TRANSC DATE: "_$G(TIUREC(8925,+TIUDA,1201)),$G(Y),37,39)
I LINE=2 D
. S Y=$$SETSTR^VALM1("ATTENDING: "_$G(TIUREC(8925,+TIUDA,1204)),$G(Y),39,40)
. I +$G(^TIU(8925,+TIUDA,0))=$$CHKFILE^TIUADCL(8925.1,"OPERATION REPORT","I $P(^(0),U,4)=""DOC""") S Y=$$SETSTR^VALM1("SURGEON: "_$G(TIUREC(8925,+TIUDA,1202)),$G(Y),1,32) Q
. S Y=$$SETSTR^VALM1("DICTATED BY: "_$G(TIUREC(8925,+TIUDA,1202)),$G(Y),1,32)
I LINE=3 D
. S Y=$$SETSTR^VALM1("URGENCY: "_$G(TIUREC(8925,+TIUDA,.09)),$G(Y),5,36)
. S Y=$$SETSTR^VALM1("DOC STATUS: "_$G(TIUREC(8925,+TIUDA,.05)),$G(Y),38,41)
Q Y
TIUSRVG ; SLC/JER - Silent Server Calls ;12/21/94 17:50
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**173**;Jun 20, 1997
MULTIPLE(TIUY,TIUDA,TIUECHO) ; Get multiple records
+1 NEW TIUI,TIUX,TIULAST
SET TIUI=0
+2 KILL ^TMP("TIUVIEW",$JOB)
+3 FOR
SET TIUI=$ORDER(TIUDA(TIUI))
IF +TIUI'>0
QUIT
Begin DoDot:1
+4 SET TIUX=$GET(TIUDA(TIUI))
DO GET">GET(.TIUY,TIUX,TIUI,+$GET">GET(TIUECHO),1)
End DoDot:1
+5 QUIT
GET(TIUY,TIUDA,TIUITEM,TIUECHO,TIUACCUM) ; Get a record
+1 NEW DIC,DIQ,X,Y
+2 NEW TIUI,TIUJ,TIUL,TIUREC
SET (TIUDADD,TIUI)=0
+3 NEW DA,DIC,DIQ,DR,TIUFILE,TIUNAM
+4 IF '+$GET(TIUACCUM)
KILL ^TMP("TIUVIEW",$JOB)
+5 SET DA=TIUDA
+6 IF '$DATA(^TIU(8925,+TIUDA,0))
SET VALMQUIT=1
SET TIUY="-1^NONEXISTENT RECORD"
QUIT
+7 SET (TIUFILE,DIC)=8925
SET DIQ="TIUREC("
+8 SET DR=".01;.02;.05;.07:.1;1202;1204;1301;1302;1305;1306;1501;1502;1505;1506;1601:1604"
+9 DO EN^DIQ1
+10 IF $DATA(TIUREC)>9
Begin DoDot:1
+11 IF +$GET(TIUECHO)
WRITE !!,"Opening "_TIUREC(8925,+TIUDA,.01)_" record for review..."
+12 FOR TIUJ=1:1:3
SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=$$SETREC(TIUJ)
+13 SET (TIUJ,TIUL)=4
SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=" "
End DoDot:1
+14 DO LOADREC(TIUDA,TIUITEM,.TIUJ,.TIUL)
+15 IF $LENGTH($GET(TIUREC(8925,+TIUDA,1601)))
Begin DoDot:1
+16 NEW TIUMODE
+17 SET TIUJ=+$GET(TIUJ)+1
SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=""
SET TIUL=+$GET(TIUL)+1
+18 SET TIUJ=+$GET(TIUJ)+1
+19 SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=$GET(TIUREC(8925,TIUDA,1601))_" AMENDMENT FILED:"
+20 SET TIUL=+$GET(TIUL)+1
+21 SET TIUJ=+$GET(TIUJ)+1
SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=""
SET TIUL=+$GET(TIUL)+1
+22 SET TIUJ=+$GET(TIUJ)+1
+23 SET TIUMODE=$SELECT($GET(TIUREC(8925,TIUDA,1603))]"":"/es/ ",1:"/chart/ ")
+24 SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=TIUMODE_$GET(TIUREC(8925,TIUDA,1602))
+25 SET TIUL=+$GET(TIUL)+1
+26 SET TIUJ=+$GET(TIUJ)+1
+27 ;S ^TMP("TIUVIEW",$J,TIUITEM,TIUJ,0)=$P(TIUPRM1,U,5)
+28 SET TIUL=+$GET(TIUL)+1
End DoDot:1
+29 IF +$GET(TIUACCUM)
Begin DoDot:1
+30 SET TIUJ=+$GET(TIUJ)+1
+31 SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=" "
+32 SET TIUL=+$GET(TIUL)+1
+33 SET TIUJ=+$GET(TIUJ)+1
+34 SET $PIECE(^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0),"=",79)=""
+35 SET TIUL=+$GET(TIUL)+1
End DoDot:1
+36 ; S ^TMP("TIUVIEW",$J,TIUITEM,0)=$G(^TIU(8925,+TIUDA,"TEXT",0))
+37 SET TIUY="^TMP(""TIUVIEW"","_$JOB_")"
SET TIUL=+$PIECE($GET(^TMP("TIUVIEW",$JOB,0)),U,3)+TIUL
+38 SET ^TMP("TIUVIEW",$JOB,0)="^^"_TIUL_U_TIUL_U_DT
SET VALMCNT=TIUL
+39 QUIT
LOADREC(TIUDA,TIUITEM,TIUJ,TIUL,TIUDAD) ; Load ^TMP
+1 NEW TIUKID,TIUDADT,TIUI
SET TIUI=0
+2 FOR
SET TIUI=$ORDER(^TIU(8925,+TIUDA,"TEXT",TIUI))
IF +TIUI'>0
QUIT
Begin DoDot:1
+3 SET TIUJ=+$GET(TIUJ)+1
+4 SET ^TMP("TIUVIEW",$JOB,TIUITEM,TIUJ,0)=$GET(^TIU(8925,+TIUDA,"TEXT",+TIUI,0))
+5 SET TIUL=+$GET(TIUL)+1
End DoDot:1
+6 SET TIUKID=0
+7 FOR
SET TIUKID=$ORDER(^TIU(8925,"DAD",+TIUDA,TIUKID))
IF +TIUKID'>0
QUIT
Begin DoDot:1
+8 NEW TIUTYP
SET TIUTYP=$PIECE($GET">GET(^TIU(8925.1,+$GET">GET(^TIU(8925,+TIUKID,0)),0)),U)
+9 IF TIUTYP="ADDENDUM"
DO LOADADD(TIUKID,.TIUL)
IF 1
+10 IF '$TEST
DO LOADREC(TIUKID,TIUITEM,.TIUJ,.TIUL,TIUDA)
End DoDot:1
+11 QUIT
LOADADD(TIUDADD,TIUL) ; Load addenda
+1 NEW TIUDAUTH,TIUDATT,TIUJ,TIUSIG,TIUCSIG
+2 ;I +$$CANSEE^TIULP(+TIUDADD)'>0 Q
+3 SET TIUJ=0
SET TIUI=+$GET(TIUL)+1
SET ^TMP("TIUVIEW",$JOB,TIUDADD,TIUI,0)=" "
+4 SET TIUDADT=$$DATE^TIULS($PIECE(^TIU(8925,+TIUDADD,13),U),"MM/DD/YY")
+5 SET TIUI=TIUI+1
SET ^TMP("TIUVIEW",$JOB,TIUDADD,TIUI,0)=TIUDADT_" ADDENDUM:"
+6 FOR
SET TIUJ=$ORDER(^TIU(8925,+TIUDADD,"TEXT",TIUJ))
IF +TIUJ'>0
QUIT
Begin DoDot:1
+7 SET (TIUI,TIUL)=+$GET(TIUI)+1
+8 SET ^TMP("TIUVIEW",$JOB,TIUDADD,TIUI,0)=$GET(^TIU(8925,+TIUDADD,"TEXT",TIUJ,0))
End DoDot:1
+9 SET (TIUI,TIUL)=TIUL+1
+10 SET TIUSIG=$SELECT(+$PIECE(^TIU(8925,+TIUDADD,15),U)&($PIECE(^(15),U,3)="E"):"/es/ ",1:" ")_$$SIGNAME^TIULS($PIECE(^TIU(8925,+TIUDADD,15),U,2))
+11 SET TIUCSIG=$SELECT(+$PIECE(^TIU(8925,+TIUDADD,15),U,5)&($PIECE(^(15),U,7)="E"):"/es/ ",1:" ")_$$SIGNAME^TIULS($PIECE(^TIU(8925,+TIUDADD,15),U,6))
+12 SET TIUSIG=$$SETSTR^VALM1(TIUSIG,$GET(TIUSIG),1,35)
+13 SET TIUSIG=$$SETSTR^VALM1(TIUCSIG,$GET(TIUSIG),40,35)
+14 SET ^TMP("TIUVIEW",$JOB,TIUDADD,TIUI,0)=TIUSIG
+15 SET (TIUI,TIUL)=TIUL+1
+16 SET TIUDAUTH=$$SIGNAME^TIULS($PIECE(^TIU(8925,+TIUDADD,12),U,2))
+17 SET TIUDATT=$$SIGNAME^TIULS($PIECE(^TIU(8925,+TIUDADD,12),U,4))
+18 SET TIUDAUTH=$$SETSTR^VALM1($SELECT(TIUSIG]" "&(TIUSIG'[TIUDAUTH):"for ",1:" ")_TIUDAUTH,$GET(TIUDAUTH),1,35)
+19 SET TIUDAUTH=$$SETSTR^VALM1($SELECT(TIUCSIG]" "&(TIUCSIG'[TIUDATT):"for ",1:" ")_TIUDATT,$GET(TIUDAUTH),40,35)
+20 SET ^TMP("TIUVIEW",$JOB,TIUDADD,TIUI,0)=TIUDAUTH
+21 QUIT
SETREC(LINE) ; Calls $$SETSTR^VALM1 for each line of ^TMP("TIUVIEW",$J,
+1 NEW Y
+2 IF LINE="HDR"
Begin DoDot:1
+3 SET Y=$$SETSTR^VALM1($$NAME^TIULS(TIU("PNM"),"LAST,FI MI"),$GET(Y),1,15)
+4 SET Y=$$SETSTR^VALM1(TIU("SSN"),$GET(Y),16,12)
+5 SET Y=$$SETSTR^VALM1($PIECE(TIU("WARD"),U,2),$GET(Y),30,20)
+6 IF +TIU("DOCTYP")=1
Begin DoDot:2
+7 SET Y=$$SETSTR^VALM1("Adm: "_$$DATE^TIULS(+TIU("EDT"),"MM/DD/YY"),$GET(Y),51,13)
+8 SET Y=$$SETSTR^VALM1("Dis: "_$$DATE^TIULS(+TIU("LDT"),"MM/DD/YY"),$GET(Y),66,13)
End DoDot:2
+9 IF +TIU("DOCTYP")'=1
Begin DoDot:2
+10 SET Y=$$SETSTR^VALM1("Visit Date: "_$$DATE^TIULS(+TIU("EDT"),"MM/DD/YY@HR:MIN"),$GET(Y),53,26)
End DoDot:2
End DoDot:1
+11 IF LINE=1
Begin DoDot:1
+12 SET Y=$$SETSTR^VALM1("DICT DATE: "_$GET">GET(TIUREC(8925,+TIUDA,1301)),$GET">GET(Y),3,39)
+13 SET Y=$$SETSTR^VALM1("TRANSC DATE: "_$GET">GET(TIUREC(8925,+TIUDA,1201)),$GET">GET(Y),37,39)
End DoDot:1
+14 IF LINE=2
Begin DoDot:1
+15 SET Y=$$SETSTR^VALM1("ATTENDING: "_$GET">GET(TIUREC(8925,+TIUDA,1204)),$GET">GET(Y),39,40)
+16 IF +$GET(^TIU(8925,+TIUDA,0))=$$CHKFILE^TIUADCL(8925.1,"OPERATION REPORT","I $P(^(0),U,4)=""DOC""")
SET Y=$$SETSTR^VALM1("SURGEON: "_$GET">GET(TIUREC(8925,+TIUDA,1202)),$GET">GET(Y),1,32)
QUIT
+17 SET Y=$$SETSTR^VALM1("DICTATED BY: "_$GET">GET(TIUREC(8925,+TIUDA,1202)),$GET">GET(Y),1,32)
End DoDot:1
+18 IF LINE=3
Begin DoDot:1
+19 SET Y=$$SETSTR^VALM1("URGENCY: "_$GET">GET(TIUREC(8925,+TIUDA,.09)),$GET">GET(Y),5,36)
+20 SET Y=$$SETSTR^VALM1("DOC STATUS: "_$GET">GET(TIUREC(8925,+TIUDA,.05)),$GET">GET(Y),38,41)
End DoDot:1
+21 QUIT Y