[613] | 1 | SPNPATUL ;HIRMFO/WAA - Patinet Select utility ;3/27/98 08:35
|
---|
| 2 | ;;2.0;Spinal Cord Dysfunction;**4,5**;01/02/1997
|
---|
| 3 | PAT(DFN) ;Select a patient
|
---|
| 4 | S SPNLEXIT=+$G(SPNLEXIT)
|
---|
| 5 | Q:SPNLEXIT
|
---|
| 6 | N DIR,Y
|
---|
| 7 | ;Do a dir call on a free text data test for "all,ALL"
|
---|
| 8 | SELECT K DIR,Y
|
---|
| 9 | S DIR(0)="FAO^2:35",DIR("A")="Select a patient: "
|
---|
| 10 | S DIR("?")="^D HELP^SPNPATUL"
|
---|
| 11 | D ^DIR
|
---|
| 12 | I Y="" Q
|
---|
| 13 | I $D(DIRUT) S SPNLEXIT=1 Q
|
---|
| 14 | S SPNSTR=Y
|
---|
| 15 | I $$UP^XLFSTR(SPNSTR)="ALL" D Q:SPNLEXIT Q:'DFN
|
---|
| 16 | .N DIR,Y
|
---|
| 17 | .S DIR(0)="YAO",DIR("A")="Do you mean ""ALL"" Patients? ",DIR("B")="YES"
|
---|
| 18 | .D ^DIR
|
---|
| 19 | .I $G(DIRUT) S SPNLEXIT=1 Q
|
---|
| 20 | .I Y D
|
---|
| 21 | ..W !,"All patients selected..." K DFN S DFN=0,DFN("ALL")="" Q
|
---|
| 22 | ..Q
|
---|
| 23 | .Q
|
---|
| 24 | I $E(SPNSTR,1)="-" D
|
---|
| 25 | .D DELETE
|
---|
| 26 | .Q
|
---|
| 27 | E D
|
---|
| 28 | .D ADD
|
---|
| 29 | .Q
|
---|
| 30 | Q:SPNLEXIT
|
---|
| 31 | G SELECT
|
---|
| 32 | HELP ;This will print out all the help for the user
|
---|
| 33 | N IEN S IEN=0
|
---|
| 34 | W !,"The following is a list of selected patients:"
|
---|
| 35 | I DFN<1 W !,"No patients have been selected yet."
|
---|
| 36 | E F S IEN=$O(DFN(IEN)) Q:IEN<1 D
|
---|
| 37 | .W !,$$GET^DDSVAL(2,IEN,.01,"","E") ; Name
|
---|
| 38 | .W ?40,$$GET^DDSVAL(2,IEN,.09,"","E") ; SSN
|
---|
| 39 | .;**MOD,SD/AB,1/29/98, Changed DOB output to show 4-digit year
|
---|
| 40 | .W ?60,$$FMTE^XLFDT($$GET^DDSVAL(2,IEN,.03,"","I"),"1D") ; DOB
|
---|
| 41 | .Q
|
---|
| 42 | W !,"Enter the patient name or SSN to add a patient to the list."
|
---|
| 43 | W !,"Enter a minus ""-"" before a patient name to remove him from the list."
|
---|
| 44 | W !,"Enter ""ALL"" to select all patients and have the system use filters."
|
---|
| 45 | Q
|
---|
| 46 | ADD ;Put a patient in the select list
|
---|
| 47 | N Y
|
---|
| 48 | D LOOKUP(SPNSTR) Q:SPNLEXIT
|
---|
| 49 | Q:Y=-1
|
---|
| 50 | I $D(DFN(Y)) W !,"Patient is already in list." Q
|
---|
| 51 | S DFN=DFN+1
|
---|
| 52 | S DFN(+Y)=""
|
---|
| 53 | Q
|
---|
| 54 | DELETE ;Remove a patient from the select list
|
---|
| 55 | N Y
|
---|
| 56 | D LOOKUP($E(SPNSTR,2,$L(SPNSTR))) Q:SPNLEXIT
|
---|
| 57 | Q:Y=-1
|
---|
| 58 | I '$D(DFN(+Y)) W !,"Patient is not in list." Q
|
---|
| 59 | S DFN=DFN-1
|
---|
| 60 | K DFN(+Y)
|
---|
| 61 | Q
|
---|
| 62 | LOOKUP(SPNSTR) ;Look-up a patient
|
---|
| 63 | S DIC=2,X=SPNSTR,DIC(0)="QEZ" D ^DIC
|
---|
| 64 | I $D(DTOUT)!($D(DUOUT)) S SPNLEXIT=1
|
---|
| 65 | Q
|
---|