1 | SPNPSR19 ;HIRMFO/JWR,WAA-HUNT: X-RAY/RADIOLOGY SEARCH ;3/1/96 14:16
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | ;
|
---|
4 | EN1(D0,BDATE,EDATE,SPNTYPE,ACTION,SEQUENCE) ; *** Search entry point
|
---|
5 | ; Input:
|
---|
6 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
7 | ; D0 = SCD (SPINAL CORD) REGISTRY file (#154) IEN
|
---|
8 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"RAD",SPNTYPE) = SPNTYPE
|
---|
9 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"RAD",SPNTYPE,IEN) = ENTRY
|
---|
10 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINING DATE") = Date ^ Date(ext)
|
---|
11 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date(ext)
|
---|
12 | ; SPNTYPE = Type of exam 1/A = AMIS 2/T = Type of IMAGE 3/P = PROCEDURE
|
---|
13 | ; BDATE = Beginning date
|
---|
14 | ; EDATE = Ending Date
|
---|
15 | ; Output:
|
---|
16 | ; $S( D0_Meets_Search_Criteria : 1 , 1 : 0 )
|
---|
17 | ;
|
---|
18 | Q
|
---|
19 | N AGE,DFN,I,MEETSRCH,VA,VADM,VAERR
|
---|
20 | S (SPNLDFN,DFN)=+$P($G(^SPNL(154,D0,0)),U)
|
---|
21 | S MEETSRCH=0
|
---|
22 | S FDATE=9999999.9999-BDATE
|
---|
23 | S TDATE=9999999.9999-EDATE
|
---|
24 | Q:'$D(^RADPT(DFN,"DT"))
|
---|
25 | K SPNX,SPNXR
|
---|
26 | G:$O(^RADPT(DFN,"DT",TDATE))'>""!($O(^(TDATE))>FDATE) Q
|
---|
27 | S SPNMRK="" F CN1=1:1:3 S SPNMRK=SPNMRK_$P($G(^TMP($J,"SPNPRT",ACTION,SEQUENCE,"TEST",CN)),U)_U
|
---|
28 | S CN=TDATE F S CN=$O(^RADPT(DFN,"DT",CN)) Q:CN>FDATE!(MEETSRCH>0)!(CN="") D
|
---|
29 | .I SPNTYP="T" S CNT=CN D Q
|
---|
30 | ..S SPNXR(CNT)=$P($G(^RADPT(DFN,"DT",CNT,0)),U,2)
|
---|
31 | ..D TEST Q
|
---|
32 | .Q:MEETSRCH>0!(SPNTYP="T")
|
---|
33 | .S CNT=0 F S CNT=$O(^RADPT(DFN,"DT",CN,"P",CNT)) Q:CNT'>0 S SPNX=$G(^(CNT,0)) D
|
---|
34 | ..I SPNTYP="P" S SPNXR(CNT)=$P(SPNX,U,2) D TEST
|
---|
35 | ..I SPNTYP="A" I $P(SPNX,U,2)>0 F CNN=1:1 S CNN=$O(^RAMIS(71,$P(SPNXR,U,2),2,CNN)) Q:$G(^(CNN,0))'>0!(MEETSRCH>0) S SPNXR(CNT)=$P($G(^(0)),U) D TEST
|
---|
36 | Q Q MEETSRCH
|
---|
37 | TEST ;
|
---|
38 | F CY=1:1:3 I $P(SPNMRK,U,CY)=SPNXR(CNT) S MEETSRCH=1
|
---|
39 | Q
|
---|
40 | EN2(ACTION,SEQUENCE) ; *** Prompt entry point
|
---|
41 | ; Input:
|
---|
42 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
43 | ; Output:
|
---|
44 | ; SPNLEXIT = $S( User_Abort/Timeout : 1 , 1 : 0 )
|
---|
45 | ;
|
---|
46 | D Q
|
---|
47 | . ;I $$VERSION^XPDUTL("RA")<4.5 D Q
|
---|
48 | . W !!," Not avaible" Q
|
---|
49 | . W !!," ---Radiology files required to do this search do not exist---",!!
|
---|
50 | . S SPNLEXIT=1
|
---|
51 | N SPNX,AGE,DIR,DIRUT,DTOUT,DUOUT,I
|
---|
52 | K ^TMP($J,"SPNPRT",ACTION,SEQUENCE),DIR
|
---|
53 | DIR S DIR(0)="S^1:Rad/Nuc Med AMIS Codes;2:Type of Imaging;3:Rad/Nuc Med Procedure"
|
---|
54 | S DIR("A")="Search by which of the above"
|
---|
55 | K DIRUT D ^DIR
|
---|
56 | I $D(DIRUT) Q
|
---|
57 | S SPNDIR=Y_"^"_Y(0),SPNTYP=$S(Y=1:"A",Y=2:"T",Y=3:"P",1:"")
|
---|
58 | W !! K DIR
|
---|
59 | DIC1 S CN=0,DIC("A")="Select "_$P(SPNDIR,U,2)_": "
|
---|
60 | S DIC=$S(+SPNDIR=1:71.1,+SPNDIR=2:79.2,+SPNDIR=3:71,1:"")
|
---|
61 | S DIC(0)="AEMNQZ"
|
---|
62 | Q:DIC'>0
|
---|
63 | DIC D ^DIC Q:$D(DUOUT)!($D(DTOUT))
|
---|
64 | I Y'>0&(CN=0) S SPNLEXIT=1 Q
|
---|
65 | S CN=CN+1,DIC("A")="Another: "
|
---|
66 | I Y>0 D
|
---|
67 | . S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"FILE TO GUIDE SEARCH")=SPNDIR
|
---|
68 | . S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"_Title of Test #"_CN)=Y
|
---|
69 | G:CN<3&(Y>0) DIC
|
---|
70 | D EN1^SPNPSR00(ACTION,SEQUENCE)
|
---|