1 | SPNPSR18 ;HIRMFO/JWR,WAA-HUNT: MEDICATION SEARCH ;3/1/96 14:16
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;**9**;01/02/1997
|
---|
3 | ;
|
---|
4 | EN1(D0,FDATE,TDATE,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,"BEGINING DATE") = Date ^ Date(ext)
|
---|
9 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date(ext)
|
---|
10 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",IEN) = DRUG CLASS
|
---|
11 | ; FDATE = Date
|
---|
12 | ; TDATE = Date
|
---|
13 | ; Output:
|
---|
14 | ; $S( D0_Meets_Search_Criteria : 1 , 1 : 0 )
|
---|
15 | ;
|
---|
16 | N AGE,DFN,I,MEETSRCH,VA,VADM,VAERR
|
---|
17 | S (SPNLDFN,DFN)=+$P($G(^SPNL(154,D0,0)),U)
|
---|
18 | ;
|
---|
19 | PHARM S MEETSRCH=0
|
---|
20 | Q:'$D(ACTION)
|
---|
21 | Q:'$D(SEQUENCE)
|
---|
22 | I '$D(TDATE) S TDATE=DT
|
---|
23 | S EXPDATE=FDATE-.000001,SPNCN1=0 ; for each expiration date
|
---|
24 | F S EXPDATE=$O(^PS(55,SPNLDFN,"P","A",EXPDATE)) Q:EXPDATE'>0!(EXPDATE>TDATE)!(MEETSRCH=1) D
|
---|
25 | . S RECNR=0 ; for each prescription on that date
|
---|
26 | . F S RECNR=$O(^PS(55,SPNLDFN,"P","A",EXPDATE,RECNR)) Q:RECNR'>0!(MEETSRCH=1) D
|
---|
27 | . . S NDRG=$P($G(^PSRX(RECNR,0)),U,6) Q:NDRG=""
|
---|
28 | . . S NDREC=$P($G(^PSDRUG(NDRG,0)),U,2) D:NDREC'=""
|
---|
29 | . . . S CN="" F S CN=$O(^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",CN)) Q:CN<1 I $P($G(^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",CN)),U,2)=NDREC S MEETSRCH=1 Q
|
---|
30 | . . Q
|
---|
31 | . Q
|
---|
32 | K NDRG
|
---|
33 | Q Q MEETSRCH
|
---|
34 | EN2(ACTION,SEQUENCE) ; *** Prompt entry point
|
---|
35 | ; Input:
|
---|
36 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
37 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINING DATE") = Date ^ Date(ext)
|
---|
38 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date(ext)
|
---|
39 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",IEN) =
|
---|
40 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0)=$$EN1^SPNPSR18(D0,BDATE,EDATE,ACTION,SEQUENCE)
|
---|
41 | ; Output:
|
---|
42 | ; SPNLEXIT = $S( User_Abort/Timeout : 1 , 1 : 0 )
|
---|
43 | ;
|
---|
44 | N DIC,DIR,DIRUT,DTOUT,DUOUT,I
|
---|
45 | DIR K ^TMP($J,"SPNPRT",ACTION,SEQUENCE),DIR,DIC
|
---|
46 | S DIC=50.605,DIC(0)="AEMNQZ" K DIRUT
|
---|
47 | I +Y>1 F D Q:SPNLEXIT Q:Y<1
|
---|
48 | . I $D(DUOUT)!($D(DTOUT)) S SPNLEXIT=1 Q
|
---|
49 | . Q:Y'>0 D ^DIC I Y>0 D
|
---|
50 | .. I $D(^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",+Y)) W !,"You have already selected that drug class." Q
|
---|
51 | .. S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",+Y)=$P($G(^PS(50.605,+Y,0)),U,2)_U_$P(Y,U,2)
|
---|
52 | . S DIR("A")="Another: "
|
---|
53 | . Q
|
---|
54 | Q:SPNLEXIT=1 K DIR
|
---|
55 | S Y=$O(^TMP($J,"SPNPRT",ACTION,SEQUENCE,"DRUG CLASS",0))
|
---|
56 | Q:Y<1
|
---|
57 | W !!,"Enter the date range to search for the selected Medications"
|
---|
58 | S (BDATE,EDATE)=""
|
---|
59 | D EN1^SPNPSR00(ACTION,SEQUENCE+.1,.BDATE,.EDATE)
|
---|
60 | S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0)="$$EN1^SPNPSR18(D0,"_BDATE_","_EDATE_","""_ACTION_""","_SEQUENCE_")"
|
---|
61 | Q
|
---|