| 1 | SPNLRS1 ;ISC-SF/GB-SCD PHARMACY UTILIZATION (SPECIFIC) REPORT (PART 1 OF 1) ;6/23/95  12:03 | 
|---|
| 2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997 | 
|---|
| 3 | P1(TITLE,PAGELEN,QLIST,ABORT) ; | 
|---|
| 4 | ; PID     Patient Name | 
|---|
| 5 | ; PSSN      Patient SSN | 
|---|
| 6 | N NPATS,ZDRUGNR,FILLS,ZDRUG,ZDRUGNAM,PID,PNAME,PSSN,QTY,COST,PRICE,PDATA | 
|---|
| 7 | S TITLE(4)="" | 
|---|
| 8 | S TITLE(7)="" | 
|---|
| 9 | ; TITLE(7)="         1         2         3         4         5         6         7         8" | 
|---|
| 10 | S TITLE(8)="Patient Name                        SSN            Fills       Qty         Value" | 
|---|
| 11 | S ZDRUGNR="" ; create list in drug name order | 
|---|
| 12 | F  S ZDRUGNR=$O(QLIST(ZDRUGNR)) Q:ZDRUGNR=""  D | 
|---|
| 13 | . S ZDRUG(QLIST(ZDRUGNR))=ZDRUGNR | 
|---|
| 14 | S ZDRUGNAM="" | 
|---|
| 15 | F  S ZDRUGNAM=$O(ZDRUG(ZDRUGNAM)) Q:ZDRUGNAM=""  D | 
|---|
| 16 | . S ZDRUGNR=ZDRUG(ZDRUGNAM) | 
|---|
| 17 | . S PRICE=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PRICE")) | 
|---|
| 18 | . S TITLE(5)=$$CENTER^SPNLRU(ZDRUGNAM_", currently $"_$FN(PRICE,",",4)_"/unit") | 
|---|
| 19 | . S FILLS=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR)) | 
|---|
| 20 | . S NPATS=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PAT")) | 
|---|
| 21 | . S QTY=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"QTY")) | 
|---|
| 22 | . S COST=QTY*PRICE | 
|---|
| 23 | . S TITLE(6)=$$PAD^SPNLRU("Total:  "_$FN(NPATS,",")_" patient"_$S(NPATS=1:"",1:"s"),45)_$J($FN(FILLS,","),11)_$J($FN(QTY,","),11)_$J("$"_$FN(COST,",",2),14) | 
|---|
| 24 | . D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT | 
|---|
| 25 | . K TITLE(6) | 
|---|
| 26 | . S PID="" | 
|---|
| 27 | . F  S PID=$O(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PID",PID)) Q:PID=""  D  Q:ABORT | 
|---|
| 28 | . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT | 
|---|
| 29 | . . S PNAME=$P(PID,U,1),PSSN=$P(PID,U,2) | 
|---|
| 30 | . . S PDATA=^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PID",PID) | 
|---|
| 31 | . . S FILLS=+$P(PDATA,U,1),QTY=+$P(PDATA,U,2) | 
|---|
| 32 | . . S COST=QTY*PRICE | 
|---|
| 33 | . . W !,PNAME,?32,PSSN,?44,$J($FN(FILLS,","),11),?54,$J($FN(QTY,","),11),?66,$J($FN(COST,",",2),14) | 
|---|
| 34 | K TITLE(4),TITLE(5),TITLE(7),TITLE(8) | 
|---|
| 35 | Q | 
|---|
| 36 | P2(TITLE,PAGELEN,QLIST,ABORT) ; | 
|---|
| 37 | N NPATS,ZDRUGNR,FILLS,ZDRUG,ZDRUGNAM,PID,QTY,COST,PRICE | 
|---|
| 38 | S TITLE(4)="" | 
|---|
| 39 | ; TITLE(5)="         1         2         3         4         5         6         7         8" | 
|---|
| 40 | S TITLE(5)="Drug                              Unit Cost    Pats   Fills   Units       Value" | 
|---|
| 41 | ;          "12345678901234567890123456789012345 XX.XXXX  XX,XXX  XX,XXX XXX,XXX X,XXX,XXX.XX" | 
|---|
| 42 | S ZDRUGNR="" ; create list in drug name order | 
|---|
| 43 | F  S ZDRUGNR=$O(QLIST(ZDRUGNR)) Q:ZDRUGNR=""  D | 
|---|
| 44 | . S ZDRUG(QLIST(ZDRUGNR))=ZDRUGNR | 
|---|
| 45 | D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT | 
|---|
| 46 | S ZDRUGNAM="" | 
|---|
| 47 | F  S ZDRUGNAM=$O(ZDRUG(ZDRUGNAM)) Q:ZDRUGNAM=""  D  Q:ABORT | 
|---|
| 48 | . D:$Y>PAGELEN HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT | 
|---|
| 49 | . S ZDRUGNR=ZDRUG(ZDRUGNAM) | 
|---|
| 50 | . S PRICE=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PRICE")) | 
|---|
| 51 | . S FILLS=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR)) | 
|---|
| 52 | . S NPATS=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"PAT")) | 
|---|
| 53 | . S QTY=+$G(^TMP("SPN",$J,"RX","DRUG",ZDRUGNR,"QTY")) | 
|---|
| 54 | . S COST=QTY*PRICE | 
|---|
| 55 | . W !,$E(ZDRUGNAM,1,36),?36,$J($FN(PRICE,",",4),7),?44,$J($FN(NPATS,","),7),?52,$J($FN(FILLS,","),7),?60,$J($FN(QTY,","),7),?68,$J($FN(COST,",",2),12) | 
|---|
| 56 | K TITLE(4),TITLE(5) | 
|---|
| 57 | Q | 
|---|