- 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
- TIUSRVLV ; SLC/JER - Server fns for lists by Visit ;28-FEB-2001 09:25:40
- +1 ;;1.0;TEXT INTEGRATION UTILITIES;**7,47,100**;Jun 20, 1997
- NOTES(TIUY,VISIT,STATUS) ; Gets list of Notes
- +1 IF $SELECT(+$GET(VISIT)'>0:1,'$DATA(^AUPNVSIT(+$GET(VISIT),0)):1,1:0)
- QUIT
- +2 DO LIST(.TIUY,VISIT,3,$GET(STATUS))
- +3 QUIT
- SUMMARY(TIUY,VISIT,STATUS) ; Gets list of Summaries
- +1 IF $SELECT(+$GET(VISIT)'>0:1,'$DATA(^AUPNVSIT(+$GET(VISIT),0)):1,1:0)
- QUIT
- +2 DO LIST(.TIUY,VISIT,244,$GET(STATUS))
- +3 QUIT
- LIST(TIUY,VISIT,CLASS,STATUS) ; Get documents for a visit
- +1 NEW TIUDA,TIUTTL,TIUCCLS,TIUCCPN
- SET TIUDA=0
- +2 KILL ^TMP("TIULIST",$JOB)
- SET TIUY=$NAME(^TMP("TIULIST",$JOB))
- +3 SET TIUCCLS=+$$CLASS^TIUCNSLT
- SET TIUCCPN=+$$ISA^TIULX(TIUCCLS,3)
- +4 IF $SELECT(+$GET(VISIT)'>0:1,'$DATA(^AUPNVSIT(+VISIT)):1,+$GET(CLASS)'>0:1,1:0)
- QUIT
- +5 FOR
- SET TIUDA=$ORDER(^TIU(8925,"V",VISIT,TIUDA))
- IF +TIUDA'>0
- QUIT
- Begin DoDot:1
- +6 NEW TIUTTL,TIUI,TIUD0,TIUSTS
- SET TIUI=0
- SET TIUD0=$GET(^TIU(8925,+TIUDA,0))
- +7 IF +$PIECE(TIUD0,U,6)
- QUIT
- +8 SET TIUTTL=+TIUD0
- SET TIUSTS=$PIECE(TIUD0,U,5)
- IF +TIUTTL'>0
- QUIT
- +9 IF +$GET(STATUS)
- IF (TIUSTS'=STATUS)
- QUIT
- +10 IF +$$ISA^TIULX(TIUTTL,CLASS)
- DO ADDELMNT(TIUDA,TIUI)
- IF 1
- +11 IF '$TEST
- IF CLASS=3
- IF 'TIUCCPN
- IF +$$ISA^TIULX(TIUTTL,TIUCCLS)
- DO ADDELMNT(TIUDA,TIUI)
- End DoDot:1
- +12 KILL ^TMP("TIULIST",$JOB,"INDX")
- +13 QUIT
- ADDELMNT(DA,TIUCNT) ; Add each element to the list
- +1 NEW DOC,LOC,PT,AUT,EDT,TIUPT,TIULST4,TIUREC,TIUR0,TIUR12,TIUR13
- +2 NEW STATUS,EDTCNT,LOCTYP,TIUADT,TIUDDT
- +3 SET TIUR0=$GET(^TIU(8925,+DA,0))
- SET TIUR12=$GET(^TIU(8925,+DA,12))
- +4 SET TIUR13=$GET(^TIU(8925,+DA,13))
- +5 ; If doc is an ID Child, return it's parent
- +6 IF +$GET(^TIU(8925,DA,21))
- SET DA=+$GET(^TIU(8925,DA,21))
- +7 ; Don't return duplicates
- +8 IF +$ORDER(^TMP("TIULIST",$JOB,"INDX",DA,0))
- QUIT
- +9 SET TIUPT=$GET(^DPT(+$PIECE(TIUR0,U,2),0))
- SET DOC=$$PNAME^TIULC1(+TIUR0)
- +10 IF DOC="Addendum"
- SET DOC=DOC_" to "_$$PNAME^TIULC1(+$GET(^TIU(8925,+$PIECE(TIUR0,U,6),0)))
- +11 SET STATUS=$$LOWER^TIULS($PIECE(^TIU(8925.6,+$PIECE(TIUR0,U,5),0),U))
- +12 SET LOC=$GET(^SC(+$PIECE(TIUR12,U,5),0))
- SET LOCTYP=$PIECE(LOC,U,3)
- SET LOC=$PIECE(LOC,U)
- +13 SET TIUADT=$SELECT(LOCTYP="W":"Adm: ",1:"Visit: ")_$$DATE^TIULS($PIECE(TIUR0,U,7),"MM/DD/YY")
- +14 SET TIUDDT=$SELECT(+$PIECE(TIUR0,U,8):"Dis: ",1:"")_$$DATE^TIULS($PIECE(TIUR0,U,8),"MM/DD/YY")
- +15 SET PT=$$NAME^TIULS($PIECE(TIUPT,U),"LAST, FIRST MI")
- +16 SET TIULST4=$EXTRACT($PIECE(TIUPT,U,9),6,9)
- +17 SET TIULST4="("_$EXTRACT(PT)_TIULST4_")"
- +18 SET AUT=$$SIGNAME^TIULS(+$PIECE(TIUR12,U,2))
- +19 SET EDT=+TIUR13
- SET EDTCNT=+$GET(EDTCNT)+1
- +20 FOR
- IF +$DATA(^TMP("TIULIST",$JOB,9999999-EDT,EDTCNT))'>0
- QUIT
- SET EDTCNT=EDTCNT+1
- +21 SET TIUCNT=+$GET(TIUCNT)+1
- +22 SET TIUREC=DA_U_DOC_U_EDT_U_PT_" "_TIULST4_U_AUT_U_LOC_U_STATUS_U_TIUADT_U_TIUDDT
- +23 SET ^TMP("TIULIST",$JOB,9999999-EDT,EDTCNT)=TIUREC
- +24 SET ^TMP("TIULIST",$JOB,"INDX",DA,EDTCNT)=""
- +25 QUIT
- DOCCNT(TIUY,DFN,VSTR,VSIT) ; Get # of Documents for a given visit
- +1 NEW TIUI,CNT
- SET (TIUY,TIUI)=0
- +2 IF +$GET(VSIT)
- Begin DoDot:1
- +3 FOR
- SET TIUI=$ORDER(^TIU(8925,"V",+VSIT,TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:2
- +4 SET TIUY=TIUY+1
- End DoDot:2
- End DoDot:1
- QUIT
- +5 IF +$GET(DFN)
- IF +$GET(VSTR)
- Begin DoDot:1
- +6 NEW TIUJ
- +7 FOR
- SET TIUI=$ORDER(^TIU(8925,"AVSTRV",DFN,VSTR,TIUI))
- IF +TIUI'>0
- QUIT
- Begin DoDot:2
- +8 SET TIUJ=0
- +9 FOR
- SET TIUJ=$ORDER(^TIU(8925,"AVSTRV",DFN,VSTR,TIUI,TIUJ))
- IF +TIUJ'>0
- QUIT
- Begin DoDot:3
- +10 SET TIUY=TIUY+1
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +11 QUIT