VistA-FOIAVistA/r/TEXT_INTEGRATION_UTILITIES-.../TIUSRVG.m

105 lines
5.0 KiB
Mathematica

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