1 | SPNPSR08 ;HIRMFO/DAD,WAA-HUNT: SCI LEVEL OF INJURY ;8/1/95 14:29
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;**12**;01/02/1997
|
---|
3 | ;
|
---|
4 | EN1(D0,BNLOI,ENLOI) ; *** 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,"BEGINNING SCI LEVEL") = NLOI# ^NLOI
|
---|
9 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING SCI LEVEL") = NLOI# ^ NLOI
|
---|
10 | ; BNLOI = Beginning NLOI
|
---|
11 | ; ENLOI = Ending NLOI
|
---|
12 | ; Output:
|
---|
13 | ; $S( D0_Meets_Search_Criteria : 1 , 1 : 0 )
|
---|
14 | ;
|
---|
15 | N DFN,I,MEETSRCH,NLOI
|
---|
16 | S MEETSRCH=0
|
---|
17 | S NLOI=$$NLOI($P($G(^SPNL(154,D0,2)),U))
|
---|
18 | I NLOI'<BNLOI,NLOI'>ENLOI S MEETSRCH=1
|
---|
19 | Q MEETSRCH
|
---|
20 | ;
|
---|
21 | EN2(ACTION,SEQUENCE) ; *** Prompt entry point
|
---|
22 | ; Input:
|
---|
23 | ; ACTION,SEQUENCE = Search ACTION,SEQUENCE number
|
---|
24 | ; Output:
|
---|
25 | ; SPNLEXIT = $S( User_Abort/Timeout : 1 , 1 : 0 )
|
---|
26 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"BEGINNING SCI LEVEL") = NLOI# ^NLOI
|
---|
27 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,"ENDING SCI LEVEL") = NLOI# ^ NLOI
|
---|
28 | ; ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0) = $$EN1^SPNPSR08(D0,BNLOI,ENLOI)
|
---|
29 | ;
|
---|
30 | N DIR,DIRUT,DTOUT,DUOUT,I,NLOI
|
---|
31 | K ^TMP($J,"SPNPRT",ACTION,SEQUENCE),DIR
|
---|
32 | S DIR(0)="POA^154.01:AEMNQZ"
|
---|
33 | S DIR("A")="SCI Level start value: "
|
---|
34 | S DIR("?")="Enter the top-most vertebral level desired"
|
---|
35 | D ^DIR S NLOI("BEGINNING SCI LEVEL")=Y,BNLOI=$$NLOI(Y)
|
---|
36 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
37 | I 'SPNLEXIT D
|
---|
38 | . K DIR S DIR(0)="POA^154.01:AEMNQZ^K:$$NLOI^SPNPSR08(Y)<$$NLOI^SPNPSR08(NLOI(""BEGINNING SCI LEVEL"")) X"
|
---|
39 | . S DIR("A")="SCI Level end value: "
|
---|
40 | . S DIR("?")="Enter the bottom-most vertebral level desired"
|
---|
41 | . D ^DIR S NLOI("ENDING SCI LEVEL")=Y I Y'="" S ENLOI=$$NLOI(Y)
|
---|
42 | . Q
|
---|
43 | S SPNLEXIT=$S($D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
44 | I 'SPNLEXIT,Y'="" D
|
---|
45 | . F I="BEGINNING SCI LEVEL","ENDING SCI LEVEL" S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,I)=$$NLOI(NLOI(I))_U_$P(NLOI(I),U,2)
|
---|
46 | . S ^TMP($J,"SPNPRT",ACTION,SEQUENCE,0)="$$EN1^SPNPSR08(D0,"_BNLOI_","_ENLOI_")"
|
---|
47 | . Q
|
---|
48 | Q
|
---|
49 | NLOI(D0) ; *** Convert NLOI to number
|
---|
50 | ; Input:
|
---|
51 | ; D0 = SCD NLOI CATEGORY file (#154.01) IEN
|
---|
52 | ; Output:
|
---|
53 | ; Cervical=1, Thoracic=2, Lumbar=3, Sacral=4, Unknown=999
|
---|
54 | ; e.g., T05 ==> 205
|
---|
55 | N X S X=$P($G(^SPNL(154.01,+D0,0)),U)
|
---|
56 | Q $S(X="UNK":999,X?1U2N:$TR(X,"CTLS","1234"),1:0)
|
---|