1 | PXRMSHF ; SLC/PJH - Edit/Inquire Health Factor Resolutions ;03/17/2000
|
---|
2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
|
---|
3 | ;
|
---|
4 | START N DIC,PXRMGTYP,PXRMHD,PXRMSHF,Y
|
---|
5 | SELECT ;General selection
|
---|
6 | S PXRMHD="Health Factor Resolutions",PXRMGTYP="SHFR",PXRMSHF=""
|
---|
7 | D START^PXRMSEL(PXRMHD,PXRMGTYP,"PXRMSHF")
|
---|
8 | ;Should return a value
|
---|
9 | I PXRMSHF D G SELECT
|
---|
10 | .S PXRMHD="HEALTH FACTOR NAME:"
|
---|
11 | .;Listman option
|
---|
12 | .D START^PXRMGEN(PXRMHD,PXRMGTYP,PXRMSHF)
|
---|
13 | ;
|
---|
14 | END Q
|
---|
15 | ;
|
---|
16 | ;List all HF resolutions (for protocol PXRM SELECTION LIST)
|
---|
17 | ;-----------------------
|
---|
18 | ALL N BY,DC,DHD,DIC,FLDS,FR,L,LOGIC,NOW,TO,Y
|
---|
19 | S Y=1
|
---|
20 | D SET
|
---|
21 | S DIC="^PXRMD(801.95,"
|
---|
22 | S BY=".01"
|
---|
23 | S FR=""
|
---|
24 | S TO=""
|
---|
25 | S DHD="W ?0 D HED^PXRMSHF"
|
---|
26 | D DISP
|
---|
27 | Q
|
---|
28 | ;
|
---|
29 | ;Inquire/Print Option (for protocol PXRM GENERAL INQUIRE/PRINT)
|
---|
30 | ;--------------------
|
---|
31 | INQ(Y) N BY,DC,DHD,DIC,FLDS,FR,L,LOGIC,NOW,TO
|
---|
32 | S DIC="^PXRMD(801.95,"
|
---|
33 | S DIC(0)="AEMQ"
|
---|
34 | D SET
|
---|
35 | D DISP
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | ;Display Header (see DHD variable)
|
---|
39 | ;--------------
|
---|
40 | HED N TEMP,TEXTLEN,TEXTHED,TEXTUND
|
---|
41 | S TEXTHED="HEALTH FACTOR RESOLUTION LIST"
|
---|
42 | S TEXTUND=$TR($J("",IOM)," ","-")
|
---|
43 | S TEMP=NOW_" Page "_DC
|
---|
44 | S TEXTLEN=$L(TEMP)
|
---|
45 | W TEXTHED
|
---|
46 | W ?(IOM-TEXTLEN),TEMP
|
---|
47 | W !,TEXTUND,!!
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | ;DISPLAY (Display from FLDS array)
|
---|
51 | ;-------
|
---|
52 | DISP S L=0,FLDS="[PXRM HEALTH FACTOR RESOLUTIONS]"
|
---|
53 | D EN1^DIP
|
---|
54 | Q
|
---|
55 | ;
|
---|
56 | SET ;Setup all the variables
|
---|
57 | ; Set Date for Header
|
---|
58 | S NOW=$$NOW^XLFDT
|
---|
59 | S NOW=$$FMTE^XLFDT(NOW,"1P")
|
---|
60 | ;
|
---|
61 | ;These variables need to be setup every time because DIP kills them.
|
---|
62 | S BY="NUMBER"
|
---|
63 | S (FR,TO)=+$P(Y,U,1)
|
---|
64 | S DHD="W ?0 D HED^PXRMSHF"
|
---|
65 | ;
|
---|
66 | Q
|
---|
67 | ;
|
---|
68 | ;Build display for selected HF - Called from PXRMGEN
|
---|
69 | ;---------------------------------------------------
|
---|
70 | SHFR(PXRMSHFR) ;
|
---|
71 | N DATA,DARRAY,SUB
|
---|
72 | S VALMCNT=0 K ^TMP("PXRMGENS",$J),^TMP("PXRMGEN",$J)
|
---|
73 | ;
|
---|
74 | ;Format headings to include Health Factor name
|
---|
75 | S HEADER=PXRMHD_" "_$P(^AUTTHF(PXRMSHF,0),U)_" - HF("_PXRMSHF_")"
|
---|
76 | ;
|
---|
77 | ;Build HF Resolutions Display
|
---|
78 | D BUILD(.DARRAY,PXRMSHFR)
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | ;Build Health Factor Resolutions Inquiry array
|
---|
82 | ;---------------------------------------------
|
---|
83 | BUILD(ARRAY,D0) ;
|
---|
84 | N DATA,LCT,RDES,RIEN,SUB
|
---|
85 | S VALMCNT=0 K ^TMP("PXRMGENS",$J),^TMP("PXRMGEN",$J)
|
---|
86 | ;
|
---|
87 | S SUB=0
|
---|
88 | ;Loop through all the resolution statuses
|
---|
89 | F S SUB=$O(^PXRMD(801.95,IEN,1,SUB)) Q:'SUB D
|
---|
90 | .;Get ien for resolution status
|
---|
91 | .S RIEN=$P($G(^PXRMD(801.95,IEN,1,SUB,0)),U) Q:RIEN=""
|
---|
92 | .;Get description
|
---|
93 | .S RDES=$P($G(^PXRMD(801.9,RIEN,0)),U) I RDES="" S RDES=RIEN
|
---|
94 | .;Save Resolution in alpha order
|
---|
95 | .S ^TMP("PXRMGENS",$J,RDES)=SUB
|
---|
96 | ;
|
---|
97 | ;Put the list into the array List Manager is using.
|
---|
98 | S RDES="",LCT=0
|
---|
99 | S VALMCNT=0
|
---|
100 | F S RDES=$O(^TMP("PXRMGENS",$J,RDES)) Q:RDES="" D
|
---|
101 | .S DATA=$G(^TMP("PXRMGENS",$J,RDES))
|
---|
102 | .S VALMCNT=VALMCNT+1,LCT=LCT+1
|
---|
103 | .S ^TMP("PXRMGEN",$J,VALMCNT,0)=" "_RDES
|
---|
104 | .S ^TMP("PXRMGEN",$J,"VALMCNT")=VALMCNT
|
---|
105 | K ^TMP("PXRMGENS",$J)
|
---|
106 | ;Create headings
|
---|
107 | D CHGCAP^VALM("HEADER1","Resolution Status")
|
---|
108 | D CHGCAP^VALM("HEADER2","")
|
---|
109 | D CHGCAP^VALM("HEADER3","")
|
---|
110 | Q
|
---|