SCRPTP2 ;ALB/CMM - List of Team's Patients ; 29 Jun 99 04:11PM ;;5.3;Scheduling;**41,53,52,174,177,231**;AUG 13, 1993 ; ;List of Team's Patients Report ; TFORMAT(INST,INAME,TIEN,TNAME,PHONE,PC) ; Format team information ;INST - institution ien ;INAME - institution name ;TIEN - team ien ;TNAME - team name ;PHONE - team phone ;PC - primary care team (yes/no) ; I INAME="" S INAME="[BAD DATA]" I TNAME="" S TNAME="[BAD DATA]" S @STORE@("I",INAME,INST)="" S @STORE@("T",INST,TNAME,TIEN)="" S @STORE@(INST)="Division: "_INAME S @STORE@(INST,TIEN)="Team: "_TNAME S $E(@STORE@(INST,TIEN),45)="Team Phone: "_PHONE S @STORE@(INST,TIEN,1)="Primary Care Team: "_PC Q ; PRINTIT(STORE,TITL) ; N INST,INAME,TNAME,TIEN S (NEW,PAGE)=1,STOP=0 W:$E(IOST)="C" @IOF D TITLE^SCRPU3(.PAGE,TITL,132) ;write title D SETH ; S INAME="" F S INAME=$O(@STORE@("I",INAME)) Q:INAME=""!(STOP) D .S INST=$O(@STORE@("I",INAME,"")) .Q:INST="" .I ('NEW)&(IOST'?1"C-".E) D NEWP1^SCRPU3(.PAGE,TITL,132) .I ('NEW)&(IOST?1"C-".E) D HOLD^SCRPU3(.PAGE,TITL,132) .Q:STOP .W !,$G(@STORE@(INST)) ;write institution .S TNAME="" .F S TNAME=$O(@STORE@("T",INST,TNAME)) Q:TNAME=""!(STOP) D ..S TIEN=$O(@STORE@("T",INST,TNAME,"")) ..Q:TIEN="" ..D TPRINT(INST,TIEN) ;writes team info ..Q:STOP ..; ..I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) ..I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) ..Q:STOP ..D HEADER ..I (SORT=3)!(SORT=4) D PRACT(INST,TIEN,.NEW) ..I (SORT=1)!(SORT=2) D PTP(INST,TIEN,.NEW) K NEW,PAGE I 'STOP,$E(IOST)="C" N DIR S DIR(0)="E" W ! D ^DIR Q ; PRACT(INST,TIEN,NEW) ;Print by practitioner/patient N PNAME,PIEN,SEC2,ST1,TRD,TRDI S PNAME="",PIEN="" F S PNAME=$O(@STORE@("P",INST,TIEN,PNAME)) Q:PNAME=""!(STOP) D . F S PIEN=$O(@STORE@("P",INST,TIEN,PNAME,PIEN)) Q:PIEN=""!(STOP) D . . I (SORT=1)!(SORT=3) S SEC2="""PT""" ;sort by patient name . . I (SORT=2)!(SORT=4) S SEC2="""PID""" ;sort by last 4 PID . . S ST1=$E(STORE,1,$L(STORE)-1)_","_SEC2_")" . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . Q:STOP . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . Q:STOP . . S (TRDI,TRD)="" . . F S TRD=$O(@ST1@(INST,TIEN,TRD)) Q:TRD=""!(STOP) D . . . F S TRDI=$O(@ST1@(INST,TIEN,TRD,TRDI)) Q:TRDI=""!(STOP) D . . . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . . . Q:STOP . . . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . . . Q:STOP . . . . I $D(@STORE@(INST,TIEN,PIEN,TRDI)) W !,$G(@STORE@(INST,TIEN,PIEN,TRDI)) ;write column data . S NEW=0 Q ; PTP(INST,TIEN,NEW) ;Print by patient/practitioner N SEC2,ST1,TRDI,TRD,PNAME,PIEN I (SORT=1)!(SORT=3) S SEC2="""PT""" ;sort by patient name I (SORT=2)!(SORT=4) S SEC2="""PID""" ;sort by last 4 PID S ST1=$E(STORE,1,$L(STORE)-1)_","_SEC2_")" I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) Q:STOP S (TRDI,TRD)="" F S TRD=$O(@ST1@(INST,TIEN,TRD)) Q:TRD=""!(STOP) D . F S TRDI=$O(@ST1@(INST,TIEN,TRD,TRDI)) Q:TRDI=""!(STOP) D . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . Q:STOP . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . Q:STOP . . S PNAME="",PIEN="" . . F S PNAME=$O(@STORE@("P",INST,TIEN,PNAME)) Q:PNAME=""!(STOP)!(PIEN=0) D . . . F S PIEN=$O(@STORE@("P",INST,TIEN,PNAME,PIEN)) Q:PIEN=""!(STOP) D . . . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . . . Q:STOP . . . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER . . . . Q:STOP . . . . I $D(@STORE@(INST,TIEN,TRDI,PIEN)) W !,$G(@STORE@(INST,TIEN,TRDI,PIEN)) ;write column data . S NEW=0 Q ; TPRINT(INST,TIEN) ; ;prints team data N NXT I (IOST'?1"C-".E)&($Y>(IOSL-13)) D NEWP1^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) I (IOST?1"C-".E)&($Y>(IOSL-13)) D HOLD^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) Q:STOP W !!,$G(@STORE@(INST,TIEN)) S NXT=0 W !,$G(@STORE@(INST,TIEN,1)) ;write team info Q:'$D(@STORE@(INST,TIEN,"D")) W ! S NXT="" ;write team description F S NXT=$O(@STORE@(INST,TIEN,"D",NXT)) Q:NXT=""!(STOP) D .I (IOST'?1"C-".E)&$Y>(IOSL-13) D NEWP1^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) .I (IOST?1"C-".E)&$Y>(IOSL-13) D HOLD^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) .Q:STOP .W !,$G(@STORE@(INST,TIEN,"D",NXT)) W !!,"[Not Assigned] = Patient assigned to Team but not to a position/provider" W !,"[Inactive Position] = Patient assigned to Team & Position but has no active provider" Q ; HEADER ;prints column headings N NXT F NXT="H1","H2","H3" D .W !,$G(@STORE@(NXT)) Q ; SETH ;sets column headings S @STORE@("H2")="Patient Name" S $E(@STORE@("H2"),25)="Pt ID" S $E(@STORE@("H2"),32)="Practitioner" S $E(@STORE@("H2"),56)="Role" S $E(@STORE@("H2"),80)="PC?" S $E(@STORE@("H1"),85)="Last" S $E(@STORE@("H2"),85)="Appt." S $E(@STORE@("H1"),97)="Next" S $E(@STORE@("H2"),97)="Appt." S $E(@STORE@("H2"),109)="Associated Clinic" S $P(@STORE@("H3"),"=",133)="" Q