Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMEXLM.m

    r613 r623  
    1 PXRMEXLM        ; SLC/PKR/PJH - Clinical Reminder Exchange List Manager routines. ;10/11/2007
    2         ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
    3         ;
    4         ;=====================================================
    5 CRE     ;Create a packed reminder and store it in the repository.
    6         N RTP,SUCCESS,TMPIND
    7         K VALMHDR
    8         S RTP=$$GETREM^PXRMEXPU("pack")
    9         I +RTP'>0 D  Q
    10         . S VALMHDR(1)="No reminder selected!"
    11         . S VALMBCK="R"
    12         S TMPIND="PXRMEXPR"
    13         D PACK^PXRMEXPR(RTP,TMPIND)
    14         D STOREPR^PXRMEXU2(.SUCCESS,RTP,TMPIND,"REMINDER")
    15         I SUCCESS D
    16         . S VALMHDR(1)="Packed reminder for "_$P(RTP,U,2)
    17         . S VALMHDR(2)="was saved in Exchange File."
    18         . D BLDLIST^PXRMEXLC(1)
    19         E  D
    20         . S VALMHDR(1)="Creation of packed reminder for "_$P(RTP,U,2)
    21         . S VALMHDR(2)="failed; it was not saved!"
    22         S VALMBCK="R"
    23         Q
    24         ;
    25         ;=====================================================
    26 DEFINQ  ;Reminder definition inquiry.
    27         N GBL,IEN,PXRMROOT,VALMCNT
    28         S GBL="^TMP(""PXRMRINQ"",$J)"
    29         S GBL=$NA(@GBL)
    30         S PXRMROOT="^PXD(811.9,"
    31         S IEN=$$SELECT^PXRMINQ(PXRMROOT,"Select Reminder Definition: ","")
    32         S IEN=$P(IEN,U,1)
    33         I IEN=-1 S VALMBCK="R" Q
    34         K ^TMP("PXRMRINQ",$J)
    35         D REMVAR^PXRMINQ(GBL,IEN)
    36         S VALMCNT=$O(^TMP("PXRMRINQ",$J,""),-1)
    37         D EN^VALM("PXRM EX DEFINITION INQUIRY")
    38         K ^TMP("PXRMRINQ",$J)
    39         S VALMBCK="R"
    40         Q
    41         ;
    42         ;=====================================================
    43 ENTRY   ;Entry code
    44         D BLDLIST^PXRMEXLC(0)
    45         D XQORM
    46         Q
    47         ;
    48         ;=====================================================
    49 EXIT    ;Exit code
    50         K ^TMP("PXRMEXDH",$J)
    51         K ^TMP("PXRMEXHF",$J)
    52         K ^TMP("PXRMEXFND",$J)
    53         K ^TMP("PXRMEXIA",$J)
    54         K ^TMP("PXRMEXIAD",$J)
    55         K ^TMP("PXRMEXID",$J)
    56         K ^TMP("PXRMEXIH",$J)
    57         K ^TMP("PXRMEXLC",$J)
    58         K ^TMP("PXRMEXLD",$J)
    59         K ^TMP("PXRMEXLHF",$J)
    60         K ^TMP("PXRMEXLMM",$J)
    61         K ^TMP("PXRMEXLR",$J)
    62         K ^TMP("PXRMEXMH",$J)
    63         K ^TMP("PXRMEXMM",$J)
    64         K ^TMP("PXRMEXRI",$J)
    65         K ^TMP("PXRMEXTMP",$J)
    66         K ^TMP("PXRMEXTXT",$J)
    67         D CLEAN^VALM10
    68         D FULL^VALM1
    69         S VALMBCK="Q"
    70         Q
    71         ;
    72         ;=====================================================
    73 HDR     ; Header code
    74         S VALMHDR(1)="Exchange File Entries."
    75         S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
    76         Q
    77         ;
    78         ;=====================================================
    79 HELP    ;Help code
    80         ;The following variables have to be newed so that when we return
    81         ;from the help display they will be defined.
    82         N ORU,ORUPRMT,XQORM
    83         D EN^VALM("PXRM EX MAIN HELP")
    84         Q
    85         ;
    86         ;=====================================================
    87 INIT    ;Init
    88         S VALMCNT=0
    89         Q
    90         ;
    91         ;=====================================================
    92 LDHF    ;Load a host file into the repository.
    93         N IND,FILE,PATH,RBL,SUCCESS,TEMP
    94         ;Select the host file to load.
    95         D CLEAR^VALM1
    96         S TEMP=$$GETEHF^PXRMEXHF
    97         I TEMP="" S VALMBCK="R" Q
    98         S PATH=$P(TEMP,U,1)
    99         S FILE=$P(TEMP,U,2)
    100         D LHF^PXRMEXHF(.SUCCESS,PATH,FILE)
    101         S RBL=SUCCESS
    102         I SUCCESS D
    103         . S VALMHDR(1)="Host file "_PATH_FILE_" successfully loaded."
    104         E  D
    105         . S VALMHDR(1)="There were problems loading host file "_PATH_FILE_"."
    106         . S TEMP=""
    107         . S IND=""
    108         . F  S IND=$O(SUCCESS(IND)) Q:+IND=0  D
    109         .. I SUCCESS(IND) S RBL=1 Q
    110         .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND
    111         .. E  S TEMP=TEMP_IND_", "
    112         . S VALMHDR(2)="Entries with problems were "_TEMP_"."
    113         ;Rebuild the list for display.
    114         D BLDLIST^PXRMEXLC(RBL)
    115         S VALMBCK="R"
    116         Q
    117         ;
    118         ;=====================================================
    119 LDMM    ;Load a MailMan message into the repository.
    120         N IND,RBL,TEMP,XMZ
    121         ;Select the MailMan message to load.
    122         D CLEAR^VALM1
    123         S XMZ=$$GETMESSN^PXRMEXMM
    124         I XMZ=-1 W !,"No packed reminder definitions selected/found!" H 2
    125         I +XMZ'>0 S VALMBCK="R" Q
    126         D LMM^PXRMEXMM(.SUCCESS,XMZ)
    127         S RBL=SUCCESS
    128         I SUCCESS D
    129         . S VALMHDR(1)="MailMan message "_XMZ_" successfully loaded."
    130         .;Rebuild the list for display.
    131         . D BLDLIST^PXRMEXLC(1)
    132         E  D
    133         . S VALMHDR(1)="There were problems loading MailMan message "_XMZ_"."
    134         . S TEMP=""
    135         . S IND=""
    136         . F  S IND=$O(SUCCESS(IND)) Q:+IND=0  D
    137         .. I SUCCESS(IND) S RBL=1 Q
    138         .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND
    139         .. E  S TEMP=TEMP_IND_", "
    140         . S VALMHDR(2)="Entries with problems were "_TEMP_"."
    141         ;Rebuild the list for display.
    142         D BLDLIST^PXRMEXLC(RBL)
    143         S VALMBCK="R"
    144         Q
    145         ;
    146         ;=====================================================
    147 LRDEF   ;List the name and print name of all reminder definitions.
    148         N VALMCNT
    149         I $D(^TMP("PXRMEXLD",$J,"VALMCNT")) S VALMCNT=^TMP("PXRMEXLD",$J,"VALMCNT")
    150         E  D
    151         . N ARO,DEFLIST
    152         . S ARO=$$QUERYAO^PXRMLIST
    153         . S ^TMP("PXRMEXLD",$J,"ARO")=ARO
    154         . D RDEF^PXRMLIST(.DEFLIST,ARO)
    155         . M ^TMP("PXRMEXLD",$J)=DEFLIST
    156         . S VALMCNT=DEFLIST("VALMCNT")
    157         I '$G(^TMP("PXRMEXLD",$J,"ARO")) D CHGCAP^VALM("INACTIVE","Inactive")
    158         D EN^VALM("PXRM EX REMINDER LIST")
    159         Q
    160         ;
    161         ;=====================================================
    162 PEXIT   ;PXRM EXCH MENU protocol exit code
    163         S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
    164         ;Reset after page up/down etc
    165         D XQORM
    166         Q
    167         ;
    168         ;=====================================================
    169 START   ;Main entry point for PXRM EXCHANGE
    170         N PXRMDONE,PXRMNMCH
    171         ;PXRMDONE is set to true if the user enters an action of Quit.
    172         S PXRMDONE=0
    173         ;PXRMNMCH is used to store name change information. If a finding
    174         ;is copied to a new name or is replaced by another finding the
    175         ;information is stored here. It is used when installing definitions
    176         ;or dialogs so they use the new or replaced finding.
    177         N VALMBCK,VALMSG,X,XMZ
    178         S X="IORESET"
    179         D ENDR^%ZISS
    180         D EN^VALM("PXRM EX REMINDER EXCHANGE")
    181         W IORESET
    182         D KILL^%ZISS
    183         Q
    184         ;
    185         ;=====================================================
    186 XQORM   S XQORM("#")=$O(^ORD(101,"B","PXRM EXCH SELECT ENTRY",0))_U_"1:"_VALMCNT
    187         S XQORM("A")="Select Action: "
    188         Q
    189         ;
    190         ;=====================================================
    191 XSEL    ;PXRM EXCH SELECT COMPONENT validation
    192         N SEL,PXRMRIEN
    193         S SEL=$P(XQORNOD(0),"=",2)
    194         ;Remove trailing ,
    195         I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1)
    196         ;Invalid selection
    197         I SEL["," D  Q
    198         .W $C(7),!,"Only one item number allowed." H 2
    199         .S VALMBCK="R"
    200         I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("SEL",SEL))) D  Q
    201         .W $C(7),!,SEL_" is not a valid item number." H 2
    202         .S VALMBCK="R"
    203         ;
    204         ;Get the repository ien.
    205         S PXRMRIEN=^TMP("PXRMEXLR",$J,"SEL",SEL)
    206         ;
    207         ;Full screen mode
    208         D FULL^VALM1
    209         ;
    210         ;Option to Install, Delete or Install History
    211         N DIR,DIROUT,DIRUT,DTOUT,DUOUT,OPTION,X,Y
    212         S DIR(0)="SBM"_U_"IFE:Install Exchange File Entry;"
    213         S DIR(0)=DIR(0)_"DFE:Delete Exchange File Entry;"
    214         S DIR(0)=DIR(0)_"IH:Installation History;"
    215         S DIR("A")="Select Action: "
    216         S DIR("B")="IFE"
    217         S DIR("?")="Select from the codes displayed. For detailed help type ??"
    218         S DIR("??")=U_"D HLP^PXRMEXIX(3)"
    219         D ^DIR
    220         I $D(DIROUT)!$D(DIRUT) S VALMBCK="R" Q
    221         I $D(DTOUT)!$D(DUOUT) S VALMBCK="R" Q
    222         S OPTION=Y
    223         ;
    224         ;Install
    225         I OPTION="IFE" D
    226         .D EN^VALM("PXRM EX LIST COMPONENTS")
    227         .K ^TMP("PXRMEXLC",$J)
    228         ;
    229         I OPTION="DFE" D
    230         .N COUNT,DELLIST,IEN,IND,RELIST,VALMY
    231         .S DELLIST(PXRMRIEN)=""
    232         .D DELETE^PXRMEXU1(.DELLIST)
    233         .;Rebuild the list for List Manager to display.
    234         .K ^TMP("PXRMEXLR",$J)
    235         .D REXL^PXRMLIST("PXRMEXLR")
    236         .S VALMCNT=^TMP("PXRMEXLR",$J,"VALMCNT")
    237         .S VALMHDR(1)="Deleted 1 exchange file entry",VALMHDR(2)=" ",VALMBCK="R"
    238         ;
    239         I OPTION="IH" D START^PXRMEXIH
    240         ;
    241         S VALMBCK="R"
    242         Q
     1PXRMEXLM ; SLC/PKR/PJH - Clinical Reminder Exchange List Manager routines. ;12/22/2004
     2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
     3 ;
     4 ;=====================================================
     5CRE ;Create a packed reminder and store it in the repository.
     6 N RTP,SUCCESS,TMPIND
     7 K VALMHDR
     8 S RTP=$$GETREM^PXRMEXPU("pack")
     9 I +RTP'>0 D  Q
     10 . S VALMHDR(1)="No reminder selected!"
     11 . S VALMBCK="R"
     12 S TMPIND="PXRMEXPR"
     13 D PACK^PXRMEXPR(RTP,TMPIND)
     14 D STOREPR^PXRMEXU2(.SUCCESS,RTP,TMPIND,"REMINDER")
     15 I SUCCESS D
     16 . S VALMHDR(1)="Packed reminder for "_$P(RTP,U,2)
     17 . S VALMHDR(2)="was saved in Exchange File."
     18 . D BLDLIST^PXRMEXLC(1)
     19 E  D
     20 . S VALMHDR(1)="Creation of packed reminder for "_$P(RTP,U,2)
     21 . S VALMHDR(2)="failed; it was not saved!"
     22 S VALMBCK="R"
     23 Q
     24 ;
     25 ;=====================================================
     26DEFINQ ;Reminder definition inquiry.
     27 N GBL,IEN,PXRMROOT,VALMCNT
     28 S GBL="^TMP(""PXRMRINQ"",$J)"
     29 S GBL=$NA(@GBL)
     30 S PXRMROOT="^PXD(811.9,"
     31 S IEN=$$SELECT^PXRMINQ(PXRMROOT,"Select Reminder Definition: ","")
     32 S IEN=$P(IEN,U,1)
     33 I IEN=-1 S VALMBCK="R" Q
     34 K ^TMP("PXRMRINQ",$J)
     35 D REMVAR^PXRMINQ(GBL,IEN)
     36 S VALMCNT=$O(^TMP("PXRMRINQ",$J,""),-1)
     37 D EN^VALM("PXRM EX DEFINITION INQUIRY")
     38 K ^TMP("PXRMRINQ",$J)
     39 S VALMBCK="R"
     40 Q
     41 ;
     42 ;=====================================================
     43EN ;Main entry point for PXRM EXCHANGE
     44 N PXRMDONE,PXRMNMCH
     45 ;PXRMDONE is set to true if the user enters an action of Quit.
     46 S PXRMDONE=0
     47 ;PXRMNMCH is used to store name change information. If a finding
     48 ;is copied to a new name or is replaced by another finding the
     49 ;information is stored here. It is used when installing definitions
     50 ;or dialogs so they use the new or replaced finding.
     51 N VALMBCK,VALMSG,X,XMZ
     52 S X="IORESET"
     53 D ENDR^%ZISS
     54 D BLDLIST^PXRMEXLC(0)
     55 D EN^VALM("PXRM EX REMINDER EXCHANGE")
     56 W IORESET
     57 D KILL^%ZISS
     58 Q
     59 ;
     60 ;=====================================================
     61ENTRY ;Entry code
     62 D XQORM
     63 Q
     64 ;
     65 ;=====================================================
     66EXIT ;Exit code
     67 K ^TMP("PXRMEXDH",$J)
     68 K ^TMP("PXRMEXHF",$J)
     69 K ^TMP("PXRMEXFND",$J)
     70 K ^TMP("PXRMEXIA",$J)
     71 K ^TMP("PXRMEXID",$J)
     72 K ^TMP("PXRMEXIH",$J)
     73 K ^TMP("PXRMEXLC",$J)
     74 K ^TMP("PXRMEXLD",$J)
     75 K ^TMP("PXRMEXLHF",$J)
     76 K ^TMP("PXRMEXLMM",$J)
     77 K ^TMP("PXRMEXLR",$J)
     78 K ^TMP("PXRMEXMH",$J)
     79 K ^TMP("PXRMEXMM",$J)
     80 K ^TMP("PXRMEXRI",$J)
     81 K ^TMP("PXRMEXTMP",$J)
     82 K ^TMP("PXRMEXTXT",$J)
     83 D CLEAN^VALM10
     84 D FULL^VALM1
     85 S VALMBCK="Q"
     86 Q
     87 ;
     88 ;=====================================================
     89HDR ; Header code
     90 S VALMHDR(1)="Exchange File Entries."
     91 S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
     92 Q
     93 ;
     94 ;=====================================================
     95HELP ;Help code
     96 ;The following variables have to be newed so that when we return
     97 ;from the help display they will be defined.
     98 N ORU,ORUPRMT,XQORM
     99 D EN^VALM("PXRM EX MAIN HELP")
     100 Q
     101 ;
     102 ;=====================================================
     103INIT ;Init
     104 S VALMCNT=0
     105 Q
     106 ;
     107 ;=====================================================
     108LDHF ;Load a host file into the repository.
     109 N IND,FILE,PATH,RBL,SUCCESS,TEMP
     110 ;Select the host file to load.
     111 D CLEAR^VALM1
     112 S TEMP=$$GETEHF^PXRMEXHF
     113 I TEMP="" S VALMBCK="R" Q
     114 S PATH=$P(TEMP,U,1)
     115 S FILE=$P(TEMP,U,2)
     116 D LHF^PXRMEXHF(.SUCCESS,PATH,FILE)
     117 S RBL=SUCCESS
     118 I SUCCESS D
     119 . S VALMHDR(1)="Host file "_PATH_FILE_" successfully loaded."
     120 E  D
     121 . S VALMHDR(1)="There were problems loading host file "_PATH_FILE_"."
     122 . S TEMP=""
     123 . S IND=""
     124 . F  S IND=$O(SUCCESS(IND)) Q:+IND=0  D
     125 .. I SUCCESS(IND) S RBL=1 Q
     126 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND
     127 .. E  S TEMP=TEMP_IND_", "
     128 . S VALMHDR(2)="Entries with problems were "_TEMP_"."
     129 ;Rebuild the list for display.
     130 D BLDLIST^PXRMEXLC(RBL)
     131 S VALMBCK="R"
     132 Q
     133 ;
     134 ;=====================================================
     135LDMM ;Load a MailMan message into the repository.
     136 N IND,RBL,TEMP,XMZ
     137 ;Select the MailMan message to load.
     138 D CLEAR^VALM1
     139 S XMZ=$$GETMESSN^PXRMEXMM
     140 I XMZ=-1 W !,"No packed reminder definitions selected/found!" H 2
     141 I +XMZ'>0 S VALMBCK="R" Q
     142 D LMM^PXRMEXMM(.SUCCESS,XMZ)
     143 S RBL=SUCCESS
     144 I SUCCESS D
     145 . S VALMHDR(1)="MailMan message "_XMZ_" successfully loaded."
     146 .;Rebuild the list for display.
     147 . D BLDLIST^PXRMEXLC(1)
     148 E  D
     149 . S VALMHDR(1)="There were problems loading MailMan message "_XMZ_"."
     150 . S TEMP=""
     151 . S IND=""
     152 . F  S IND=$O(SUCCESS(IND)) Q:+IND=0  D
     153 .. I SUCCESS(IND) S RBL=1 Q
     154 .. I +$O(SUCCESS(IND))=0 S TEMP=TEMP_IND
     155 .. E  S TEMP=TEMP_IND_", "
     156 . S VALMHDR(2)="Entries with problems were "_TEMP_"."
     157 ;Rebuild the list for display.
     158 D BLDLIST^PXRMEXLC(RBL)
     159 S VALMBCK="R"
     160 Q
     161 ;
     162 ;=====================================================
     163LRDEF ;List the name and print name of all reminder definitions.
     164 N VALMCNT
     165 I $D(^TMP("PXRMEXLD",$J,"VALMCNT")) S VALMCNT=^TMP("PXRMEXLD",$J,"VALMCNT")
     166 E  D
     167 . N ARO,DEFLIST
     168 . S ARO=$$QUERYAO^PXRMLIST
     169 . S ^TMP("PXRMEXLD",$J,"ARO")=ARO
     170 . D RDEF^PXRMLIST(.DEFLIST,ARO)
     171 . M ^TMP("PXRMEXLD",$J)=DEFLIST
     172 . S VALMCNT=DEFLIST("VALMCNT")
     173 I '$G(^TMP("PXRMEXLD",$J,"ARO")) D CHGCAP^VALM("INACTIVE","Inactive")
     174 D EN^VALM("PXRM EX REMINDER LIST")
     175 Q
     176 ;
     177 ;=====================================================
     178PEXIT ;PXRM EXCH MENU protocol exit code
     179 S VALMSG="+ Next Screen   - Prev Screen   ?? More Actions"
     180 ;Reset after page up/down etc
     181 D XQORM
     182 Q
     183 ;
     184XQORM S XQORM("#")=$O(^ORD(101,"B","PXRM EXCH SELECT ENTRY",0))_U_"1:"_VALMCNT
     185 S XQORM("A")="Select Action: "
     186 Q
     187 ;
     188XSEL ;PXRM EXCH SELECT COMPONENT validation
     189 N SEL,PXRMRIEN
     190 S SEL=$P(XQORNOD(0),"=",2)
     191 ;Remove trailing ,
     192 I $E(SEL,$L(SEL))="," S SEL=$E(SEL,1,$L(SEL)-1)
     193 ;Invalid selection
     194 I SEL["," D  Q
     195 .W $C(7),!,"Only one item number allowed." H 2
     196 .S VALMBCK="R"
     197 I ('SEL)!(SEL>VALMCNT)!('$D(@VALMAR@("IDX",SEL))) D  Q
     198 .W $C(7),!,SEL_" is not a valid item number." H 2
     199 .S VALMBCK="R"
     200 ;
     201 ;Get the repository ien.
     202 S PXRMRIEN=^TMP("PXRMEXLR",$J,"IDX",SEL,SEL)
     203 ;
     204 ;Full screen mode
     205 D FULL^VALM1
     206 ;
     207 ;Option to Install, Delete or Install History
     208 N DIR,DIROUT,DIRUT,DTOUT,DUOUT,OPTION,X,Y
     209 S DIR(0)="SBM"_U_"IFE:Install Exchange File Entry;"
     210 S DIR(0)=DIR(0)_"DFE:Delete Exchange File Entry;"
     211 S DIR(0)=DIR(0)_"IH:Installation History;"
     212 S DIR("A")="Select Action: "
     213 S DIR("B")="IFE"
     214 S DIR("?")="Select from the codes displayed. For detailed help type ??"
     215 S DIR("??")=U_"D HLP^PXRMEXIX(3)"
     216 D ^DIR
     217 I $D(DIROUT)!$D(DIRUT) S VALMBCK="R" Q
     218 I $D(DTOUT)!$D(DUOUT) S VALMBCK="R" Q
     219 S OPTION=Y
     220 ;
     221 ;Install
     222 I OPTION="IFE" D
     223 .D EN^VALM("PXRM EX LIST COMPONENTS")
     224 .K ^TMP("PXRMEXLC",$J)
     225 ;
     226 I OPTION="DFE" D
     227 .N COUNT,DELLIST,IEN,IND,RELIST,VALMY
     228 .S DELLIST(PXRMRIEN)=""
     229 .D DELETE^PXRMEXU1(.DELLIST)
     230 .;Rebuild the list for List Manager to display.
     231 .K ^TMP("PXRMEXLR",$J)
     232 .D RE^PXRMLIST(.RELIST,.IEN)
     233 .M ^TMP("PXRMEXLR",$J)=RELIST
     234 .S VALMCNT=RELIST("VALMCNT")
     235 .F IND=1:1:VALMCNT D
     236 ..S ^TMP("PXRMEXLR",$J,"IDX",IND,IND)=IEN(IND)
     237 .;
     238 .S VALMHDR(1)="Deleted 1 exchange file entry",VALMHDR(2)=" ",VALMBCK="R"
     239 ;
     240 I OPTION="IH" D
     241 .N HISLIST,VALMCNT
     242 .S HISLIST(SEL)=""
     243 .D HISTLIST^PXRMEXLC(.HISLIST,.VALMCNT)
     244 .D EN^VALM("PXRM EX INSTALLATION HISTORY")
     245 .K ^TMP("PXRMEXIH",$J)
     246 ;
     247 S VALMBCK="R"
     248 Q
Note: See TracChangeset for help on using the changeset viewer.