| 1 | SCRPTP2 ;ALB/CMM - List of Team's Patients ; 29 Jun 99  04:11PM | 
|---|
| 2 | ;;5.3;Scheduling;**41,53,52,174,177,231,526,520**;AUG 13, 1993;Build 26 | 
|---|
| 3 | ; | 
|---|
| 4 | ;List of Team's Patients Report | 
|---|
| 5 | ; | 
|---|
| 6 | TFORMAT(INST,INAME,TIEN,TNAME,PHONE,PC) ; Format team information | 
|---|
| 7 | ;INST - institution ien | 
|---|
| 8 | ;INAME - institution name | 
|---|
| 9 | ;TIEN - team ien | 
|---|
| 10 | ;TNAME - team name | 
|---|
| 11 | ;PHONE - team phone | 
|---|
| 12 | ;PC - primary care team (yes/no) | 
|---|
| 13 | ; | 
|---|
| 14 | I INAME="" S INAME="[BAD DATA]" | 
|---|
| 15 | I TNAME="" S TNAME="[BAD DATA]" | 
|---|
| 16 | S @STORE@("I",INAME,INST)="" | 
|---|
| 17 | S @STORE@("T",INST,TNAME,TIEN)="" | 
|---|
| 18 | S @STORE@(INST)="Division: "_INAME | 
|---|
| 19 | S @STORE@(INST,TIEN)="Team: "_TNAME | 
|---|
| 20 | S $E(@STORE@(INST,TIEN),45)="Team Phone: "_PHONE | 
|---|
| 21 | S @STORE@(INST,TIEN,1)="Primary Care Team: "_PC | 
|---|
| 22 | Q | 
|---|
| 23 | ; | 
|---|
| 24 | PRINTIT(STORE,TITL) ; | 
|---|
| 25 | N INST,INAME,TNAME,TIEN | 
|---|
| 26 | S (NEW,PAGE)=1,STOP=0 W:$E(IOST)="C" @IOF | 
|---|
| 27 | D TITLE^SCRPU3(.PAGE,TITL,132) ;write title | 
|---|
| 28 | D SETH | 
|---|
| 29 | ; | 
|---|
| 30 | S INAME="" | 
|---|
| 31 | F  S INAME=$O(@STORE@("I",INAME)) Q:INAME=""!(STOP)  D | 
|---|
| 32 | .S INST=$O(@STORE@("I",INAME,"")) | 
|---|
| 33 | .Q:INST="" | 
|---|
| 34 | .I ('NEW)&(IOST'?1"C-".E) D NEWP1^SCRPU3(.PAGE,TITL,132) | 
|---|
| 35 | .I ('NEW)&(IOST?1"C-".E) D HOLD^SCRPU3(.PAGE,TITL,132) | 
|---|
| 36 | .Q:STOP | 
|---|
| 37 | .W !,$G(@STORE@(INST)) ;write institution | 
|---|
| 38 | .S TNAME="" | 
|---|
| 39 | .F  S TNAME=$O(@STORE@("T",INST,TNAME)) Q:TNAME=""!(STOP)  D | 
|---|
| 40 | ..S TIEN=$O(@STORE@("T",INST,TNAME,"")) | 
|---|
| 41 | ..Q:TIEN="" | 
|---|
| 42 | ..D TPRINT(INST,TIEN) ;writes team info | 
|---|
| 43 | ..Q:STOP | 
|---|
| 44 | ..; | 
|---|
| 45 | ..I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) | 
|---|
| 46 | ..I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) | 
|---|
| 47 | ..Q:STOP | 
|---|
| 48 | ..D HEADER | 
|---|
| 49 | ..I (SORT=3)!(SORT=4) D PRACT(INST,TIEN,.NEW) | 
|---|
| 50 | ..I (SORT=1)!(SORT=2) D PTP(INST,TIEN,.NEW) | 
|---|
| 51 | K NEW,PAGE | 
|---|
| 52 | I 'STOP,$E(IOST)="C" N DIR S DIR(0)="E" W ! D ^DIR | 
|---|
| 53 | Q | 
|---|
| 54 | ; | 
|---|
| 55 | PRACT(INST,TIEN,NEW) ;Print by practitioner/patient | 
|---|
| 56 | N PNAME,PIEN,SEC2,ST1,TRD,TRDI | 
|---|
| 57 | S PNAME="",PIEN="" | 
|---|
| 58 | F  S PNAME=$O(@STORE@("P",INST,TIEN,PNAME)) Q:PNAME=""!(STOP)  D | 
|---|
| 59 | . F  S PIEN=$O(@STORE@("P",INST,TIEN,PNAME,PIEN)) Q:PIEN=""!(STOP)  D | 
|---|
| 60 | . . I (SORT=1)!(SORT=3) S SEC2="""PT""" ;sort by patient name | 
|---|
| 61 | . . I (SORT=2)!(SORT=4) S SEC2="""PID""" ;sort by last 4 PID | 
|---|
| 62 | . . S ST1=$E(STORE,1,$L(STORE)-1)_","_SEC2_")" | 
|---|
| 63 | . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 64 | . . Q:STOP | 
|---|
| 65 | . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 66 | . . Q:STOP | 
|---|
| 67 | . . S (TRDI,TRD)="" | 
|---|
| 68 | . . F  S TRD=$O(@ST1@(INST,TIEN,TRD)) Q:TRD=""!(STOP)  D | 
|---|
| 69 | . . . F  S TRDI=$O(@ST1@(INST,TIEN,TRD,TRDI)) Q:TRDI=""!(STOP)  D | 
|---|
| 70 | . . . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 71 | . . . . Q:STOP | 
|---|
| 72 | . . . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 73 | . . . . Q:STOP | 
|---|
| 74 | . . . . I $D(@STORE@(INST,TIEN,PIEN,TRDI)) W !,$G(@STORE@(INST,TIEN,PIEN,TRDI)) ;write column data | 
|---|
| 75 | . . . . N SCACL | 
|---|
| 76 | . . . . S SCACL="" F  S SCACL=$O(@STORE@(INST,TIEN,PIEN,TRDI,SCACL)) Q:SCACL=""  D | 
|---|
| 77 | . . . . . W !,$G(@STORE@(INST,TIEN,PIEN,TRDI,SCACL)) | 
|---|
| 78 | . S NEW=0 | 
|---|
| 79 | Q | 
|---|
| 80 | ; | 
|---|
| 81 | PTP(INST,TIEN,NEW) ;Print by patient/practitioner | 
|---|
| 82 | N SEC2,ST1,TRDI,TRD,PNAME,PIEN | 
|---|
| 83 | I (SORT=1)!(SORT=3) S SEC2="""PT""" ;sort by patient name | 
|---|
| 84 | I (SORT=2)!(SORT=4) S SEC2="""PID""" ;sort by last 4 PID | 
|---|
| 85 | S ST1=$E(STORE,1,$L(STORE)-1)_","_SEC2_")" | 
|---|
| 86 | I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) | 
|---|
| 87 | I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) | 
|---|
| 88 | Q:STOP | 
|---|
| 89 | S (TRDI,TRD)="" | 
|---|
| 90 | F  S TRD=$O(@ST1@(INST,TIEN,TRD)) Q:TRD=""!(STOP)  D | 
|---|
| 91 | . F  S TRDI=$O(@ST1@(INST,TIEN,TRD,TRDI)) Q:TRDI=""!(STOP)  D | 
|---|
| 92 | . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 93 | . . Q:STOP | 
|---|
| 94 | . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 95 | . . Q:STOP | 
|---|
| 96 | . . S PNAME="",PIEN="" | 
|---|
| 97 | . . F  S PNAME=$O(@STORE@("P",INST,TIEN,PNAME)) Q:PNAME=""!(STOP)!(PIEN=0)  D | 
|---|
| 98 | . . . F  S PIEN=$O(@STORE@("P",INST,TIEN,PNAME,PIEN)) Q:PIEN=""!(STOP)  D | 
|---|
| 99 | . . . . I (IOST'?1"C-".E)&($Y>(IOSL-4)) D NEWP1^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 100 | . . . . Q:STOP | 
|---|
| 101 | . . . . I (IOST?1"C-".E)&($Y>(IOSL-4)) D HOLD^SCRPU3(.PAGE,TITL,132) D:'STOP HEADER | 
|---|
| 102 | . . . . Q:STOP | 
|---|
| 103 | . . . . I $D(@STORE@(INST,TIEN,TRDI,PIEN)) W !,$G(@STORE@(INST,TIEN,TRDI,PIEN)) ;write column data | 
|---|
| 104 | . . . . N SCACL | 
|---|
| 105 | . . . . S SCACL="" F  S SCACL=$O(@STORE@(INST,TIEN,TRDI,PIEN,SCACL)) Q:SCACL=""  D | 
|---|
| 106 | . . . . . W !,$G(@STORE@(INST,TIEN,TRDI,PIEN,SCACL)) | 
|---|
| 107 | . S NEW=0 | 
|---|
| 108 | Q | 
|---|
| 109 | ; | 
|---|
| 110 | TPRINT(INST,TIEN) ; | 
|---|
| 111 | ;prints team data | 
|---|
| 112 | N NXT | 
|---|
| 113 | I (IOST'?1"C-".E)&($Y>(IOSL-13)) D NEWP1^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) | 
|---|
| 114 | I (IOST?1"C-".E)&($Y>(IOSL-13)) D HOLD^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) | 
|---|
| 115 | Q:STOP | 
|---|
| 116 | W !!,$G(@STORE@(INST,TIEN)) | 
|---|
| 117 | S NXT=0 | 
|---|
| 118 | W !,$G(@STORE@(INST,TIEN,1)) ;write team info | 
|---|
| 119 | Q:'$D(@STORE@(INST,TIEN,"D"))  W ! | 
|---|
| 120 | S NXT="" | 
|---|
| 121 | ;write team description | 
|---|
| 122 | F  S NXT=$O(@STORE@(INST,TIEN,"D",NXT)) Q:NXT=""!(STOP)  D | 
|---|
| 123 | .I (IOST'?1"C-".E)&$Y>(IOSL-13) D NEWP1^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) | 
|---|
| 124 | .I (IOST?1"C-".E)&$Y>(IOSL-13) D HOLD^SCRPU3(.PAGE,TITL,132) W:'STOP !,$G(@STORE@(INST)) | 
|---|
| 125 | .Q:STOP | 
|---|
| 126 | .W !,$G(@STORE@(INST,TIEN,"D",NXT)) | 
|---|
| 127 | W !!,"[Not Assigned] = Patient assigned to Team but not to a position/provider" | 
|---|
| 128 | W !,"[Inactive Position] = Patient assigned to Team & Position but has no active provider" | 
|---|
| 129 | Q | 
|---|
| 130 | ; | 
|---|
| 131 | HEADER ;prints column headings | 
|---|
| 132 | N NXT | 
|---|
| 133 | F NXT="H1","H2","H3" D | 
|---|
| 134 | .W !,$G(@STORE@(NXT)) | 
|---|
| 135 | Q | 
|---|
| 136 | ; | 
|---|
| 137 | SETH ;sets column headings | 
|---|
| 138 | S @STORE@("H2")="Patient Name" | 
|---|
| 139 | S $E(@STORE@("H2"),18)="Pt ID" | 
|---|
| 140 | S $E(@STORE@("H2"),32)="Practitioner" | 
|---|
| 141 | S $E(@STORE@("H2"),56)="Role" | 
|---|
| 142 | S $E(@STORE@("H2"),80)="PC?" | 
|---|
| 143 | S $E(@STORE@("H1"),85)="Last" | 
|---|
| 144 | S $E(@STORE@("H2"),85)="Appt." | 
|---|
| 145 | S $E(@STORE@("H1"),97)="Next" | 
|---|
| 146 | S $E(@STORE@("H2"),97)="Appt." | 
|---|
| 147 | S $E(@STORE@("H2"),109)="Associated Clinic" | 
|---|
| 148 | S $P(@STORE@("H3"),"=",133)="" | 
|---|
| 149 | Q | 
|---|