1 | PXRMSEDT ; SLC/PJH - Edit a reminder resolution status ;05/11/2000
|
---|
2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
3 | ;
|
---|
4 | ;Called from PXRMGEDT
|
---|
5 | ;
|
---|
6 | ;Edit/Delete resolution status
|
---|
7 | ;-----------------------------
|
---|
8 | EDIT(ROOT,DA) ;
|
---|
9 | N DIC,DIE,DR,LIEN,TAX,NATIONAL,DIDEL
|
---|
10 | S DIE=ROOT,LIEN=DA
|
---|
11 | ;
|
---|
12 | ;Check if this is a restricted edit status (i.e. national status)
|
---|
13 | S NATIONAL=+$P($G(^PXRMD(801.9,DA,0)),U,6)
|
---|
14 | ;
|
---|
15 | ;If national status only allow entry of sub-status or inactive
|
---|
16 | I NATIONAL S DR="10;.04"
|
---|
17 | ;
|
---|
18 | ;Otherwise do not allow entry of restricted edit or sub-status
|
---|
19 | I 'NATIONAL S DR=".01;1;.02;.03;.04;.05///"_DUZ S DIDEL=801.9
|
---|
20 | ;
|
---|
21 | D ^DIE Q:$D(Y) I '$D(DA) S VALMBCK="Q" Q
|
---|
22 | ;
|
---|
23 | ;If a local status - warning if not allocated to a national status
|
---|
24 | Q:NATIONAL Q:$D(^PXRMD(801.9,"AC",DA))
|
---|
25 | ;Select National code
|
---|
26 | W !!,"This resolution status must be linked to a national status",!
|
---|
27 | N DA,DIC
|
---|
28 | S DIC="^PXRMD(801.9,"
|
---|
29 | S DIC(0)="AEMQ"
|
---|
30 | S DIC("S")="I $P(^(0),U,6)=1"
|
---|
31 | S DIC("A")="SELECT NATIONAL RESOLUTION STATUS: "
|
---|
32 | ;Get the next name.
|
---|
33 | D ^DIC
|
---|
34 | S:Y=-1 DUOUT=1 Q:$D(DUOUT)!$D(DTOUT)
|
---|
35 | ;Update sub-status field in national status
|
---|
36 | N FDA,FDAIEN,MSG
|
---|
37 | S FDA(801.9001,"+2,"_+Y_",",.01)=LIEN
|
---|
38 | D UPDATE^DIE("S","FDA","FDAIEN","MSG")
|
---|
39 | I $D(MSG) D ERR
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | ;Error Messages from UPDATE^DIE
|
---|
43 | ;------------------------------
|
---|
44 | ERR N IC,ERROR,REF
|
---|
45 | ;Move MSG into ERROR
|
---|
46 | S REF="MSG",ERROR(1)="Error in UPDATE^DIE, needs further investigation"
|
---|
47 | F IC=2:1 S REF=$Q(@REF) Q:REF="" S ERROR(IC)=REF_"="_@REF
|
---|
48 | ;Screen message
|
---|
49 | D BMES^XPDUTL(.ERROR)
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | KILLAC ;This only applies if deleting a sub-status
|
---|
53 | I '$D(^PXRMD(801.9,DA)) Q
|
---|
54 | ;
|
---|
55 | N SUB,NAT
|
---|
56 | ;Get the national status for this sub status, quit if none
|
---|
57 | S NAT=""
|
---|
58 | F S NAT=$O(^PXRMD(801.9,"AC",DA,NAT)) Q:NAT="" D
|
---|
59 | .;Get sub status position in the national code, quit if none
|
---|
60 | .S SUB=$O(^PXRMD(801.9,"AC",DA,NAT,"")) Q:SUB=""
|
---|
61 | .;Kill the sub-status on the national code
|
---|
62 | .N DIC,DIK,DA S DIK="^PXRMD(801.9,NAT,10,",DA(1)=NAT,DA=SUB D ^DIK
|
---|
63 | Q
|
---|