[628] | 1 | SPNLUTL1 ;HISC/WAA/CM-SCD REGISTRY FILE UTILITIES #2 ;8/6/96 15:51
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;**12,14**;01/02/1997
|
---|
| 3 | ;
|
---|
| 4 | ; This routine is a utility routine that will contain the code
|
---|
| 5 | ; that will be used in Screen Manager calls.
|
---|
| 6 | ;
|
---|
| 7 | ;EN1(SPNLDFN)
|
---|
| 8 | ; This call is use in the SCREENMAN form SPNLPFM1. It will
|
---|
| 9 | ; load several varables that are going to be passed back to
|
---|
| 10 | ; The calling form.
|
---|
| 11 | ;INPUT:
|
---|
| 12 | ; SPNLDFN = Patient DFN
|
---|
| 13 | ;OUTPUT:
|
---|
| 14 | ; SPNLSSN = Patient SSN
|
---|
| 15 | ; SPNLDOB = Patient date of birth
|
---|
| 16 | ; SPNLDEAD = Patient date of death
|
---|
| 17 | ; SPNLINDC = SCI/SCD patient indicator
|
---|
| 18 | ; SPNLPHON = Patient phone number
|
---|
| 19 | ;
|
---|
| 20 | ;EN2
|
---|
| 21 | ; This function will is to determine if a patient has a given
|
---|
| 22 | ; reaction.
|
---|
| 23 | ;INPUT:
|
---|
| 24 | ; SPNLDFN = Patient DFN
|
---|
| 25 | ; SPNLETO = Freetext of Patient Etiology
|
---|
| 26 | ;OUTPUT:
|
---|
| 27 | ; 1 = Patient has the given Etiology
|
---|
| 28 | ; 0 = Patient doesn't have the Etiology
|
---|
| 29 | ; "" = Etiology doesn't exist
|
---|
| 30 | ;
|
---|
| 31 | ;EN3
|
---|
| 32 | ; This function will is to determine if a patient has a given
|
---|
| 33 | ; reaction for the current entry.
|
---|
| 34 | ;INPUT:
|
---|
| 35 | ; SPNLDFN = Patient DFN
|
---|
| 36 | ; SPNLETO = Freetext of Patient Etiology
|
---|
| 37 | ;OUTPUT:
|
---|
| 38 | ; 1 = Patient has the given Etiology
|
---|
| 39 | ; 0 = Patient doesn't have the Etiology
|
---|
| 40 | ; "" = Etiology doesn't exist
|
---|
| 41 | ;
|
---|
| 42 | ;EN4
|
---|
| 43 | ; This function will determine if a patient has a given Type of CAUSE.
|
---|
| 44 | ;INPUT:
|
---|
| 45 | ; SPNLDFN = Patient DFN
|
---|
| 46 | ; SPNLTYPE = Type of CAUSE
|
---|
| 47 | ; [Values to be passed are TC, NTC, B, U]
|
---|
| 48 | ;OUTPUT
|
---|
| 49 | ; 1 = Patient has That type of cause
|
---|
| 50 | ; 0 = Patient doesn't have that cause
|
---|
| 51 | ; "" = Error in function
|
---|
| 52 | ;
|
---|
| 53 | ;EN5
|
---|
| 54 | ; This function will total up all the Chart scors for a patient.
|
---|
| 55 | ;INPUT:
|
---|
| 56 | ; SPNFDFN = Patient DFN
|
---|
| 57 | ;OUTPUT;
|
---|
| 58 | ; "" = Error
|
---|
| 59 | ; 1 to 500 = Value of all chart scores added.
|
---|
| 60 | ;
|
---|
| 61 | EN1(SPNLDFN) ; Load Form SPNLPFM1
|
---|
| 62 | N SPND1
|
---|
| 63 | Q:SPNLDFN<1
|
---|
| 64 | S (SPNLSSN,SPNLDOB,SPNLDEAD,SPNLINDC,SPNLPHON)=""
|
---|
| 65 | S SPNLSSN=$$GET^DDSVAL(2,.SPNLDFN,.09,1)
|
---|
| 66 | S Y=$$GET^DDSVAL(2,.SPNLDFN,.03,1) X ^DD("DD") S SPNLDOB=Y K Y
|
---|
| 67 | S Y=$$GET^DDSVAL(2,.SPNLDFN,.351,1) I Y>1 X ^DD("DD") S SPNLDEAD=Y K Y
|
---|
| 68 | S SPNLINDC=$$GET^DDSVAL(2,.SPNLDFN,57.4,"","E")
|
---|
| 69 | S SPNLPHON=$$GET^DDSVAL(2,.SPNLDFN,.131,1)
|
---|
| 70 | S SPND1=0
|
---|
| 71 | F S SPND1=$O(^SPNL(154,SPNLDFN,"E",SPND1)) Q:SPND1<1 D
|
---|
| 72 | . N SPNX,SPNCK
|
---|
| 73 | . S SPNX=SPND1
|
---|
| 74 | . S SPNX(1)=SPNLDFN
|
---|
| 75 | . S SPNCK=$$EN3^SPNLUTL1(.SPNX,"OTHER")
|
---|
| 76 | . D UNED^DDSUTL("DESC OTHER","SPNLPBLK2",1,('SPNCK),SPND1_","_SPNLDFN_",")
|
---|
| 77 | . Q
|
---|
| 78 | Q
|
---|
| 79 | EN2(SPNLDFN,SPNLETO) ; Find patient Etiology
|
---|
| 80 | N SPNLETO1,SPNLIEN,SPNLFLG
|
---|
| 81 | S SPNLFLG=""
|
---|
| 82 | I SPNLDFN<1!(SPNLETO="") Q SPNLFLG
|
---|
| 83 | S SPNLETO1=$O(^SPNL(154.03,"B",SPNLETO,0)) I SPNLETO1<1 Q SPNLFLG
|
---|
| 84 | S SPNLFLG=0
|
---|
| 85 | S SPNLIEN=0 F S SPNLIEN=$O(^SPNL(154,SPNLDFN,"E",SPNLIEN)) Q:SPNLIEN<1 I $P($G(^SPNL(154,SPNLDFN,"E",SPNLIEN,0)),U)=SPNLETO1 S SPNLFLG=1 Q
|
---|
| 86 | Q SPNLFLG
|
---|
| 87 | EN3(SPNLDA,SPNLETO) ; Check to see if a given entry us of a given type.
|
---|
| 88 | N SPNLTXT,SPNLFLG
|
---|
| 89 | S SPNLFLG=0
|
---|
| 90 | S SPNLET1=+$P(^SPNL(154,SPNLDA(1),"E",SPNLDA,0),U)
|
---|
| 91 | S SPNLTXT=$P($G(^SPNL(154.03,SPNLET1,0)),U)
|
---|
| 92 | I SPNLTXT[SPNLETO S SPNLFLG=1
|
---|
| 93 | Q SPNLFLG
|
---|
| 94 | EN4(SPNLDFN,SPNLTYPE) ; Find patient Type of cause.
|
---|
| 95 | N SPNLIEN,SPNLETO,SPNLFLG
|
---|
| 96 | S SPNLFLG=""
|
---|
| 97 | I "^TC^NTC^B^U^"'[(U_SPNLTYPE_U) Q SPNLFLG
|
---|
| 98 | S SPNLFLG=0
|
---|
| 99 | I SPNLTYPE="B" G BOTH
|
---|
| 100 | S SPNLIEN=0 F S SPNLIEN=$O(^SPNL(154,SPNLDFN,"E",SPNLIEN)) Q:SPNLIEN<1 S SPNLETO=+$P($G(^SPNL(154,SPNLDFN,"E",SPNLIEN,0)),U) I $P($G(^SPNL(154.03,SPNLETO,0)),U,2)=SPNLTYPE S SPNLFLG=1 Q
|
---|
| 101 | BOTH I SPNLTYPE="B" S SPNLIEN=0 F S SPNLIEN=$O(^SPNL(154,SPNLDFN,"E",SPNLIEN)) Q:SPNLIEN<1 S SPNLETO=+$P($G(^SPNL(154,SPNLDFN,"E",SPNLIEN,0)),U) I $P($G(^SPNL(154.03,SPNLETO,0)),U,2)'="U" S SPNLFLG=1 Q
|
---|
| 102 | Q SPNLFLG
|
---|
| 103 | EN5(SPNFDFN) ; Add CHART SCORES
|
---|
| 104 | N SPNFVAL,SPNFPC
|
---|
| 105 | S SPNFVAL=""
|
---|
| 106 | F SPNFPC=4.1:.1:4.6 S SPNFVAL=($$GET^DDSVAL(154.1,.SPNFDFN,SPNFPC,"","I"))+SPNFVAL
|
---|
| 107 | Q SPNFVAL
|
---|