1 | SPNLRJO ;ISC-SF/GB-SCD IP/OP REPORT (PRINT OP) ;4 JUNE 94 [ 08/08/94 12:37 PM ]
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | OUTPAT(TITLE,PAGELEN,HIUSERS,ABORT) ;
|
---|
4 | ; PAGELEN Number of lines per page
|
---|
5 | ; TITLE Array of header lines (titles)
|
---|
6 | S TITLE(3)=$$CENTER^SPNLRU("Outpatient Activity")
|
---|
7 | D POP1 Q:ABORT
|
---|
8 | D POP2 Q:ABORT
|
---|
9 | D:HIUSERS POP3
|
---|
10 | Q
|
---|
11 | POP1 ;
|
---|
12 | ; VISITS Number of visits
|
---|
13 | N VISITS,OUT,LINE,STARTLIN,COL,STOPS,NPATS
|
---|
14 | S TITLE(5)=""
|
---|
15 | S NPATS=+$G(^TMP("SPN",$J,"OP","PAT"))
|
---|
16 | S VISITS=+$G(^TMP("SPN",$J,"OP","VISITS"))
|
---|
17 | S STOPS=+$G(^TMP("SPN",$J,"OP","STOPS"))
|
---|
18 | S TITLE(6)=$$CENTER^SPNLRU("Totals: "_$FN(NPATS,",")_" patient"_$S(NPATS=1:"",1:"s")_" for "_$FN(VISITS,",")_" visit"_$S(VISITS=1:"",1:"s")_" ("_$FN(STOPS,",")_" stop"_$S(STOPS=1:"",1:"s")_")")
|
---|
19 | S VISITS=+$O(^TMP("SPN",$J,"OP","VISITS",""))
|
---|
20 | F D Q:VISITS=""!(ABORT)
|
---|
21 | . D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
22 | . K OUT,TITLE(5),TITLE(6)
|
---|
23 | . S STARTLIN=$Y
|
---|
24 | . S OUT(STARTLIN+1)=""
|
---|
25 | . F COL=1:1:3 D Q:VISITS=""
|
---|
26 | . . S OUT(STARTLIN)=$G(OUT(STARTLIN))_" Patients Visits "
|
---|
27 | . . F LINE=STARTLIN+2:1:PAGELEN D Q:VISITS=""
|
---|
28 | . . . S OUT(LINE)=$G(OUT(LINE))_$J($FN($G(^TMP("SPN",$J,"OP","VISITS",VISITS)),","),11)_$J($FN(-VISITS,","),10)_" "
|
---|
29 | . . . S VISITS=$O(^TMP("SPN",$J,"OP","VISITS",VISITS))
|
---|
30 | . S LINE=""
|
---|
31 | . F S LINE=$O(OUT(LINE)) Q:LINE="" D
|
---|
32 | . . W !,OUT(LINE)
|
---|
33 | Q
|
---|
34 | POP2 ;
|
---|
35 | ; SCNUM Clinic Stop Code Number
|
---|
36 | ; SCNAME Clinic Stop Code Name
|
---|
37 | ; NPATS Number of patients who stopped at this stop code
|
---|
38 | ; VISITS Number of visits made to this stop code
|
---|
39 | ; STOPS Number of stops made at this stop code
|
---|
40 | N SCNUM,SCNAME,NPATS,STOPS,VISITS
|
---|
41 | S TITLE(5)=""
|
---|
42 | S TITLE(6)="Clinic Patients Visits Stops"
|
---|
43 | D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
44 | S SCNUM=""
|
---|
45 | F S SCNUM=$O(^TMP("SPN",$J,"OP","SC",SCNUM)) Q:SCNUM="" D Q:ABORT
|
---|
46 | . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
47 | . S NPATS=^TMP("SPN",$J,"OP","SC",SCNUM)
|
---|
48 | . S STOPS=^TMP("SPN",$J,"OP","SC",SCNUM,"STOPS")
|
---|
49 | . S VISITS=^TMP("SPN",$J,"OP","SC",SCNUM,"VISITS")
|
---|
50 | . S SCNAME=^TMP("SPN",$J,"OP","SC",SCNUM,"NAME")
|
---|
51 | . W !,$J(SCNUM,3),". ",SCNAME,?40,$J($FN(NPATS,","),13),$J($FN(VISITS,",",2),13),$J($FN(STOPS,","),13)
|
---|
52 | K TITLE(5),TITLE(6)
|
---|
53 | Q
|
---|
54 | POP3 ;
|
---|
55 | ; I High user counter
|
---|
56 | ; PID Patient ID
|
---|
57 | ; PNAME Patient Name
|
---|
58 | ; PSSN Patient SSN
|
---|
59 | ; VISITS Number of visits made to this stop code
|
---|
60 | ; NDSCNUMS Number of different stop codes
|
---|
61 | N VISITS,PID,PNAME,PSSN,I,NDSCNUMS
|
---|
62 | S TITLE(5)=""
|
---|
63 | S TITLE(6)=$$CENTER^SPNLRU("Highest Utilization of Visits")
|
---|
64 | S TITLE(7)=""
|
---|
65 | S TITLE(8)=" Different"
|
---|
66 | S TITLE(9)="Patient Name SSN Visits Stop Codes"
|
---|
67 | D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
68 | S VISITS=""
|
---|
69 | F I=1:1:HIUSERS S VISITS=$O(^TMP("SPN",$J,"OP","HI","H1",VISITS)) Q:VISITS="" D Q:ABORT
|
---|
70 | . S NDSCNUMS=""
|
---|
71 | . F S NDSCNUMS=$O(^TMP("SPN",$J,"OP","HI","H1",VISITS,NDSCNUMS)) Q:NDSCNUMS="" D Q:ABORT
|
---|
72 | . . S PID=""
|
---|
73 | . . F S PID=$O(^TMP("SPN",$J,"OP","HI","H1",VISITS,NDSCNUMS,PID)) Q:PID="" D Q:ABORT
|
---|
74 | . . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
75 | . . . D GETNAME^SPNLRU(PID,.PNAME,.PSSN)
|
---|
76 | . . . W !,PNAME,?32,PSSN,?53,$J($FN(-VISITS,","),6),?68,$J(-NDSCNUMS,5)
|
---|
77 | K TITLE(5),TITLE(6),TITLE(7),TITLE(8),TITLE(9)
|
---|
78 | Q
|
---|