source: FOIAVistA/trunk/r/SPINAL_CORD_DYSFUNCTION-SPN/SPNLRL1.m@ 1068

Last change on this file since 1068 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.1 KB
Line 
1SPNLRL1 ;ISC-SF/GB-SCD PHARMACY UTILIZATION REPORT (PRINT PART 1 OF 3) ;4 JUN 94 [ 08/23/94 10:04 AM ]
2 ;;2.0;Spinal Cord Dysfunction;;01/02/1997
3 ; PAGELEN Number of lines per page
4 ; TITLE Array of header lines (titles)
5P1(TITLE,PAGELEN,ABORT) ;
6 ; NDDRUGS Number of different types of drugs
7 ; ZDRUGNR Internal Entry Number of a drug in ^PSDRUG
8 ; FILLS Number of fills given
9 N NDDRUGS,ZDRUGNR,FILLS,OUT,LINE,STARTLIN,COL,NPATS
10 S TITLE(4)=""
11 S FILLS=+$G(^TMP("SPN",$J,"RX","FILLS"))
12 S NPATS=+$G(^TMP("SPN",$J,"RX","PAT"))
13 S TITLE(5)=$$CENTER^SPNLRU("Totals: "_$FN(FILLS,",")_" fill"_$S(FILLS=1:"",1:"s")_" reported for "_$FN(NPATS,",")_" patient"_$S(NPATS=1:"",1:"s"))
14 S ZDRUGNR=""
15 F NDDRUGS=0:1 S ZDRUGNR=$O(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR)) Q:ZDRUGNR=""
16 S:NDDRUGS=1&(FILLS>1) TITLE(6)=$$CENTER^SPNLRU("(This includes just one type of drug)")
17 S:NDDRUGS>1 TITLE(6)=$$CENTER^SPNLRU("(These include "_$FN(NDDRUGS,",")_" different drugs)")
18 S FILLS=+$O(^TMP("SPN",$J,"RX","FILLS",""))
19 F D Q:FILLS=""!(ABORT)
20 . D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
21 . K OUT,TITLE(4),TITLE(5),TITLE(6)
22 . S STARTLIN=$Y
23 . S OUT(STARTLIN+1)=""
24 . F COL=1:1:3 D Q:FILLS=""
25 . . S OUT(STARTLIN)=$G(OUT(STARTLIN))_" Patients Fills "
26 . . F LINE=STARTLIN+2:1:PAGELEN D Q:FILLS=""
27 . . . S OUT(LINE)=$G(OUT(LINE))_$J($FN($G(^TMP("SPN",$J,"RX","FILLS",FILLS)),","),10)_$J($FN(-FILLS,","),11)_" "
28 . . . S FILLS=$O(^TMP("SPN",$J,"RX","FILLS",FILLS))
29 . S LINE=""
30 . F S LINE=$O(OUT(LINE)) Q:LINE="" D
31 . . W !,OUT(LINE)
32 Q
33P2(TITLE,PAGELEN,QLIST,ABORT) ;
34 N NPATS,ZDRUGNR,FILLS,MAXPATS,MAXFILLS,NAME
35 S TITLE(4)=""
36 S TITLE(5)=$$CENTER^SPNLRU("Drugs with "_$FN(QLIST("MINFILL"),",")_" or more fills")
37 ; TITLE(6)=" 1 2 3 4 5 6 7 8"
38 S TITLE(6)=""
39 S TITLE(7)=" Max # Fills"
40 S TITLE(8)="Drug Fills Patients (# patients)"
41 D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
42 S ZDRUGNR=""
43 F S ZDRUGNR=$O(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR)) Q:ZDRUGNR="" D
44 . S FILLS=^TMP("SPN",$J,"RX","DRUG",ZDRUGNR)
45 . Q:FILLS<QLIST("MINFILL")
46 . S NPATS=^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PAT")
47 . S NAME=^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"NAME")
48 . S ^TMP("SPN",$J,"RX","OUT",-FILLS,-NPATS,NAME)=ZDRUGNR
49 S FILLS=""
50 F S FILLS=$O(^TMP("SPN",$J,"RX","OUT",FILLS)) Q:FILLS="" D Q:ABORT
51 . S NPATS=""
52 . F S NPATS=$O(^TMP("SPN",$J,"RX","OUT",FILLS,NPATS)) Q:NPATS="" D Q:ABORT
53 . . S NAME=""
54 . . F S NAME=$O(^TMP("SPN",$J,"RX","OUT",FILLS,NPATS,NAME)) Q:NAME="" D Q:ABORT
55 . . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
56 . . . S ZDRUGNR=^TMP("SPN",$J,"RX","OUT",FILLS,NPATS,NAME)
57 . . . S MAXFILLS=$O(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"FILLS",""))
58 . . . S MAXPATS=^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"FILLS",MAXFILLS)
59 . . . W !,NAME,?40,$J($FN(-FILLS,","),10),?52,$J($FN(-NPATS,","),10)
60 . . . I FILLS'=NPATS&(-FILLS>1)&(-NPATS>1) W ?65,$J($FN(-MAXFILLS,","),9)," (",MAXPATS,")"
61 . . . ; See what IMRWRCP1 does here for national report.
62 K ^TMP("SPN",$J,"RX","OUT")
63 K TITLE(4),TITLE(5),TITLE(6),TITLE(7),TITLE(8)
64 Q
Note: See TracBrowser for help on using the repository browser.