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
|
---|