1 | SPNPSR15 ;HIRMFO/DAD,WAA-HUNT: CHANGE IN TOTAL FIM SCORE ;9/22/95 12:35
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;**11,19**;01/02/1997
|
---|
3 | ;
|
---|
4 | EN1(D0,FIMTYPE,BDELTA,EDELTA,BDATE,EDATE) ; *** 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,"RECORD TYPE") = 1 ! 2 ^ External
|
---|
9 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DELTA VALUE") = # ^ #
|
---|
10 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DELTA VALUE") = # ^ #
|
---|
11 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DATE") = Date ^ Date_(Ext)
|
---|
12 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date_(Ext)
|
---|
13 | ; FIMTYPE = Patient FIM Type
|
---|
14 | ; BDELTA = Beginning Delta Value
|
---|
15 | ; EDELTA = Ending Delta Value
|
---|
16 | ; BDATE = Beginning Date
|
---|
17 | ; EDATE = Ending Date
|
---|
18 | ; Output:
|
---|
19 | ; $S( D0_Meets_Search_Criteria : 1 , 1 : 0 )
|
---|
20 | ;
|
---|
21 | N DELTAFIM,DFN,FIMDIFF,I,LASTFIM,MEETSRCH,TOTALFIM
|
---|
22 | S MEETSRCH=0
|
---|
23 | S DELTAFIM("BEGINNING DELTA VALUE")=BDELTA
|
---|
24 | S DELTAFIM("ENDING DELTA VALUE")=EDELTA
|
---|
25 | S RECDATE("BEGINNING DATE")=BDATE
|
---|
26 | S RECDATE("ENDING DATE")=EDATE
|
---|
27 | S SPNLDATE=RECDATE("BEGINNING DATE")-.0000001 K LASTFIM
|
---|
28 | S LASTFIM=0
|
---|
29 | F S SPNLDATE=$O(^SPNL(154.1,"AA",FIMTYPE,D0,SPNLDATE)) Q:(SPNLDATE'>0)!(SPNLDATE>RECDATE("ENDING DATE"))!MEETSRCH D
|
---|
30 | . S SPNLD0=0,SPNLD0=$O(^SPNL(154.1,"AA",FIMTYPE,D0,SPNLDATE,SPNLD0)) Q:SPNLD0'>0!MEETSRCH D
|
---|
31 | .. S TOTALFIM=+$$EN3^SPNFUTL0(SPNLD0)
|
---|
32 | .. I (TOTALFIM'>0) Q
|
---|
33 | .. S FIMDIFF=TOTALFIM-LASTFIM
|
---|
34 | .. I FIMDIFF'<DELTAFIM("BEGINNING DELTA VALUE"),FIMDIFF'>DELTAFIM("ENDING DELTA VALUE") S MEETSRCH=1
|
---|
35 | .. S LASTFIM=TOTALFIM
|
---|
36 | .. Q
|
---|
37 | . Q
|
---|
38 | Q MEETSRCH
|
---|
39 | ;
|
---|
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 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"RECORD TYPE") = 1 ! 2 ^ External
|
---|
46 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DELTA VALUE") = # ^ #
|
---|
47 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DELTA VALUE") = # ^ #
|
---|
48 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING DATE") = Date ^ Date_(Ext)
|
---|
49 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING DATE") = Date ^ Date_(Ext)
|
---|
50 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0) = $$EN1^SPNPSR15(D0,FIMTYPE,BDELTA,EDELTA,BDATE,EDATE)
|
---|
51 | ;
|
---|
52 | N DELTAFIM,DIR,DIRUT,DTOUT,DUOUT,FIMTYPE,I
|
---|
53 | K ^TMP($J,"SPNPRT",ACTION,SEQUENCE)
|
---|
54 | K DIR S DIR(0)="SOAM^1:Self Report of Function;2:FIM;"
|
---|
55 | S DIR("A")="Record Type: "
|
---|
56 | S DIR("?")="Enter 1 for Self Report of Function, or 2 for FIM"
|
---|
57 | D ^DIR S FIMTYPE=Y,FIMTYPE(0)=$G(Y(0))
|
---|
58 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
59 | Q:SPNLEXIT
|
---|
60 | Q:Y=""
|
---|
61 | S DELTAFIM=$S(FIMTYPE=1:39,1:108)
|
---|
62 | K DIR S DIR(0)="NOA^"_-DELTAFIM_":"_DELTAFIM
|
---|
63 | S DIR("A")="Beginning delta value: "
|
---|
64 | S DIR("?")="Enter a number from "_-DELTAFIM_" to "_DELTAFIM
|
---|
65 | D ^DIR S (DELTAFIM("BEGINNING DELTA VALUE"),BDELTA)=Y
|
---|
66 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
67 | Q:SPNLEXIT
|
---|
68 | Q:Y=""
|
---|
69 | K DIR S DIR(0)="NOA^"_DELTAFIM("BEGINNING DELTA VALUE")_":"_DELTAFIM
|
---|
70 | S DIR("A")="Ending delta value: "
|
---|
71 | S DIR("?")="Enter a number from "_DELTAFIM("BEGINNING DELTA VALUE")_" to "_DELTAFIM
|
---|
72 | D ^DIR S (DELTAFIM("ENDING DELTA VALUE"),EDELTA)=Y
|
---|
73 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
74 | Q:SPNLEXIT
|
---|
75 | Q:Y=""
|
---|
76 | S (BDATE,EDATE)=""
|
---|
77 | D EN1^SPNPSR00(ACTION,SEQUENCE+.2,.BDATE,.EDATE) Q:SPNLEXIT
|
---|
78 | S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"RECORD TYPE")=FIMTYPE_U_FIMTYPE(0)
|
---|
79 | F I="BEGINNING DELTA VALUE","ENDING DELTA VALUE" D
|
---|
80 | . S ^TMP($J,"SPNPRT",ACTION,SEQUENCE+.1,I)=$G(DELTAFIM(I))_U_$G(DELTAFIM(I))
|
---|
81 | . Q
|
---|
82 | I BDATE=""!(EDATE="") K ^TMP($J,"SPNPRT",ACTION,SEQUENCE+.1),^TMP($J,"SPNPRT",ACTION,SEQUENCE) Q
|
---|
83 | S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0)="$$EN1^SPNPSR15(D0,"_FIMTYPE_","_BDELTA_","_EDELTA_","_BDATE_","_EDATE_")"
|
---|
84 | Q
|
---|