| 1 | SPNFMENU ;HISC/DAD/WAA-INPUT/OUTPUT MENU PROCESS ;8/19/96  11:06
 | 
|---|
| 2 |  ;;2.0;Spinal Cord Dysfunction;**12,19,20,21**;01/02/1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ; This program is a menu program that allow the user to maintain
 | 
|---|
| 5 |  ; the current patient and system varables.
 | 
|---|
| 6 |  ; 
 | 
|---|
| 7 |  ; This program will be called from the three major
 | 
|---|
| 8 |  ; screen edit programs and allow the user to select another
 | 
|---|
| 9 |  ; for those programs.
 | 
|---|
| 10 |  ; 
 | 
|---|
| 11 |  ; Input:
 | 
|---|
| 12 |  ;     SPNFDFN = Patient DFN within file 2
 | 
|---|
| 13 |  ;     SPNFREG = The menu Manager option that called him.
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 | MENU(SPNFREG,SPNFDFN) ; Main menu loop
 | 
|---|
| 16 |  ; This is to select the type of data to enter for a patient.
 | 
|---|
| 17 |  ; If none of the give report are selected then SPNFEXIT is set to 1
 | 
|---|
| 18 |  ; and the program exits.
 | 
|---|
| 19 |  ; Returns SPNFREG as a value of 1 to 4 indicating the type
 | 
|---|
| 20 |  ; of OPTION to be USED.
 | 
|---|
| 21 |  ; Input:
 | 
|---|
| 22 |  ;      SPNFREG = Menu Option
 | 
|---|
| 23 |  ;      SPNFDFN = Patient DFN
 | 
|---|
| 24 |  ;
 | 
|---|
| 25 |  ; Output:
 | 
|---|
| 26 |  ;      SPNFEXIT = 1 User exited
 | 
|---|
| 27 |  ;                 0 User passed
 | 
|---|
| 28 |  K DIRUT
 | 
|---|
| 29 |  N SPNFREG1
 | 
|---|
| 30 |  S SPNFEXIT=0
 | 
|---|
| 31 |  D  G:SPNFEXIT EXIT
 | 
|---|
| 32 |  . I SPNFDFN=0 D PAT^SPNFMENU Q:SPNFEXIT
 | 
|---|
| 33 |  . I SPNFREG=0 D
 | 
|---|
| 34 |  . .D  ; Menu Header
 | 
|---|
| 35 |  . . .S DFN=SPNFDFN
 | 
|---|
| 36 |  . . .D DEM^VADPT
 | 
|---|
| 37 |  . . .W !!,"Patient: ",VADM(1),"  ",$P(VADM(2),U,2)
 | 
|---|
| 38 |  . . .W ?60,"DOB: ",$P(VADM(3),U,2)
 | 
|---|
| 39 |  . . .D KVAR^VADPT
 | 
|---|
| 40 |  . . .Q
 | 
|---|
| 41 |  . .K DIR S DIR(0)="SOM^1:Registration and Health Care Information;2:Outcome Information;3:Clinical Information;4:Select a NEW Patient"
 | 
|---|
| 42 |  . .S DIR("A")="Select the type of record you wish to enter/edit"
 | 
|---|
| 43 |  . .S DIR("?",1)="   Enter 1 to enter/edit Registration and Health Care Information"
 | 
|---|
| 44 |  . .S DIR("?",2)="   Enter 2 to enter/edit Outcome Information"
 | 
|---|
| 45 |  . .S DIR("?",3)="   Enter 3 to enter/edit Clinical Information"
 | 
|---|
| 46 |  . .S DIR("?",4)="   Enter 4 to Select a NEW Patient"
 | 
|---|
| 47 |  . .S DIR("?")="   Choose either 1,2,3, or 4."
 | 
|---|
| 48 |  . .W ! D ^DIR K DIR S SPNFREG=+Y
 | 
|---|
| 49 |  . .I $D(DIRUT) S:$D(DTOUT)!($D(DUOUT)) SPNFEXIT=1 Q
 | 
|---|
| 50 |  . .Q
 | 
|---|
| 51 |  . I SPNFREG=0 S SPNFEXIT=1 Q
 | 
|---|
| 52 |  . D EDIT(SPNFREG,.SPNFDFN)
 | 
|---|
| 53 |  . S SPNFREG=0
 | 
|---|
| 54 |  . Q
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 | EXIT K DA,DDSCHANG,DDSFILE,DDSSAVE,DIC,DIE,DIMSG,DR,DTOUT
 | 
|---|
| 57 |  K SPNFFIM,SPNLD0,SPNFDFN,SPNLFLAG,X,Y
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | EDIT(SPNFTYPE,SPNFDFN) ; *** Choose add / edit a record
 | 
|---|
| 61 |  ;  SPNFTYPE = 1 - Registration and Health Care Information
 | 
|---|
| 62 |  ;             2 - Outcome Information
 | 
|---|
| 63 |  ;             3 - Clinical Information
 | 
|---|
| 64 |  ;             4 - Select a NEW Patient
 | 
|---|
| 65 |  ;  SPNFDFN  = DFN in PATIENT file (#2)
 | 
|---|
| 66 |  S SPNFEXIT=0
 | 
|---|
| 67 |  I SPNFTYPE=2 D REPT^SPNFEDT0(SPNFDFN) Q
 | 
|---|
| 68 |  I SPNFTYPE=1!(SPNFTYPE=3) D  Q
 | 
|---|
| 69 |  .D PAT^SPNFEDT1(SPNFTYPE,SPNFDFN)
 | 
|---|
| 70 |  .Q
 | 
|---|
| 71 |  I SPNFTYPE=4 D PAT^SPNFMENU Q
 | 
|---|
| 72 |  Q
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 | PAT ;Select a patient from the patient file
 | 
|---|
| 75 |  ;    Return list:
 | 
|---|
| 76 |  ;          SPNFDFN = If DFN is null patient DFN from the patient file
 | 
|---|
| 77 |  ;          SPNFMS  = 1 patient has MS Etiology
 | 
|---|
| 78 |  ;                    0 Patient doesn't have MS
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 |  I SPNFREG=3 D PAT1541 Q  ;USED TO ROUTE USER ON THE CLINICAL DATA
 | 
|---|
| 81 |  S SPNFEXIT=0
 | 
|---|
| 82 |  K DIC
 | 
|---|
| 83 |  W ! S DLAYGO=154,DIC="^SPNL(154,",DIC(0)="AELMQ" D ^DIC
 | 
|---|
| 84 |  I +Y'>0 S SPNFEXIT=1 Q
 | 
|---|
| 85 |  S SPNFDFN=+Y
 | 
|---|
| 86 |  Q
 | 
|---|
| 87 | PAT1541 ;Used to look up patients for Outcomes info or Clinical info
 | 
|---|
| 88 |  S SPNFEXIT=0
 | 
|---|
| 89 |  K DIC
 | 
|---|
| 90 |  S DIC("A")="Select SCD (SPINAL CORD) REGISTRY PATIENT: "
 | 
|---|
| 91 |  S DIC="^SPNL(154,",DIC(0)="AEMQ" D ^DIC  ;no help text
 | 
|---|
| 92 |  I +Y'>0 S SPNFEXIT=1 Q
 | 
|---|
| 93 |  S SPNFDFN=+Y
 | 
|---|