| 1 | SCRPEC ;ALB/CMM - Detail List of Pts & Enroll Clinics ; 29 Jun 99  04:11PM | 
|---|
| 2 | ;;5.3;Scheduling;**41,140,174,177,431**;AUG 13, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | ;Detailed Listing of Patients and Their Enrolled Clinics Report | 
|---|
| 5 | ; | 
|---|
| 6 | PROMPTS ; | 
|---|
| 7 | ;Prompt for Institution, Team, Clinic, Assigned or Unassigned to Primary | 
|---|
| 8 | ;Care, and Print device | 
|---|
| 9 | ; | 
|---|
| 10 | N VAUTD,VAUTT,VAUTC,VAUTA,QTIME,PRNT | 
|---|
| 11 | K VAUTD,VAUTT,VAUTC,VAUTA,VAUTCA,SCUP | 
|---|
| 12 | S QTIME="" | 
|---|
| 13 | W ! D INST^SCRPU1 I Y=-1 G ERR | 
|---|
| 14 | W ! K Y D PRMTT^SCRPU1 I '$D(VAUTT) G ERR | 
|---|
| 15 | ;S VAUTCA="" ;allows for selection of any clinic in one of the selected divisions | 
|---|
| 16 | W ! K Y D CLINIC^SCRPU1 I '$D(VAUTC) G ERR | 
|---|
| 17 | W ! K Y D ASSUN^SCRPU2 I '$D(VAUTA) G ERR | 
|---|
| 18 | W !!,"This report requires 132 column output!" | 
|---|
| 19 | D QUE(.VAUTD,.VAUTT,.VAUTC,.VAUTA) Q | 
|---|
| 20 | ; | 
|---|
| 21 | QUE(INST,TEAM,CLINIC,ASSUN) ;queue report | 
|---|
| 22 | ;Input Parameters: | 
|---|
| 23 | ;INST - institutions selected (variable and array) | 
|---|
| 24 | ;TEAM - teams selected (variable and array) | 
|---|
| 25 | ;CLINIC - clinics selected (variable and array) | 
|---|
| 26 | ;ASSUN - Assigned or Unassigned to PC | 
|---|
| 27 | N ZTSAVE,II | 
|---|
| 28 | F II="INST","TEAM","CLINIC","ASSUN","INST(","TEAM(","CLINIC(" S ZTSAVE(II)="" | 
|---|
| 29 | W ! D EN^XUTMDEVQ("QENTRY^SCRPEC","Detailed Patient Enrollments",.ZTSAVE) | 
|---|
| 30 | Q | 
|---|
| 31 | ; | 
|---|
| 32 | ENTRY2(INST,TEAM,CLINIC,ASSUN,IOP,ZTDTH) ; | 
|---|
| 33 | ;Second entry point for GUI to use | 
|---|
| 34 | ;Input Parameters: | 
|---|
| 35 | ;INST - institutions selected (variable and array) | 
|---|
| 36 | ;TEAM - teams selected (variable and array) | 
|---|
| 37 | ;CLINIC - clinics selected (variable and array) | 
|---|
| 38 | ;ASSUN - Assigned or Unassigned to PC | 
|---|
| 39 | ;IOP - print device | 
|---|
| 40 | ;ZTDTH - queue time (optional) | 
|---|
| 41 | ; | 
|---|
| 42 | ;validate parameters | 
|---|
| 43 | I '$D(INST)!'$D(TEAM)!'$D(CLINIC)!'$D(ASSUN)!'$D(IOP)!(IOP="") Q | 
|---|
| 44 | ; | 
|---|
| 45 | N NUMBER | 
|---|
| 46 | S IOST=$P(IOP,"^",2),IOP=$P(IOP,"^") | 
|---|
| 47 | I IOP?1"Q;".E S IOP=$P(IOP,"Q;",2) | 
|---|
| 48 | I IOST?1"C-".E D QENTRY G RET | 
|---|
| 49 | I ZTDTH="" S ZTDTH=$H | 
|---|
| 50 | S ZTRTN="QENTRY^SCRPEC" | 
|---|
| 51 | S ZTDESC="Detailed Patient List & Enrolled Clinics",ZTIO=IOP | 
|---|
| 52 | N II | 
|---|
| 53 | F II="INST","TEAM","CLINIC","ASSUN","INST(","TEAM(","CLINIC(","IOP" S ZTSAVE(II)="" | 
|---|
| 54 | D ^%ZTLOAD | 
|---|
| 55 | RET S NUMBER=0 | 
|---|
| 56 | I $D(ZTSK) S NUMBER=ZTSK | 
|---|
| 57 | D EXIT1 | 
|---|
| 58 | Q NUMBER | 
|---|
| 59 | ; | 
|---|
| 60 | QENTRY ; | 
|---|
| 61 | ;driver entry point | 
|---|
| 62 | S VAUTTN="" | 
|---|
| 63 | S TITL="Detailed Patient Assignments - "_$S(ASSUN=1:"Assigned PC",1:"Not Assigned PC") | 
|---|
| 64 | S STORE="^TMP("_$J_",""SCRPEC"")" | 
|---|
| 65 | K @STORE | 
|---|
| 66 | S @STORE=0 | 
|---|
| 67 | D FIND^SCRPEC3 | 
|---|
| 68 | I $O(@STORE@(0))="" S NODATA=$$NODATA^SCRPU3(TITL) | 
|---|
| 69 | I '$D(NODATA) D HEADER^SCRPEC2,PRINTIT^SCRPEC3(STORE,TITL) | 
|---|
| 70 | D EXIT2 | 
|---|
| 71 | Q | 
|---|
| 72 | ; | 
|---|
| 73 | ERR ; | 
|---|
| 74 | EXIT1 ; | 
|---|
| 75 | K ZTSAVE,ZTSK,ZTIO,ZTDTH,ZTRTN,ZTDESC,VAUTCA,SCUP | 
|---|
| 76 | Q | 
|---|
| 77 | EXIT2 ; | 
|---|
| 78 | K @STORE | 
|---|
| 79 | K STORE,VAUTTN,PAGE,TITL,IOP,TITL,NODATA,CLINIC,ASSUN,INST,TEAM,STOP | 
|---|
| 80 | Q | 
|---|
| 81 | ; | 
|---|
| 82 | PDATA(DFN,CLNEN,FLAG) ; | 
|---|
| 83 | ;Collect and format data for report | 
|---|
| 84 | ; | 
|---|
| 85 | N NODE,NAME,PID,PELIG,MT,PSTAT,STATD,DATA,LAST,NEXT,CEN,CNAME | 
|---|
| 86 | S DATA="" | 
|---|
| 87 | S NODE=$G(^DPT(DFN,0)) | 
|---|
| 88 | S NAME=$P(NODE,"^") ;patient name | 
|---|
| 89 | S PID=$P($G(^DPT(DFN,.36)),"^",3),PID=$TR(PID,"-","") ;PID without '-'s | 
|---|
| 90 | S MT=$$LST^DGMTU(DFN),MT=$P(MT,"^",4)  ;means test status SD*5.3*431 | 
|---|
| 91 | S PELIG=$$ELIG^SCRPU3(DFN) ;primary eligibility | 
|---|
| 92 | ; | 
|---|
| 93 | S CNAME=$P($G(^SC(CLNEN,0)),"^") | 
|---|
| 94 | S CEN=+$O(^DPT(DFN,"DE","B",CLNEN,"")) | 
|---|
| 95 | S NODE=$G(^DPT(DFN,"DE",CEN,1,1,0)) | 
|---|
| 96 | S PSTAT=$P(NODE,"^",2) S PSTAT=PSTAT_$S(PSTAT="A":"C",PSTAT="O":"PT",1:"") ;opt or ac status | 
|---|
| 97 | I $P(NODE,"^")="" S STATD="" | 
|---|
| 98 | I $P(NODE,"^")'="" S STATD=$TR($$FMTE^XLFDT($P(NODE,"^"),"5DF")," ","0") ;enrollment date | 
|---|
| 99 | S LAST=$$GETLAST^SCRPU3(DFN,CLNEN) ;last clinic appointment | 
|---|
| 100 | S NEXT=$$GETNEXT^SCRPU3(DFN,CLNEN) ;next clinic appointment | 
|---|
| 101 | I '$D(FLAG) S DATA=$$FORMAT^SCRPEC2(NAME,PID,MT,PELIG,PSTAT,STATD,LAST,NEXT,CNAME),DATA=$E(NAME,1,20)_"^"_DATA | 
|---|
| 102 | I $D(FLAG) S DATA=$E(NAME,1,20)_"^"_PID_"^"_MT_"^"_PELIG_"^"_PSTAT_"^"_STATD_"^"_LAST_"^"_NEXT | 
|---|
| 103 | Q DATA | 
|---|
| 104 | ; | 
|---|