1 | SPNLRM1 ;ISC-SF/GB-SCD RADIOLOGY UTILIZATION REPORT (PRINT PART 1 OF 2) ;5 JUN 94 [ 08/23/94 10:04 AM ]
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | P1(TITLE,PAGELEN,ABORT) ;
|
---|
4 | ; CPTCODE Code of radiology procedure
|
---|
5 | ; NPROCS Number of procedures
|
---|
6 | ; NDPROCS Number of different procedures
|
---|
7 | N NPROCS,NDPROCS,CPTCODE,OUT,LINE,STARTLIN,COL,NPATS
|
---|
8 | S TITLE(4)=""
|
---|
9 | S NPROCS=+$G(^TMP("SPN",$J,"RA","EXAMS"))
|
---|
10 | S NPATS=+$G(^TMP("SPN",$J,"RA","PAT"))
|
---|
11 | S TITLE(5)=$$CENTER^SPNLRU("Totals: "_$FN(NPROCS,",")_" procedure"_$S(NPROCS=1:"",1:"s")_" reported for "_$FN(NPATS,",")_" patient"_$S(NPATS=1:"",1:"s"))
|
---|
12 | S CPTCODE=""
|
---|
13 | F NDPROCS=0:1 S CPTCODE=$O(^TMP("SPN",$J,"RA","PROC",CPTCODE)) Q:CPTCODE=""
|
---|
14 | S:NDPROCS=1&(NPROCS>1) TITLE(6)=$$CENTER^SPNLRU("(This includes just one type of procedure)")
|
---|
15 | S:NDPROCS>1 TITLE(6)=$$CENTER^SPNLRU("(These include "_$FN(NDPROCS,",")_" different procedures)")
|
---|
16 | S NPROCS=+$O(^TMP("SPN",$J,"RA","EXAMS",""))
|
---|
17 | F D Q:NPROCS=""!(ABORT)
|
---|
18 | . D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
19 | . K OUT,TITLE(4),TITLE(5),TITLE(6)
|
---|
20 | . S STARTLIN=$Y
|
---|
21 | . S OUT(STARTLIN+1)=""
|
---|
22 | . F COL=1:1:3 D Q:NPROCS=""
|
---|
23 | . . S OUT(STARTLIN)=$G(OUT(STARTLIN))_" Patients Procedures "
|
---|
24 | . . F LINE=STARTLIN+2:1:PAGELEN D Q:NPROCS=""
|
---|
25 | . . . S OUT(LINE)=$G(OUT(LINE))_$J($FN(+$G(^TMP("SPN",$J,"RA","EXAMS",NPROCS)),","),10)_$J($FN(-NPROCS,","),12)_" "
|
---|
26 | . . . S NPROCS=$O(^TMP("SPN",$J,"RA","EXAMS",NPROCS))
|
---|
27 | . S LINE=""
|
---|
28 | . F S LINE=$O(OUT(LINE)) Q:LINE="" D
|
---|
29 | . . W !,OUT(LINE)
|
---|
30 | Q
|
---|
31 | P2(TITLE,PAGELEN,QLIST,ABORT) ;
|
---|
32 | N NPATS,NPROCS,CPTCODE,NAME,COST
|
---|
33 | S TITLE(4)=""
|
---|
34 | S TITLE(5)=$$CENTER^SPNLRU($FN(QLIST("MINNUM"),",")_" or More Procedures")
|
---|
35 | S TITLE(6)=""
|
---|
36 | S TITLE(7)="Radiology Procedure CPT Code Procedures Value Patients"
|
---|
37 | D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
38 | S CPTCODE=""
|
---|
39 | F S CPTCODE=$O(^TMP("SPN",$J,"RA","PROC",CPTCODE)) Q:CPTCODE="" D
|
---|
40 | . S NPROCS=^TMP("SPN",$J,"RA","PROC",CPTCODE)
|
---|
41 | . Q:NPROCS<QLIST("MINNUM")
|
---|
42 | . S COST=^TMP("SPN",$J,"RA","PROC",CPTCODE,"VAL")
|
---|
43 | . S NPATS=^TMP("SPN",$J,"RA","PROC",CPTCODE,"PAT")
|
---|
44 | . S NAME=^TMP("SPN",$J,"RA","PROC",CPTCODE,"NAME")
|
---|
45 | . S ^TMP("SPN",$J,"RA","OUT",-NPROCS,-COST,-NPATS,NAME)=CPTCODE
|
---|
46 | S NPROCS=""
|
---|
47 | F S NPROCS=$O(^TMP("SPN",$J,"RA","OUT",NPROCS)) Q:NPROCS="" D Q:ABORT
|
---|
48 | . S COST=""
|
---|
49 | . F S COST=$O(^TMP("SPN",$J,"RA","OUT",NPROCS,COST)) Q:COST="" D Q:ABORT
|
---|
50 | . . S NPATS=""
|
---|
51 | . . F S NPATS=$O(^TMP("SPN",$J,"RA","OUT",NPROCS,COST,NPATS)) Q:NPATS="" D Q:ABORT
|
---|
52 | . . . S NAME=""
|
---|
53 | . . . F S NAME=$O(^TMP("SPN",$J,"RA","OUT",NPROCS,COST,NPATS,NAME)) Q:NAME="" D Q:ABORT
|
---|
54 | . . . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
55 | . . . . S CPTCODE=^TMP("SPN",$J,"RA","OUT",NPROCS,COST,NPATS,NAME)
|
---|
56 | . . . . W !,NAME,?39,$S(CPTCODE=0:"",1:$J(CPTCODE,5)),?47,$J($FN(-NPROCS,","),11),?58,$J($FN(-COST,",",2),10),?69,$J($FN(-NPATS,","),10)
|
---|
57 | K ^TMP("SPN",$J,"RA","OUT")
|
---|
58 | K TITLE(4),TITLE(5),TITLE(6),TITLE(7)
|
---|
59 | Q
|
---|
60 | P3(TITLE,PAGELEN,QLIST,ABORT) ;
|
---|
61 | N NPATS,NAME,NPROCS,LCOST,TCOST,COST,CPTCODE
|
---|
62 | S TITLE(4)=""
|
---|
63 | S TITLE(5)=$$CENTER^SPNLRU("Radiology procedures totaling $"_$FN(QLIST("MINCOST"),",",2)_" or more")
|
---|
64 | ; TITLE(5)=" 1 2 3 4 5 6 7 8"
|
---|
65 | S TITLE(6)=""
|
---|
66 | S TITLE(7)="Radiology Procedure CPT Code Value Procedures Patients"
|
---|
67 | D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
68 | S CPTCODE="",(LCOST,TCOST)=0
|
---|
69 | F S CPTCODE=$O(^TMP("SPN",$J,"RA","PROC",CPTCODE)) Q:CPTCODE="" D
|
---|
70 | . S COST=^TMP("SPN",$J,"RA","PROC",CPTCODE,"VAL")
|
---|
71 | . S TCOST=TCOST+COST
|
---|
72 | . Q:COST<QLIST("MINCOST")
|
---|
73 | . S LCOST=LCOST+COST
|
---|
74 | . S NPROCS=^TMP("SPN",$J,"RA","PROC",CPTCODE)
|
---|
75 | . S NPATS=^TMP("SPN",$J,"RA","PROC",CPTCODE,"PAT")
|
---|
76 | . S NAME=^TMP("SPN",$J,"RA","PROC",CPTCODE,"NAME")
|
---|
77 | . S ^TMP("SPN",$J,"RA","OUT",-COST,-NPROCS,-NPATS,NAME)=CPTCODE
|
---|
78 | S COST=""
|
---|
79 | F S COST=$O(^TMP("SPN",$J,"RA","OUT",COST)) Q:COST="" D Q:ABORT
|
---|
80 | . S NPROCS=""
|
---|
81 | . F S NPROCS=$O(^TMP("SPN",$J,"RA","OUT",COST,NPROCS)) Q:NPROCS="" D Q:ABORT
|
---|
82 | . . S NPATS=""
|
---|
83 | . . F S NPATS=$O(^TMP("SPN",$J,"RA","OUT",COST,NPROCS,NPATS)) Q:NPATS="" D Q:ABORT
|
---|
84 | . . . S NAME=""
|
---|
85 | . . . F S NAME=$O(^TMP("SPN",$J,"RA","OUT",COST,NPROCS,NPATS,NAME)) Q:NAME="" D Q:ABORT
|
---|
86 | . . . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
87 | . . . . S CPTCODE=^TMP("SPN",$J,"RA","OUT",COST,NPROCS,NPATS,NAME)
|
---|
88 | . . . . W !,NAME,?39,$S(CPTCODE=0:"",1:$J(CPTCODE,5)),?45,$J($FN(-COST,",",2),11),?57,$J($FN(-NPROCS,","),11),?68,$J($FN(-NPATS,","),11)
|
---|
89 | K ^TMP("SPN",$J,"RA","OUT")
|
---|
90 | I TCOST=LCOST D
|
---|
91 | . I $Y+1>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
92 | . W !!,"TOTAL for all procedures",?45,$J($FN(TCOST,",",2),11)
|
---|
93 | E D
|
---|
94 | . I $Y+2>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
|
---|
95 | . W !!,"TOTAL for listed procedures",?45,$J($FN(LCOST,",",2),11)
|
---|
96 | . W !,"TOTAL (including unlisted procedures)",?45,$J($FN(TCOST,",",2),11)
|
---|
97 | K TITLE(4),TITLE(5),TITLE(6),TITLE(7)
|
---|
98 | Q
|
---|