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