1 | PXRMETXU ; SLC/PJH - Extract utilities ;09/06/2007
|
---|
2 | ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
|
---|
3 | ;
|
---|
4 | HELP(CALL) ;General help text routine
|
---|
5 | N HTEXT
|
---|
6 | I CALL=1 D
|
---|
7 | .S HTEXT(1)="Enter 'Y' to overwrite this existing list. Enter 'N' to"
|
---|
8 | .S HTEXT(2)="use a different patient list name."
|
---|
9 | ;
|
---|
10 | I CALL=3 D
|
---|
11 | .S HTEXT(1)="Enter 'Y' to transmit extract. Otherwise enter 'N'."
|
---|
12 | ;
|
---|
13 | I CALL=4 D
|
---|
14 | .S HTEXT(1)="The selected period is the same as next scheduled extract."
|
---|
15 | .S HTEXT(2)="Enter 'Y' if this extract will replace the scheduled"
|
---|
16 | .S HTEXT(3)="extract. Enter 'N' if you still want the scheduled extract"
|
---|
17 | .S HTEXT(4)="to run."
|
---|
18 | ;
|
---|
19 | D HELP^PXRMEUT(.HTEXT)
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | DELETE(IEN) ;Delete an extract summary.
|
---|
23 | I IEN="" Q
|
---|
24 | N DA,DELOK,DIK,NAME
|
---|
25 | S DELOK=1
|
---|
26 | S NAME=$P(^PXRMXT(810.3,IEN,0),U,1)
|
---|
27 | ;Must have PXRM MANAGER key in order to delete national extracts.
|
---|
28 | I $P($G(^PXRMXT(810.3,IEN,100)),U,1)="N" D
|
---|
29 | . S DELOK=$S($D(^XUSEC("PXRM MANAGER",DUZ)):1,1:0)
|
---|
30 | . I 'DELOK D
|
---|
31 | .. W !!,NAME," is national."
|
---|
32 | .. W !,"You cannot delete a national extract summary."
|
---|
33 | .. H 2
|
---|
34 | I 'DELOK Q
|
---|
35 | ;Double check the user really wants to delete.
|
---|
36 | S TEXT="Are you sure you want to delete "_NAME
|
---|
37 | S DELOK=$$ASKYN^PXRMEUT("N","Are you sure you want to delete "_NAME)
|
---|
38 | I 'DELOK Q
|
---|
39 | S DA=IEN
|
---|
40 | S DIK="^PXRMXT(810.3,"
|
---|
41 | D ^DIK
|
---|
42 | W !,"Deleting ",NAME
|
---|
43 | H 2
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | PRGES ;Delete any Extract Summaries over 5 years old
|
---|
47 | N DIFF,EDATE,OLD
|
---|
48 | S OLD=0
|
---|
49 | F S OLD=$O(^PXRMXT(810.3,OLD)) Q:'OLD D
|
---|
50 | .I +$G(^PXRMXT(810.3,OLD,50))'=1 Q
|
---|
51 | .;Extract Date
|
---|
52 | .S EDATE=$P($G(^PXRMXT(810.3,OLD,0)),U,6)
|
---|
53 | .;Ignore if < 5 years (1826 days) since creation
|
---|
54 | .I $$FMDIFF^XLFDT(DT,EDATE,1)<1826 Q
|
---|
55 | .;Otherwise delete
|
---|
56 | .N DIK,DA
|
---|
57 | .S DIK="^PXRMXT(810.3,",DA=OLD D ^DIK
|
---|
58 | Q
|
---|
59 | ;
|
---|
60 | PRGPL ;Delete any Patient Lists over 5 years old
|
---|
61 | N LDATE,OLD
|
---|
62 | S OLD=0
|
---|
63 | F S OLD=$O(^PXRMXP(810.5,OLD)) Q:'OLD D
|
---|
64 | .I +$G(^PXRMXP(810.5,OLD,50))'=1 Q
|
---|
65 | .;Patient List Date
|
---|
66 | .S LDATE=$P($G(^PXRMXP(810.5,OLD,0)),U,4)
|
---|
67 | .;Ignore if < 5 years (1826 days) since creation
|
---|
68 | .I $$FMDIFF^XLFDT(DT,LDATE,1)<1826 Q
|
---|
69 | .;Otherwise delete
|
---|
70 | .N DIK,DA
|
---|
71 | .S DIK="^PXRMXP(810.5,",DA=OLD D ^DIK
|
---|
72 | Q
|
---|
73 | ;
|
---|