1 | PXRMRESN ; SLC/PJH - Edit/Inquire resolution statuses ;03/17/2000
|
---|
2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
3 | ;
|
---|
4 | START N DIC,PXRMGTYP,PXRMHD,PXRMRESN,Y
|
---|
5 | ;Select reminder category for display
|
---|
6 | SELECT ;General selection
|
---|
7 | S PXRMHD="Reminder Resolution Status",PXRMGTYP="RESN",PXRMRESN=""
|
---|
8 | D START^PXRMSEL(PXRMHD,PXRMGTYP,"PXRMRESN")
|
---|
9 | ;Should return a value
|
---|
10 | I PXRMRESN D G SELECT
|
---|
11 | .S PXRMHD="REMINDER RESOLUTION STATUS NAME:"
|
---|
12 | .;Listman option
|
---|
13 | .D START^PXRMGEN(PXRMHD,PXRMGTYP,PXRMRESN)
|
---|
14 | ;
|
---|
15 | END Q
|
---|
16 | ;
|
---|
17 | ;REMINDER RESOLUTION STATUSES #801.9
|
---|
18 | ;-----------------------------------
|
---|
19 | ;Temporary list of STATUSES
|
---|
20 | DISP N CNT,CODE,DES,SUB,TXT
|
---|
21 | W #,"REMINDER RESOLUTION STATUS SELECTION",!
|
---|
22 | S CODE="",CNT=0
|
---|
23 | F S CODE=$O(^PXRMD(801.9,"B",CODE)) Q:CODE="" D
|
---|
24 | .S CNT=CNT+1
|
---|
25 | .W !,CODE
|
---|
26 | W !
|
---|
27 | Q
|
---|
28 | ;
|
---|
29 | ;Build display for selected status - Called from PXRMGEN
|
---|
30 | ;---------------------------------------------------------
|
---|
31 | RESN(PXRMRESN) ;
|
---|
32 | N DATA,DARRAY,SUB
|
---|
33 | S VALMCNT=0 K ^TMP("PXRMGENS",$J),^TMP("PXRMGEN",$J)
|
---|
34 | ;
|
---|
35 | ;Format headings to include resolution name
|
---|
36 | S HEADER=PXRMHD_" "_$P(^PXRMD(801.9,PXRMRESN,0),U)
|
---|
37 | ;
|
---|
38 | ;Build Reminder Resolution Status Display
|
---|
39 | D BUILD(.DARRAY,PXRMRESN) M ^TMP("PXRMGENS",$J)=DARRAY
|
---|
40 | ;
|
---|
41 | ;Put the list into the array List Manager is using.
|
---|
42 | S SUB=""
|
---|
43 | S VALMCNT=0
|
---|
44 | F S SUB=$O(^TMP("PXRMGENS",$J,SUB)) Q:SUB="" D
|
---|
45 | .S DATA=$G(^TMP("PXRMGENS",$J,SUB))
|
---|
46 | .S VALMCNT=VALMCNT+1
|
---|
47 | .S ^TMP("PXRMGEN",$J,VALMCNT,0)=DATA
|
---|
48 | S ^TMP("PXRMGEN",$J,"VALMCNT")=VALMCNT
|
---|
49 | K ^TMP("PXRMGENS",$J)
|
---|
50 | ;Create headings
|
---|
51 | D CHGCAP^VALM("HEADER1","")
|
---|
52 | D CHGCAP^VALM("HEADER2","")
|
---|
53 | D CHGCAP^VALM("HEADER3","")
|
---|
54 | Q
|
---|
55 | ;
|
---|
56 | ;Build Resolution Status Inquiry array
|
---|
57 | ;-------------------------------------
|
---|
58 | BUILD(ARRAY,D0) ;
|
---|
59 | N DIWF,DIWL,DIWR,IC,SUB,TAB,TXT,X
|
---|
60 | N ABBR,COL,CREA,DATA,DESC,FOUND,INACT,REST
|
---|
61 | S DIWF="C70",DIWL=0,DIWR=70,IC=0
|
---|
62 | K ^UTILITY($J,"W")
|
---|
63 | ;Get Resolution status details
|
---|
64 | S DATA=$G(^PXRMD(801.9,D0,0))
|
---|
65 | S DESC=$P(DATA,U),ABBR=$P(DATA,U,2),COL=$P(DATA,U,3),INACT=$P(DATA,U,4)
|
---|
66 | S CREA=$P(DATA,U,5),REST=$P(DATA,U,6)
|
---|
67 | ;
|
---|
68 | ;Resolution Status
|
---|
69 | S TXT="Resolution Status: "_DESC
|
---|
70 | ;Restricted edit is same as National
|
---|
71 | S:REST TXT="National "_TXT D SET(0,TXT,1)
|
---|
72 | ;
|
---|
73 | S TXT="Resolution Status Description" D SET(0,TXT,0)
|
---|
74 | ;Get Resolution Status description
|
---|
75 | S SUB=0,TAB=0,FOUND=0
|
---|
76 | F S SUB=$O(^PXRMD(801.9,D0,1,SUB)) Q:SUB="" D
|
---|
77 | .S X=$G(^PXRMD(801.9,D0,1,SUB,0))
|
---|
78 | .D ^DIWP
|
---|
79 | F S SUB=$O(^UTILITY($J,"W",0,SUB)) Q:SUB="" D
|
---|
80 | .D SET(5,^UTILITY($J,"W",0,SUB,0),0) S FOUND=1
|
---|
81 | K ^UTILITY($J,"W")
|
---|
82 | ;Display no description message
|
---|
83 | I 'FOUND S TXT="*NONE*" D SET(5,TXT,0)
|
---|
84 | D SET(0,"",1)
|
---|
85 | ;
|
---|
86 | ;Related National Status from cross reference
|
---|
87 | I 'REST D
|
---|
88 | .;Get national code from cross reference
|
---|
89 | .N IEN S IEN=$O(^PXRMD(801.9,"AC",D0,""))
|
---|
90 | .;If none allocated say so
|
---|
91 | .I 'IEN S TXT="***UNDEFINED***"
|
---|
92 | .;Get name of national status and display
|
---|
93 | .I IEN S TXT=$P($G(^PXRMD(801.9,IEN,0)),U)
|
---|
94 | .S TXT="Related National Status: "_TXT D SET(3,TXT,0)
|
---|
95 | ;
|
---|
96 | ;Abbreviated Name
|
---|
97 | S TXT="Abbreviated name: "_ABBR D SET(10,TXT,0)
|
---|
98 | ;Report Column Headings
|
---|
99 | S TXT="Report Column Headings: "_ABBR D SET(4,TXT,0)
|
---|
100 | ;Inactive flag
|
---|
101 | S TXT="Inactive Flag: "_$S(INACT:"INACTIVE",1:"") D SET(13,TXT,0)
|
---|
102 | ;Creator for local codes
|
---|
103 | I CREA,'REST D
|
---|
104 | .S TXT="Creator: "_$$GET1^DIQ(200,CREA,.01) D SET(19,TXT,0)
|
---|
105 | ;Local Resolution Statuses
|
---|
106 | I REST D
|
---|
107 | .N LARRAY,LIEN S SUB=0,FOUND=0
|
---|
108 | .F S SUB=$O(^PXRMD(801.9,D0,10,SUB)) Q:'SUB D
|
---|
109 | ..S LIEN=$P($G(^PXRMD(801.9,D0,10,SUB,0)),U)
|
---|
110 | ..I LIEN S LARRAY(LIEN)="",FOUND=1
|
---|
111 | .S TXT="Local Resolution Statuses:" D SET(0,"",1),SET(0,TXT,0)
|
---|
112 | .I 'FOUND S TXT="*NONE*" D SET(5,TXT,0) Q
|
---|
113 | .S LIEN="" F S LIEN=$O(LARRAY(LIEN)) Q:'LIEN D
|
---|
114 | ..S TXT=$P($G(^PXRMD(801.9,LIEN,0)),U) D SET(4,TXT,0)
|
---|
115 | Q
|
---|
116 | ;
|
---|
117 | ;Save local array
|
---|
118 | ;----------------
|
---|
119 | SET(TAB,TXT,LF) ;
|
---|
120 | ;Save main line
|
---|
121 | S IC=IC+1,ARRAY(IC)=$J("",TAB)_TXT
|
---|
122 | ;Additional line feeds
|
---|
123 | I LF D
|
---|
124 | .N CNT F CNT=1:1:LF S IC=IC+1,ARRAY(IC)=$J("",79)
|
---|
125 | Q
|
---|