[613] | 1 | SPNLGEFM ;ISC-SF/DAD - RETRIEVE DATA FROM FILE 154.1 ;10/25/2001
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;**2,16**;01/02/1997
|
---|
| 3 | ;;
|
---|
| 4 | EXTRACT(RECN,FORMAT,FLAG) ;
|
---|
| 5 | ;RECN...........This is an IEN in file 2.
|
---|
| 6 | ;FORMAT.........This is determines whether the data will be in
|
---|
| 7 | ; internal or external format. (IS NOT USED IN THIS VERSION)
|
---|
| 8 | ;FLAG...........This is set to 1 if there is an error retrieveing the
|
---|
| 9 | ; data.
|
---|
| 10 | ;
|
---|
| 11 | N SPNFD0,SPNFD1
|
---|
| 12 | S (SPNFD0,FLAG)=0
|
---|
| 13 | F S SPNFD0=$O(^SPNL(154.1,"B",RECN,SPNFD0)) Q:SPNFD0'>0 D
|
---|
| 14 | . I RECN'=$P($G(^SPNL(154.1,SPNFD0,0)),U) Q ; *** Bad B xref
|
---|
| 15 | . I "^1^2^"'[(U_$P($G(^SPNL(154.1,SPNFD0,0)),U,2)_U) Q
|
---|
| 16 | . I $O(^SPNL(154.1,SPNFD0,1,0)) D ; *** Clinician mult WITH data
|
---|
| 17 | .. S ^TMP("SPNXMRK",$J,SPNFD0)=""
|
---|
| 18 | .. S SPNFD1=0
|
---|
| 19 | .. F S SPNFD1=$O(^SPNL(154.1,SPNFD0,1,SPNFD1)) Q:SPNFD1'>0 D
|
---|
| 20 | ... D ADDREC^SPNLGE("FM",$$GETFIM(SPNFD0,SPNFD1))
|
---|
| 21 | ... Q
|
---|
| 22 | .. Q
|
---|
| 23 | . Q
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | GETFIM(SPNFD0,SPNFD1) ; *** Get FIM data (file #154.1)
|
---|
| 27 | ;
|
---|
| 28 | ;Required:
|
---|
| 29 | ; SPNFD0 = FIM file (#154.1) IEN
|
---|
| 30 | ;Optional:
|
---|
| 31 | ; SPNFD1 = CLINICIAN multiple (#154.101) IEN
|
---|
| 32 | ;Returns:
|
---|
| 33 | ; FIM_Type ^ Respondent_Type ^ Date_Recorded ^ Eating ^ Grooming ^
|
---|
| 34 | ; Bathing ^ Dressing_Upper_Body ^ Dressing_Lower_Body_From_Bath ^
|
---|
| 35 | ; Toileting ^ Bladder_Management ^ Bowel_Management ^
|
---|
| 36 | ; Xfer_To_Bed/Chair/Wheelchair ^ Xfer_To_Toilet ^ Xfer_To_Tub/Shower ^
|
---|
| 37 | ; Walk/Wheelchair ^ Stairs ^ Comprehension ^ Expression ^
|
---|
| 38 | ; Social_Interaction ^ Problem_Solving ^ Memory ^ Clinician ^
|
---|
| 39 | ; Get_To_Places_Outside_Of_Home ^ Shopping ^
|
---|
| 40 | ; Planning_And_Cooking_Own_Meals ^ Doing_Housework ^ Handling_Money ^
|
---|
| 41 | ; Method_Ambulation_(Walking) ^ Method_Ambulation_(Wheelchair) ^
|
---|
| 42 | ; Help_During_Last_2_Weeks ^ Number_Of_Hours_Of_Help ^
|
---|
| 43 | ; Received_Most_Medical_Care ^ VA_Medical_Center_1 ^ VA_Medical_Center_2
|
---|
| 44 | ;
|
---|
| 45 | N SPNF,SPNFDATA,SPNPIECE,SPNSTAT
|
---|
| 46 | S SPNPIECE="22^^12"
|
---|
| 47 | F SPNF=0,2 D
|
---|
| 48 | . S SPNFDATA(SPNF)=$G(^SPNL(154.1,SPNFD0,SPNF))
|
---|
| 49 | . I $L(SPNFDATA(SPNF),U)'=$P(SPNPIECE,U,SPNF+1) D
|
---|
| 50 | .. S $P(SPNFDATA(SPNF),U,$P(SPNPIECE,U,SPNF+1))=""
|
---|
| 51 | .. Q
|
---|
| 52 | . Q
|
---|
| 53 | F SPNF=5:1:22 D ; FIM Data
|
---|
| 54 | . S $P(SPNFDATA(0),U,SPNF)=$$FIMLEVEL($P(SPNFDATA(0),U,SPNF))
|
---|
| 55 | . Q
|
---|
| 56 | S SPNFDATA(1)=$$CLIN($P($G(^SPNL(154.1,SPNFD0,1,+$G(SPNFD1),0)),U))
|
---|
| 57 | F SPNF=10:1:12 S $P(SPNFDATA(2),U,SPNF)=""
|
---|
| 58 | I $G(^SPNL(154,$P($G(^SPNL(154.1,SPNFD0,0)),U),3))'="" D
|
---|
| 59 | .S SPNSTAT=$G(^SPNL(154,$P($G(^SPNL(154.1,SPNFD0,0)),U),3))
|
---|
| 60 | .S $P(SPNFDATA(2),U,10)=$P(SPNSTAT,U) ; RECEIVED
|
---|
| 61 | .S $P(SPNFDATA(2),U,11)=$$STATNUMB($P(SPNSTAT,U,2)) ; VA1
|
---|
| 62 | .S $P(SPNFDATA(2),U,12)=$$STATNUMB($P(SPNSTAT,U,3)) ; VA2
|
---|
| 63 | .Q
|
---|
| 64 | S $P(SPNFDATA(0),U,22)=$P(SPNFDATA(0),U,22)
|
---|
| 65 | S $P(SPNFDATA(2),U,12)=$P(SPNFDATA(2),U,12)
|
---|
| 66 | Q $P(SPNFDATA(0),U,2,22)_U_SPNFDATA(1)_U_$P(SPNFDATA(2),U,1,12)
|
---|
| 67 | ;
|
---|
| 68 | STATNUMB(D0) ; *** Return: Station_Number
|
---|
| 69 | ; D0 = INSTITUTION file ($4) IEN
|
---|
| 70 | Q $P($G(^DIC(4,+D0,99)),U)
|
---|
| 71 | ;
|
---|
| 72 | FIMLEVEL(D0) ; *** Return: FIM_Level_Number
|
---|
| 73 | ; D0 = FIM LEVEL file (#154.11) IEN
|
---|
| 74 | Q $P($G(^SPNL(154.11,+D0,0)),U)
|
---|
| 75 | ;
|
---|
| 76 | CLIN(D0) ; *** Return Clinician_Name
|
---|
| 77 | ; D0 = NEW PERSON file (#200) IEN
|
---|
| 78 | Q $P($G(^VA(200,+D0,0)),U)
|
---|