63 lines
2.8 KiB
Mathematica
63 lines
2.8 KiB
Mathematica
|
TIUSRVLV ; SLC/JER - Server fns for lists by Visit ;28-FEB-2001 09:25:40
|
||
|
;;1.0;TEXT INTEGRATION UTILITIES;**7,47,100**;Jun 20, 1997
|
||
|
NOTES(TIUY,VISIT,STATUS) ; Gets list of Notes
|
||
|
I $S(+$G(VISIT)'>0:1,'$D(^AUPNVSIT(+$G(VISIT),0)):1,1:0) Q
|
||
|
D LIST(.TIUY,VISIT,3,$G(STATUS))
|
||
|
Q
|
||
|
SUMMARY(TIUY,VISIT,STATUS) ; Gets list of Summaries
|
||
|
I $S(+$G(VISIT)'>0:1,'$D(^AUPNVSIT(+$G(VISIT),0)):1,1:0) Q
|
||
|
D LIST(.TIUY,VISIT,244,$G(STATUS))
|
||
|
Q
|
||
|
LIST(TIUY,VISIT,CLASS,STATUS) ; Get documents for a visit
|
||
|
N TIUDA,TIUTTL,TIUCCLS,TIUCCPN S TIUDA=0
|
||
|
K ^TMP("TIULIST",$J) S TIUY=$NA(^TMP("TIULIST",$J))
|
||
|
S TIUCCLS=+$$CLASS^TIUCNSLT,TIUCCPN=+$$ISA^TIULX(TIUCCLS,3)
|
||
|
I $S(+$G(VISIT)'>0:1,'$D(^AUPNVSIT(+VISIT)):1,+$G(CLASS)'>0:1,1:0) Q
|
||
|
F S TIUDA=$O(^TIU(8925,"V",VISIT,TIUDA)) Q:+TIUDA'>0 D
|
||
|
. N TIUTTL,TIUI,TIUD0,TIUSTS S TIUI=0,TIUD0=$G(^TIU(8925,+TIUDA,0))
|
||
|
. Q:+$P(TIUD0,U,6)
|
||
|
. S TIUTTL=+TIUD0,TIUSTS=$P(TIUD0,U,5) Q:+TIUTTL'>0
|
||
|
. I +$G(STATUS),(TIUSTS'=STATUS) Q
|
||
|
. I +$$ISA^TIULX(TIUTTL,CLASS) D ADDELMNT(TIUDA,TIUI) I 1
|
||
|
. E I CLASS=3,'TIUCCPN,+$$ISA^TIULX(TIUTTL,TIUCCLS) D ADDELMNT(TIUDA,TIUI)
|
||
|
K ^TMP("TIULIST",$J,"INDX")
|
||
|
Q
|
||
|
ADDELMNT(DA,TIUCNT) ; Add each element to the list
|
||
|
N DOC,LOC,PT,AUT,EDT,TIUPT,TIULST4,TIUREC,TIUR0,TIUR12,TIUR13
|
||
|
N STATUS,EDTCNT,LOCTYP,TIUADT,TIUDDT
|
||
|
S TIUR0=$G(^TIU(8925,+DA,0)),TIUR12=$G(^TIU(8925,+DA,12))
|
||
|
S TIUR13=$G(^TIU(8925,+DA,13))
|
||
|
; If doc is an ID Child, return it's parent
|
||
|
I +$G(^TIU(8925,DA,21)) S DA=+$G(^TIU(8925,DA,21))
|
||
|
; Don't return duplicates
|
||
|
I +$O(^TMP("TIULIST",$J,"INDX",DA,0)) Q
|
||
|
S TIUPT=$G(^DPT(+$P(TIUR0,U,2),0)),DOC=$$PNAME^TIULC1(+TIUR0)
|
||
|
I DOC="Addendum" S DOC=DOC_" to "_$$PNAME^TIULC1(+$G(^TIU(8925,+$P(TIUR0,U,6),0)))
|
||
|
S STATUS=$$LOWER^TIULS($P(^TIU(8925.6,+$P(TIUR0,U,5),0),U))
|
||
|
S LOC=$G(^SC(+$P(TIUR12,U,5),0)),LOCTYP=$P(LOC,U,3),LOC=$P(LOC,U)
|
||
|
S TIUADT=$S(LOCTYP="W":"Adm: ",1:"Visit: ")_$$DATE^TIULS($P(TIUR0,U,7),"MM/DD/YY")
|
||
|
S TIUDDT=$S(+$P(TIUR0,U,8):"Dis: ",1:"")_$$DATE^TIULS($P(TIUR0,U,8),"MM/DD/YY")
|
||
|
S PT=$$NAME^TIULS($P(TIUPT,U),"LAST, FIRST MI")
|
||
|
S TIULST4=$E($P(TIUPT,U,9),6,9)
|
||
|
S TIULST4="("_$E(PT)_TIULST4_")"
|
||
|
S AUT=$$SIGNAME^TIULS(+$P(TIUR12,U,2))
|
||
|
S EDT=+TIUR13,EDTCNT=+$G(EDTCNT)+1
|
||
|
F Q:+$D(^TMP("TIULIST",$J,9999999-EDT,EDTCNT))'>0 S EDTCNT=EDTCNT+1
|
||
|
S TIUCNT=+$G(TIUCNT)+1
|
||
|
S TIUREC=DA_U_DOC_U_EDT_U_PT_" "_TIULST4_U_AUT_U_LOC_U_STATUS_U_TIUADT_U_TIUDDT
|
||
|
S ^TMP("TIULIST",$J,9999999-EDT,EDTCNT)=TIUREC
|
||
|
S ^TMP("TIULIST",$J,"INDX",DA,EDTCNT)=""
|
||
|
Q
|
||
|
DOCCNT(TIUY,DFN,VSTR,VSIT) ; Get # of Documents for a given visit
|
||
|
N TIUI,CNT S (TIUY,TIUI)=0
|
||
|
I +$G(VSIT) D Q
|
||
|
. F S TIUI=$O(^TIU(8925,"V",+VSIT,TIUI)) Q:+TIUI'>0 D
|
||
|
. . S TIUY=TIUY+1
|
||
|
I +$G(DFN),+$G(VSTR) D
|
||
|
. N TIUJ
|
||
|
. F S TIUI=$O(^TIU(8925,"AVSTRV",DFN,VSTR,TIUI)) Q:+TIUI'>0 D
|
||
|
. . S TIUJ=0
|
||
|
. . F S TIUJ=$O(^TIU(8925,"AVSTRV",DFN,VSTR,TIUI,TIUJ)) Q:+TIUJ'>0 D
|
||
|
. . . S TIUY=TIUY+1
|
||
|
Q
|