1 | SPNFEDT4 ;HISC/DAD-INPUT/OUTPUT PROCESS FOR SURVEY (ROLL&SCROLL) ;9/25/95 09:04
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | ;
|
---|
4 | ADDEDIT(SPNFTYPE,SPNFDFN) ; *** Choose add / edit a record
|
---|
5 | ; SPNFTYPE = 1 - Four Level Functional Measure
|
---|
6 | ; 2 - Clinician reported FIM
|
---|
7 | ; SPNFDFN = IEN in PATIENT file (#2)
|
---|
8 | S SPNFFLAG=$$FIND^SPNFEDT2(SPNFTYPE,SPNFDFN),SPNEXIT=0
|
---|
9 | W !!,$P($G(^DPT(SPNFDFN,0)),U) S Y=+$P(SPNFFLAG,U,2)
|
---|
10 | W " has ",$S(Y=-1:"no",Y=0:"one",1:Y)
|
---|
11 | W " ",$S(SPNFTYPE=1:"Four Level Functional Measure",SPNFTYPE=2:"Clinician Reported FIM",1:"???")
|
---|
12 | W " record",$S(Y:"s",1:""),"."
|
---|
13 | K DIR S DIR(0)="SOM^A:Add a new record;"
|
---|
14 | S DIR("A")="Choose"
|
---|
15 | S DIR("?",1)=" Enter 'A' to create a new record for the selected patient."
|
---|
16 | I $P(SPNFFLAG,U,2)'<0 D
|
---|
17 | . S DIR(0)=DIR(0)_"E:Edit an existing record;"
|
---|
18 | . S DIR("?",2)=" Enter 'E' to edit a pre-existing record for the selected patient."
|
---|
19 | . S DIR("?")=" Choose either 'A' or 'E'."
|
---|
20 | . Q
|
---|
21 | E D
|
---|
22 | . S DIR("?")=" Enter 'A' to add a record, <RETURN> or '^' to exit."
|
---|
23 | . Q
|
---|
24 | D ^DIR W ! S SPNFACTN=Y I $D(DIRUT) S SPNEXIT=1 Q
|
---|
25 | ;
|
---|
26 | I SPNFACTN="A" D
|
---|
27 | . ; *** Add a FIM
|
---|
28 | . K DD,DIC,DINUM,DO
|
---|
29 | . S SPNFD0=-1
|
---|
30 | . S DIC="^SPNL(154.1,",DIC(0)="L"
|
---|
31 | . S DLAYGO=154.1,X=SPNFDFN
|
---|
32 | . D FILE^DICN W ! S SPNFD0=+Y
|
---|
33 | . K DR S DR=".02///^S X="_SPNFTYPE_";.04///TODAY;.04DATE RECORDED"
|
---|
34 | . D EDITFIM^SPNFEDT3(SPNFD0,.DR)
|
---|
35 | . Q
|
---|
36 | I SPNFACTN="E" D
|
---|
37 | . ; *** Edit a FIM
|
---|
38 | . S SPNEXIT=0
|
---|
39 | . I $P(SPNFFLAG,U,2)>0 D Q:SPNEXIT
|
---|
40 | .. ; *** If more than one record, select record to edit
|
---|
41 | .. K DIC S DIC="^SPNL(154.1,",DIC(0)="AEQSZ"
|
---|
42 | .. S DIC("A")="Select DATE RECORDED: ",DIC("W")=""
|
---|
43 | .. S DIC("S")="I $P(^(0),U,1,2)="""_SPNFDFN_U_SPNFTYPE_""""
|
---|
44 | .. S D="C"
|
---|
45 | .. D IX^DIC S SPNFD0=+Y I Y'>0 S SPNEXIT=1
|
---|
46 | .. Q
|
---|
47 | . E D
|
---|
48 | .. ; *** If only one record, select it for editing
|
---|
49 | .. S SPNFD0=+$P(SPNFFLAG,U)
|
---|
50 | .. Q
|
---|
51 | . Q
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | CHKREC(SPNLD0,SPNFD0) ; *** Check record for consistency
|
---|
55 | ; SPNLD0 = IEN in SCD file (#154)
|
---|
56 | ; SPNFD0 = IEN in FIM file (#154.1)
|
---|
57 | N SPNFDATA,SPNFFLD,SPNLDATA,SPNLFLD,SPNPROB
|
---|
58 | F SPNLFLD=2.4,2.5,5.01 D
|
---|
59 | . S SPNLDATA(SPNLFLD)=$$GET1^DIQ(154,SPNLD0_",",SPNLFLD)
|
---|
60 | . Q
|
---|
61 | F SPNLFLD=5.06:.01:5.1 D
|
---|
62 | . S SPNLDATA(SPNLFLD)=$$GET1^DIQ(154,SPNLD0_",",SPNLFLD,"I")
|
---|
63 | . Q
|
---|
64 | F SPNFFLD=2.08:.01:2.11 D
|
---|
65 | . S SPNFDATA(SPNFFLD)=$$GET1^DIQ(154.1,SPNFD0_",",SPNFFLD)
|
---|
66 | . Q
|
---|
67 | F SPNFFLD=2.08:.01:2.11 D
|
---|
68 | . S SPNFDATA(SPNFFLD)=$$GET1^DIQ(154.1,SPNFD0_",",SPNFFLD,"I")
|
---|
69 | . Q
|
---|
70 | S SPNPROB=0
|
---|
71 | W !!,$TR($J("",80)," ","="),!,"Checking data for inconsistencies...",!
|
---|
72 | I SPNLDATA(5.01)'["OTHER",SPNLDATA(2.4)]"" D
|
---|
73 | . W !,"CAUSE OF INJURY is not 'OTHER', DESCRIBE CAUSE OTHER should be blank.",$C(7)
|
---|
74 | . S SPNPROB=SPNPROB+1
|
---|
75 | . Q
|
---|
76 | I SPNLDATA(5.06)=1,SPNLDATA(5.08)=1 D
|
---|
77 | . W !,"ONE ARM AFFECTED and BOTH ARMS AFFECTED are both answered 'YES'.",$C(7)
|
---|
78 | . S SPNPROB=SPNPROB+1
|
---|
79 | . Q
|
---|
80 | I SPNLDATA(5.07)=1,SPNLDATA(5.09)=1 D
|
---|
81 | . W !,"ONE LEG AFFECTED and BOTH LEGS AFFECTED are both answered 'YES'.",$C(7)
|
---|
82 | . S SPNPROB=SPNPROB+1
|
---|
83 | . Q
|
---|
84 | I SPNLDATA(5.1)'>0,SPNLDATA(2.5)]"" D
|
---|
85 | . W !,"OTHER BODY PART AFFECTED is 'NO', DESCRIBE OTHER BODY PART should be blank.",$C(7)
|
---|
86 | . S SPNPROB=SPNPROB+1
|
---|
87 | . Q
|
---|
88 | I SPNFDATA(2.08)'>0,SPNFDATA(2.09) D
|
---|
89 | . W !,"HELP DURING LAST 2 WEEKS is 'NO', NUMBER OF HOURS OF HELP should be blank.",$C(7)
|
---|
90 | . S SPNPROB=SPNPROB+1
|
---|
91 | . Q
|
---|
92 | I SPNFDATA(2.1)>4,SPNFDATA(2.11)>0 D
|
---|
93 | . W !,"RECEIVED MOST MEDICAL CARE is 'NON-VA ONLY' or 'DID NOT SEE DOCTOR/NURSE"
|
---|
94 | . W !,"LAST 5 YRS', VA MOST USED FOR MEDICAL CARE should be blank.",$C(7)
|
---|
95 | . S SPNPROB=SPNPROB+1
|
---|
96 | . Q
|
---|
97 | W:SPNPROB !!
|
---|
98 | W SPNPROB," inconsistenc",$S(SPNPROB=1:"y",1:"ies")," found."
|
---|
99 | Q
|
---|