| 1 | SPNLRQI ;ISC-SF/GB-SCD (SPECIFIC) IP/OP REPORT (PRINT IP) ;6/23/95  12:01
 | 
|---|
| 2 |  ;;2.0;Spinal Cord Dysfunction;;01/02/1997
 | 
|---|
| 3 | P1(TITLE,PAGELEN,QLIST,ABORT) ;
 | 
|---|
| 4 |  ; BS        Bed Section Array
 | 
|---|
| 5 |  ; BSNAME    Bed Section Name
 | 
|---|
| 6 |  ; BSNR      Bed Section Number
 | 
|---|
| 7 |  ; DAYS      Number of days spent in a bed section
 | 
|---|
| 8 |  ; NPATS     Number of patients
 | 
|---|
| 9 |  ; STAYS     Number of stays in a bed section
 | 
|---|
| 10 |  N STAYS,BSNAME,NPATS,DAYS,BS,BSNR,PNAME,PSSN,PID,PDATA
 | 
|---|
| 11 |  S TITLE(5)=""
 | 
|---|
| 12 |  S BSNR="" ; create list in bed section name order
 | 
|---|
| 13 |  F  S BSNR=$O(QLIST("BS",BSNR)) Q:BSNR=""  D
 | 
|---|
| 14 |  . S BS(QLIST("BS",BSNR))=BSNR
 | 
|---|
| 15 |  S BSNAME=""
 | 
|---|
| 16 |  F  S BSNAME=$O(BS(BSNAME)) Q:BSNAME=""  D  Q:ABORT
 | 
|---|
| 17 |  . S TITLE(6)=$$CENTER^SPNLRU(BSNAME)
 | 
|---|
| 18 |  . ; TITLE(8)="         1         2         3         4         5         6         7         8"
 | 
|---|
| 19 |  . S TITLE(8)=""
 | 
|---|
| 20 |  . S TITLE(9)="Patient Name                        SSN              Stays         Days"
 | 
|---|
| 21 |  . S BSNR=BS(BSNAME)
 | 
|---|
| 22 |  . S NPATS=+$G(^TMP("SPN",$J,"IP","BS",BSNR))
 | 
|---|
| 23 |  . S STAYS=+$G(^TMP("SPN",$J,"IP","BS",BSNR,"STAYS"))
 | 
|---|
| 24 |  . S DAYS=+$G(^TMP("SPN",$J,"IP","BS",BSNR,"DAYS"))
 | 
|---|
| 25 |  . S TITLE(7)=$$PAD^SPNLRU("Totals:  "_$FN(NPATS,",")_" patient"_$S(NPATS=1:"",1:"s"),45)_$J($FN(STAYS,","),13)_$J($FN(DAYS,","),13)
 | 
|---|
| 26 |  . D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
 | 
|---|
| 27 |  . K TITLE(7)
 | 
|---|
| 28 |  . S PID=""
 | 
|---|
| 29 |  . F  S PID=$O(^TMP("SPN",$J,"IP","BS",BSNR,"PID",PID)) Q:PID=""  D  Q:ABORT
 | 
|---|
| 30 |  . . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
 | 
|---|
| 31 |  . . S PNAME=$P(PID,U,1),PSSN=$P(PID,U,2)
 | 
|---|
| 32 |  . . S PDATA=^TMP("SPN",$J,"IP","BS",BSNR,"PID",PID)
 | 
|---|
| 33 |  . . S STAYS=$P(PDATA,U,1),DAYS=$P(PDATA,U,2)
 | 
|---|
| 34 |  . . W !,PNAME,?32,PSSN,?45,$J($FN(STAYS,","),12),$J($FN(DAYS,","),13)
 | 
|---|
| 35 |  K TITLE(5),TITLE(6),TITLE(8),TITLE(9)
 | 
|---|
| 36 |  Q
 | 
|---|
| 37 | P2(TITLE,PAGELEN,QLIST,ABORT) ;
 | 
|---|
| 38 |  ; BS        Bed Section Array
 | 
|---|
| 39 |  ; BSNAME    Bed Section Name
 | 
|---|
| 40 |  ; BSNR      Bed Section Number
 | 
|---|
| 41 |  ; DAYS      Number of days spent in a bed section
 | 
|---|
| 42 |  ; NPATS     Number of patients
 | 
|---|
| 43 |  ; STAYS     Number of stays in a bed section
 | 
|---|
| 44 |  N STAYS,BSNAME,NPATS,DAYS,BS,BSNR
 | 
|---|
| 45 |  S TITLE(5)=""
 | 
|---|
| 46 |  S TITLE(6)="Specialty                            Patients       Stays       Days"
 | 
|---|
| 47 |  D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
 | 
|---|
| 48 |  S BSNR="" ; create list in bed section name order
 | 
|---|
| 49 |  F  S BSNR=$O(QLIST("BS",BSNR)) Q:BSNR=""  D
 | 
|---|
| 50 |  . S BS(QLIST("BS",BSNR))=BSNR
 | 
|---|
| 51 |  S BSNAME=""
 | 
|---|
| 52 |  F  S BSNAME=$O(BS(BSNAME)) Q:BSNAME=""  D  Q:ABORT
 | 
|---|
| 53 |  . S BSNR=BS(BSNAME)
 | 
|---|
| 54 |  . S NPATS=+$G(^TMP("SPN",$J,"IP","BS",BSNR))
 | 
|---|
| 55 |  . S STAYS=+$G(^TMP("SPN",$J,"IP","BS",BSNR,"STAYS"))
 | 
|---|
| 56 |  . S DAYS=+$G(^TMP("SPN",$J,"IP","BS",BSNR,"DAYS"))
 | 
|---|
| 57 |  . I $Y>PAGELEN D HEADER^SPNLRU(.TITLE,.ABORT) Q:ABORT
 | 
|---|
| 58 |  . W !,BSNAME,?33,$J($FN(NPATS,","),11),?45,$J($FN(STAYS,","),11),$J($FN(DAYS,","),12)
 | 
|---|
| 59 |  K TITLE(5),TITLE(6)
 | 
|---|
| 60 |  Q
 | 
|---|