| 1 | SPNPSR00 ;HIRMFO/DAD,WAA-HUNT: UTILITIES ;8/10/95  13:51
 | 
|---|
| 2 |  ;;2.0;Spinal Cord Dysfunction;;01/02/1997
 | 
|---|
| 3 |  ;======================================================================
 | 
|---|
| 4 | EN1(ACTION,SEQUENCE,BDATE,EDATE) ; *** Date range
 | 
|---|
| 5 |  ; Input:
 | 
|---|
| 6 |  ;  ACTION,SEQUENCE = Search ACTION,SEQUENCE number
 | 
|---|
| 7 |  ; Output:
 | 
|---|
| 8 |  ;  SPNLEXIT = $S( User_Abort/Timeout : 1 , 1 : 0 )
 | 
|---|
| 9 |  ;  ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DATE") = Date ^ Date_(Ext)
 | 
|---|
| 10 |  ;  ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date_(Ext)
 | 
|---|
| 11 |  ;   BDATE = FM FORMAT BEGINNING DATE
 | 
|---|
| 12 |  ;   EDATE.=.FM FORMAT ENDING DATE
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 |  N DATE,DIR,DIRUT,DTOUT,DUOUT,I
 | 
|---|
| 15 |  F I="BEGINNING DATE","ENDING DATE" K ^TMP($J,"SPNPRT",ACTION,SEQUENCE,I)
 | 
|---|
| 16 |  K DIR S DIR(0)="DOA^::E"
 | 
|---|
| 17 |  S DIR("A")="Beginning date: "
 | 
|---|
| 18 |  D ^DIR S DATE("BEGINNING DATE")=Y_U_$G(Y(0))
 | 
|---|
| 19 |  S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
 | 
|---|
| 20 |  I 'SPNLEXIT,Y'="" D
 | 
|---|
| 21 |  . K DIR S DIR(0)="DOA^"_$P(DATE("BEGINNING DATE"),U)_"::E"
 | 
|---|
| 22 |  . S DIR("A")="Ending date:   "
 | 
|---|
| 23 |  . D ^DIR S DATE("ENDING DATE")=Y_U_$G(Y(0))
 | 
|---|
| 24 |  . Q
 | 
|---|
| 25 |  S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
 | 
|---|
| 26 |  I 'SPNLEXIT,Y'="" D
 | 
|---|
| 27 |  . F I="BEGINNING DATE","ENDING DATE" D
 | 
|---|
| 28 |  .. S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,I)=DATE(I)
 | 
|---|
| 29 |  .. Q
 | 
|---|
| 30 |  . S BDATE=$P(DATE("BEGINNING DATE"),U)
 | 
|---|
| 31 |  . S EDATE=$P(DATE("ENDING DATE"),U)
 | 
|---|
| 32 |  . Q
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 |  ;======================================================================
 | 
|---|
| 35 | EN2 ; *** User entry of the SEARCH criteria
 | 
|---|
| 36 |  ; Returns:
 | 
|---|
| 37 |  ;  ^TMP($J,"SPNPRT",ACTION,SEQUENCE,  -  Search code & parameters
 | 
|---|
| 38 |  ;  SPNLSORT  -  1^Patient Name, 2^SSN, 3^Diagnosis
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 |  S SPNLMAX=3 ; Maximum # of search variables user may select 
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 |  W !!,"You may choose a maximum of ",SPNLMAX," search variables.",!
 | 
|---|
| 43 |  S SPNLEXIT=0 K ^TMP($J,"SPNPRT"),SPNPRT
 | 
|---|
| 44 |  F SEQUENCE=1:1:SPNLMAX D  Q:SPNLEXIT
 | 
|---|
| 45 |  . S SPNLQUIT=0
 | 
|---|
| 46 |  . F  D  Q:SPNLQUIT
 | 
|---|
| 47 |  .. K DIC S DIC="^SPNL(154.92,",DIC(0)="AEMNQ"
 | 
|---|
| 48 |  .. S DIC("A")="Select SEARCH VARIABLE #"_SEQUENCE_": "
 | 
|---|
| 49 |  .. S DIC("S")="I $G(^SPNL(154.92,+Y,1))]"""""
 | 
|---|
| 50 |  .. W ! D ^DIC S SPNLD0=+Y
 | 
|---|
| 51 |  .. I $D(DTOUT)!$D(DUOUT) S SPNLQUIT=1,SPNLEXIT=2 Q
 | 
|---|
| 52 |  .. I SPNLD0'>0 S SPNLQUIT=1,SPNLEXIT=1 Q
 | 
|---|
| 53 |  .. I $G(SPNPRT(SPNLD0)) D  Q
 | 
|---|
| 54 |  ... W !!?5,"*** You have already chosen that one! ***",$C(7)
 | 
|---|
| 55 |  ... Q
 | 
|---|
| 56 |  .. S SPNLINQR=$G(^SPNL(154.92,SPNLD0,2)),SPNLEXIT=0
 | 
|---|
| 57 |  .. I SPNLINQR]"" X SPNLINQR S SPNLEXIT=$S(SPNLEXIT:2,1:0)
 | 
|---|
| 58 |  .. S SPNLQUIT=1
 | 
|---|
| 59 |  .. Q
 | 
|---|
| 60 |  . I SPNLD0>0,SPNLEXIT'=2 D
 | 
|---|
| 61 |  .. S SPNPRT(SPNLD0)=SPNLD0
 | 
|---|
| 62 |  .. S ^TMP($J,"SPNPRT",ACTION,SEQUENCE)=$G(^SPNL(154.92,SPNLD0,1))
 | 
|---|
| 63 |  .. Q
 | 
|---|
| 64 |  . Q
 | 
|---|
| 65 |  S SPNLEXIT=$S($O(SPNPRT(0))'>0:1,1:(SPNLEXIT=2))
 | 
|---|
| 66 | EN11 ; *** User entry of the SORT criteria
 | 
|---|
| 67 |  I SPNLEXIT=0 D
 | 
|---|
| 68 |  . K DIR S DIR(0)="SAM^1:PATIENT NAME;2:SSN;3:DIAGNOSIS"
 | 
|---|
| 69 |  . S DIR("A")="How do you want the report sorted? ",DIR("B")="PATIENT"
 | 
|---|
| 70 |  . W ! D ^DIR S SPNLSORT=Y_U_$G(Y(0)),SPNLEXIT=$S($D(DIRUT):1,1:0)
 | 
|---|
| 71 |  . Q
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 |  ;======================================================================
 | 
|---|
| 74 | PAUSE I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR S SPNLEXIT=$S(Y'>0:1,1:0)
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 | HEAD I SPNLEXIT Q
 | 
|---|
| 77 |  W @IOF
 | 
|---|
| 78 |  W !!?26,"SEARCH / SORT SPECIFICATION"
 | 
|---|
| 79 |  W !?26,"---------------------------"
 | 
|---|
| 80 |  Q
 | 
|---|