[613] | 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
|
---|