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
|
---|