[623] | 1 | SCRPEC2 ;ALB/CMM - Detail List of Pts & Enroll Clinics Continued ; 29 Jun 99 04:11PM
|
---|
| 2 | ;;5.3;Scheduling;**41,140,174,177**;AUG 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | ;Detailed Listing of Patients and Their Enrolled Clinics Report
|
---|
| 5 | ;
|
---|
| 6 | PAT(TIEN,PTLIST) ;
|
---|
| 7 | ;TIEN - team ien
|
---|
| 8 | ;PTLIST - array holding patients assigned to team TIEN
|
---|
| 9 | ;
|
---|
| 10 | N PTIEN,ENT,NODE,OKAY,CLLIST,ERR,PC
|
---|
| 11 | S ENT=0,CLLIST="LIST2",ERR="ERROR2"
|
---|
| 12 | K @CLLIST
|
---|
| 13 | F S ENT=$O(@PTLIST@(ENT)) Q:ENT=""!(ENT'?.N) D
|
---|
| 14 | .S NODE=$G(@PTLIST@(ENT))
|
---|
| 15 | .Q:NODE=""
|
---|
| 16 | .S PTIEN=+$P(NODE,"^") ;patient ien
|
---|
| 17 | .S PC=$$PCASSIGN(PTIEN,TIEN)
|
---|
| 18 | .Q:PC'=ASSUN ;not selected assigned/unassigned primary care
|
---|
| 19 | .K @CLLIST
|
---|
| 20 | .S OKAY=$$CLPT^SCAPMC29(PTIEN,"","",.CLLIST,.ERR)
|
---|
| 21 | .;all clinics for patient PTIEN
|
---|
| 22 | .Q:'OKAY
|
---|
| 23 | .D KEEP(TIEN,PTIEN,.CLLIST)
|
---|
| 24 | K @CLLIST
|
---|
| 25 | Q
|
---|
| 26 | ;
|
---|
| 27 | KEEP(TIEN,PTIEN,CLLIST) ;keep data for report
|
---|
| 28 | ;TIEN - team ien
|
---|
| 29 | ;PTIEN - patient ien
|
---|
| 30 | ;CLLIST - array holding clinics for patient PTIEN
|
---|
| 31 | ;
|
---|
| 32 | N ENT,TNAME,INS,NODE,INAME,PDATA,NODE,CIEN,CNAME,PNAME
|
---|
| 33 | N SCPCPR,SCPCAP,SCI,PCLIST
|
---|
| 34 | S TNAME=$P($G(^SCTM(404.51,TIEN,0)),"^") ;team name
|
---|
| 35 | S INS=+$P($G(^SCTM(404.51,TIEN,0)),"^",7) ;institution ien
|
---|
| 36 | S INAME=$P($G(^DIC(4,INS,0)),"^") ;institution name
|
---|
| 37 | S PNAME=$P($G(^DPT(PTIEN,0)),"^") ;patient name
|
---|
| 38 | K ^TMP("SC",$J,PTIEN)
|
---|
| 39 | S SCI=$$GETALL^SCAPMCA(PTIEN) D
|
---|
| 40 | .;Name of PC Provider
|
---|
| 41 | .S SCPCPR=$P($G(^TMP("SC",$J,PTIEN,"PCPR",1)),U,2)
|
---|
| 42 | .;Name of Associate Provider
|
---|
| 43 | .S SCPCAP=$P($G(^TMP("SC",$J,PTIEN,"PCAP",1)),U,2)
|
---|
| 44 | .Q
|
---|
| 45 | ;
|
---|
| 46 | S ENT=0
|
---|
| 47 | F S ENT=$O(@CLLIST@(ENT)) Q:ENT=""!(ENT'?.N) D
|
---|
| 48 | .S NODE=$G(@CLLIST@(ENT))
|
---|
| 49 | .S CIEN=+$P(NODE,"^") ;clinic ien
|
---|
| 50 | .I CLINIC'=1,'$D(CLINIC(CIEN)) Q
|
---|
| 51 | .S CNAME=$P(NODE,"^",2) ;clinic name
|
---|
| 52 | .D SETUP(INS,INAME,TIEN,TNAME,PTIEN,PNAME,CIEN,CNAME)
|
---|
| 53 | .S PDATA=$$PDATA^SCRPEC(PTIEN,CIEN,1)
|
---|
| 54 | .S $P(PDATA,U,9)=SCPCPR,$P(PDATA,U,10)=SCPCAP
|
---|
| 55 | .;name^pid^mt^pelig^pstat^statd^last^next^pc prov.^assoc. prov.
|
---|
| 56 | .D FORMAT(PTIEN,INS,TIEN,PDATA,CNAME,CIEN)
|
---|
| 57 | Q
|
---|
| 58 | ;
|
---|
| 59 | SETUP(INS,INAME,TIEN,TNAME,PTIEN,PNAME,CIEN,CNAME) ;
|
---|
| 60 | ;INS - institution ien
|
---|
| 61 | ;INAME - institution name
|
---|
| 62 | ;TIEN - team ien
|
---|
| 63 | ;TNAME - team name
|
---|
| 64 | ;PTIEN - patient ien
|
---|
| 65 | ;PNAME - patient name
|
---|
| 66 | ;CIEN - clinic ien
|
---|
| 67 | ;CNAME - clinic name
|
---|
| 68 | ;
|
---|
| 69 | I INAME="" S INAME="[BAD DATA]"
|
---|
| 70 | I TNAME="" S TNAME="[BAD DATA]"
|
---|
| 71 | I CNAME="" S CNAME="[BAD DATA]"
|
---|
| 72 | I PNAME="" S PNAME="[BAD DATA]"
|
---|
| 73 | I '$D(@STORE@("I",INAME,INS)) S @STORE@("I",INAME,INS)="",@STORE@(INS)="Division: "_INAME
|
---|
| 74 | I '$D(@STORE@("T",INS,TNAME,TIEN)) S @STORE@("T",INS,TNAME,TIEN)="",@STORE@(INS,TIEN)="Team: "_TNAME
|
---|
| 75 | I '$D(@STORE@("C",INS,TIEN,CNAME,CIEN)) S @STORE@("C",INS,TIEN,CNAME,CIEN)="" ;D HEADER(INS,TIEN,CIEN)
|
---|
| 76 | I '$D(@STORE@("PT",INS,TIEN,CIEN,PNAME,PTIEN)) S @STORE@("PT",INS,TIEN,CIEN,PNAME,PTIEN)=""
|
---|
| 77 | Q
|
---|
| 78 | ;
|
---|
| 79 | PCASSIGN(DFN,TIEN) ;patient assigned to team as primary care
|
---|
| 80 | ;DFN - patient ien
|
---|
| 81 | ;TIEN - team ien
|
---|
| 82 | ;1 - yes
|
---|
| 83 | ;0 - no
|
---|
| 84 | ;
|
---|
| 85 | N ADATE,ENTRY,PC
|
---|
| 86 | S PC=0
|
---|
| 87 | I '$D(^SCPT(404.42,"AIDT",DFN,TIEN)) Q PC
|
---|
| 88 | S ADATE=$O(^SCPT(404.42,"AIDT",DFN,TIEN,"")) ; -team assignemtn date
|
---|
| 89 | S ENTRY=$O(^SCPT(404.42,"AIDT",DFN,TIEN,ADATE,"")) ;patient team assignemtn ien
|
---|
| 90 | I $P($G(^SCPT(404.42,+ENTRY,0)),"^",8)=1 S PC=1
|
---|
| 91 | Q PC
|
---|
| 92 | ;
|
---|
| 93 | HEADER ;report column titles
|
---|
| 94 | N HLD
|
---|
| 95 | S HLD="H0"
|
---|
| 96 | S $E(@STORE@("SUBHEADER",HLD),25)="M.T."
|
---|
| 97 | S $E(@STORE@("SUBHEADER",HLD),31)="Prim"
|
---|
| 98 | ;Removed by patch 174
|
---|
| 99 | ;S $E(@STORE@("SUBHEADER",HLD),31)="Pat"
|
---|
| 100 | ;S $E(@STORE@("SUBHEADER",HLD),36)="Status"
|
---|
| 101 | S $E(@STORE@("SUBHEADER",HLD),42)="Last"
|
---|
| 102 | S $E(@STORE@("SUBHEADER",HLD),54)="Next"
|
---|
| 103 | S $E(@STORE@("SUBHEADER",HLD),66)="Enrolled"
|
---|
| 104 | S $E(@STORE@("SUBHEADER",HLD),95)="Primary Care"
|
---|
| 105 | S $E(@STORE@("SUBHEADER",HLD),115)="Associate"
|
---|
| 106 | S HLD="H1"
|
---|
| 107 | S @STORE@("SUBHEADER",HLD)="Patient Name"
|
---|
| 108 | S $E(@STORE@("SUBHEADER",HLD),18)="Pt ID"
|
---|
| 109 | S $E(@STORE@("SUBHEADER",HLD),25)="Stat"
|
---|
| 110 | S $E(@STORE@("SUBHEADER",HLD),31)="Elig"
|
---|
| 111 | ;Removed by patch 174
|
---|
| 112 | ;S $E(@STORE@("SUBHEADER",HLD),31)="Stat"
|
---|
| 113 | ;S $E(@STORE@("SUBHEADER",HLD),36)="Date"
|
---|
| 114 | S $E(@STORE@("SUBHEADER",HLD),42)="Appt"
|
---|
| 115 | S $E(@STORE@("SUBHEADER",HLD),54)="Appt"
|
---|
| 116 | S $E(@STORE@("SUBHEADER",HLD),66)="Clinic"
|
---|
| 117 | S $E(@STORE@("SUBHEADER",HLD),95)="Provider"
|
---|
| 118 | S $E(@STORE@("SUBHEADER",HLD),115)="Provider"
|
---|
| 119 | S HLD="H2"
|
---|
| 120 | S $P(@STORE@("SUBHEADER",HLD),"=",133)=""
|
---|
| 121 | Q
|
---|
| 122 | ;
|
---|
| 123 | FORMAT(PTIEN,INS,TIEN,PDATA,CNAME,CIEN) ;format data for report
|
---|
| 124 | ;PTIEN - patient ien
|
---|
| 125 | ;INS - institution ien
|
---|
| 126 | ;TIEN - team ien
|
---|
| 127 | ;PDATA - pt name^pid^mt^pelig^pstat^statd^last^next^pc prov.^assoc. prov.
|
---|
| 128 | ;CNAME - clinic name
|
---|
| 129 | ;CIEN - clinic ien
|
---|
| 130 | ;
|
---|
| 131 | S @STORE@(INS,TIEN,CIEN,PTIEN)=$E($P(PDATA,"^"),1,15) ;patient name
|
---|
| 132 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),18)=$E($P(PDATA,"^",2),6,10) ;primary long id last 4 plus P
|
---|
| 133 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),25)=$P(PDATA,"^",3) ;means test category
|
---|
| 134 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),31)=$P(PDATA,"^",4) ;primary eligibility
|
---|
| 135 | ;Removed by patch 174
|
---|
| 136 | ;S $E(@STORE@(INS,TIEN,CIEN,PTIEN),31)=$P(PDATA,"^",5) ;patient status
|
---|
| 137 | ;S $E(@STORE@(INS,TIEN,CIEN,PTIEN),35)=$P(PDATA,"^",6) ;status date
|
---|
| 138 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),42)=$P(PDATA,"^",7) ;last appointment
|
---|
| 139 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),54)=$P(PDATA,"^",8) ;next appointment
|
---|
| 140 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),66)=$E(CNAME,1,27) ;clinic name
|
---|
| 141 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),95)=$E($P(PDATA,U,9),1,18) ;PC prov.
|
---|
| 142 | S $E(@STORE@(INS,TIEN,CIEN,PTIEN),115)=$E($P(PDATA,U,10),1,18) ;Assoc. Prov.
|
---|
| 143 | Q
|
---|
| 144 | ;
|
---|
| 145 | CHEAD(INS,TEAM,CLINIC) ;
|
---|
| 146 | ;column headings
|
---|
| 147 | ;
|
---|
| 148 | N EN,NEWP
|
---|
| 149 | W !
|
---|
| 150 | S NEWP=0
|
---|
| 151 | I IOST'?1"C-".E,$Y+5>(IOSL-6) D NEWP1^SCRPU3(.PAGE,TITL) S NEWP=1
|
---|
| 152 | I IOST?1"C-".E,$Y+5>(IOSL-6) D HOLD^SCRPU3(.PAGE,TITL) S NEWP=1
|
---|
| 153 | I STOP Q
|
---|
| 154 | I NEWP W !,$G(@STORE@(INS)),!!,$G(@STORE@(INS,TEAM)),!
|
---|
| 155 | CH2 F EN="H0","H1","H2" W !,$G(@STORE@("SUBHEADER",EN))
|
---|
| 156 | Q
|
---|
| 157 | ;
|
---|