| 1 | SPNLRL1 ;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) | 
|---|
| 5 | P1(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 | 
|---|
| 33 | P2(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 | 
|---|