Namespace:    EDP
Numberspace: (230-234)

Changes for EDP*2*6
===============================================


1.) Modified field .06 (Role) of the TRACKING STAFF file (231.7).
    - Changed type to pointer to the CPE ROLE file (232.5).

2.) Modified CPE ROLE file structure.
    - Removed fields .02 and .03 (INSTITUTION and AREA) respectively.
 
    - Added field .02 (ABBREVIATION) - This abbreviation coincides
      with the previously used abbreviations in the .06 field of
      the TRACKING STAFF file.
 
    - Added field .03 (XML ABBREVIATION). This field holds the value
      that was previously hard coded in the logic for returning the
      'type' of the particular role.
 
3.) Added x-ref for Abbreviation field in CPE ROLE file (C index).
 
4.) Populated CPE role file with Provider (P), Resident (R), Nurse (N)
    and Clerk (C). This data will not be delivered with the CPE
    ROLE file.

    Modified file delivery for CPE role in the KIDS build. Data
    now comes with the file, and roles are defined for Provider,
    Resident, Nurse, and Clerk.

    ** This may need to be enhanced a little further since there
       are now colors associated with both a role, as well as
       at the user level.**
 
5.) Created post-init to drive through the TRACKING STAFF file
    and convert current ROLES (set of codes values) into the proper
    pointer values that are now stored in the CPE ROLE file.
 
    EDP2PST now calls EDPYPST (from patch 2, and the conversion)
 
6.) Modified kids build, change the post init routine to EDP2PST
 
7.) Added conversion of site/area into post init to update the worksheets
    with the current site/area after installation of the kids build.

    Since we are exporting Worksheets initially and the site/area are
    required fields, an erroneous site had to be placed into the worksheet
    initially.
 
8.) Modified GET^EDPQDBS to properly gather roles from new structures.
    - Removed hard coded calls:

      ;D CLRSTAFF(AREA,"md","P")
      ;D CLRSTAFF(AREA,"res","R") 
      ;D CLRSTAFF(AREA,"rn","N")

    - Replaced with loop starting in the CPE ROLE file (to ensure we
      gather all roles).

       S ROLEIEN=0 F  S ROLEIEN=$O(^EDPB(232.5,ROLEIEN)) Q:'ROLEIEN  D
       .S R0=$G(^EDPB(232.5,ROLEIEN,0)),RNAME=$P(R0,U),RABBR=$P(R0,U,2),RXML=$P(R0,U,3)
       .D CLRSTAFF(AREA,RXML,ROLEIEN)


    - Modified CLRSTAFF to piece out the '@', which is now gathered from
      the XML ABBREVIATION field in the CPE ROLE file. This is done when building
      the header portion of the XML for the CLRSTAFF call in EDPQDBS.

        Old:
         - D XML^EDPX("<colors id='"_ROLEID_"' type='staff' >")

        New:
         - D XML^EDPX("<colors id='"_$P(ROLEID,"@",2)_"' type='staff' >")

    - Modified CLRSTAFF to calculate 'att' a little differently due to 
      data changes:

        Old (hardcoded values):
         - S X("att")=$S(ROLE="P":"@md",ROLE="N":"@rn",ROLE="R":"@res",1:"nop")

        New (retrieved from .03 field of the CPE ROLE file):
         - S X("att")=$S(ROLEID'="":ROLEID,1:"nop")

9.) Modified EDPBST to accomodate new role structures:
 
     - Changed the way X("role") is built. Previously used piece 6 which
       was free text. Has been changed to a pointer, so the abbreviation
       must be resolved for the UI.

          Old:
            - S X("role")=$P(X0,U,6)
          New:
            - S X("role")=$P(X0,U,6),X("role")=$$GET1^DIQ(232.5,IEN,.02,"E")

     - Modified logic that builds roles:

          Old:

	   LOAD(AREA) ; Return nurse and provider sources, staff config
	   N TOKEN
	   D READL^EDPBLK(AREA,"staff",.TOKEN)  ; read staff config -- LOCK
	   D XML^EDPX("<staffToken>"_TOKEN_"</staffToken>")
	   D XML^EDPX("<providers>"),ACTIVE(AREA,"P"),XML^EDPX("</providers>")
	   D XML^EDPX("<residents>"),ACTIVE(AREA,"R"),XML^EDPX("</residents>")
	   D XML^EDPX("<nurses>"),ACTIVE(AREA,"N"),XML^EDPX("</nurses>")
	   D READU^EDPBLK(AREA,"staff",.TOKEN)  ; read staff config -- UNLOCK

          New:

	   LOAD(AREA) ; Return nurse and provider sources, staff config
	   N TOKEN,RIEN,RXMLNM,X0,RABBR
	   D READL^EDPBLK(AREA,"staff",.TOKEN)  ; read staff config -- LOCK
	   D XML^EDPX("<staffToken>"_TOKEN_"</staffToken>")
	   S RIEN=0 F  S RIEN=$O(^EDPB(232.5,RIEN)) Q:'RIEN  D
	   .S X0=$G(^EDPB(232.5,RIEN,0)),RABBR=$P(X0,U,2),RXMLNM=$P(X0,U,7)
	   .D XML^EDPX("<"_RXMLNM_">"),ACTIVE(AREA,RIEN,RABBR),XML^EDPX("</"_RXMLNM_">")
	   D READU^EDPBLK(AREA,"staff",.TOKEN)  ; read staff config -- UNLOCK
	   Q

      - Modified logic in ACTIVE tag:

           Changed tag to accept new parameter (ABBR):

             Old:
              ACTIVE(AREA,ROLE) ; build list of active for a role

             New:
              ACTIVE(AREA,ROLE,ABBR) ; build list of active for a role


           Changed line to use ABBR instead of ROLE, since role is now
           the pointer value:
 
             Old:
              I ROLE="N" S EDPNURS=$$GET^XPAR("ALL","EDPF NURSE STAFF SCREEN")

             New:
              I ABBR="N" S EDPNURS=$$GET^XPAR("ALL","EDPF NURSE STAFF SCREEN")


           Changed call to extrinsic to now pass in ABBR:
              
              Old:
               I '$$ALLOW^EDPFPER(+X0,ROLE) Q

              New:
               I '$$ALLOW^EDPFPER(+X0,ABBR) Q
               


10.) Modified EDPQLE1 to handle new role structures

        Old CHOICES tag logic:

	 ;D STAFF("md","P")
	 ;D STAFF("res","R")
	 ;D STAFF("nurse","N")

        New CHOICES TAG logic:

	 N ROLIEN,RNAME,RABBR,RXML,R0 
	 S ROLEIEN=0 F  S ROLEIEN=$O(^EDPB(232.5,ROLEIEN)) Q:'ROLEIEN  D
	 .S R0=$G(^EDPB(232.5,ROLEIEN,0)),RNAME=$P(R0,U),RABBR=$P(R0,U,2),RXML=$P(R0,U,3)
	 .D STAFF($S(RXML="@rn":"nurse",1:$P(RXML,"@")),ROLEIEN,RABBR)

        Old STAFF tag logic:

	 I ROLE="N" S EDPNURS=$$GET^XPAR("ALL","EDPF NURSE STAFF SCREEN")
	 . I '$$ALLOW^EDPFPER(PER,ROLE) Q     

        New STAFF tag logic:

	 I RABBR="N" S EDPNURS=$$GET^XPAR("ALL","EDPF NURSE STAFF SCREEN")
	 . I '$$ALLOW^EDPFPER(PER,RABBR) Q	


11.) Modified EDPQPPS to handle new role structures

        Old GET tag logic:

	 D CLRSTAFF(AREA,"md","P")
	 D CLRSTAFF(AREA,"res","R")
	 D CLRSTAFF(AREA,"rn","N")

	New GET tag logic:
	 N ROLEIEN,R0,RNAME,RABBR,RXML
	 S ROLEIEN=0 F  S ROLEIEN=$O(^EDPB(232.5,ROLEIEN)) Q:'ROLEIEN  D
	 .S R0=$G(^EDPB(232.5,ROLEIEN,0)),RNAME=$P(R0,U),RABBR=$P(R0,U,2),RXML=$P(R0,U,3)
	 .D CLRSTAFF(AREA,RXML,ROLEIEN)

        Old CLRSTAFF logic:

	CLRSTAFF(AREA,ROLEID,ROLE) ; add staff colors
	 D XML^EDPX("<colors id='"_ROLEID_"' type='staff' >")
	 N IEN,X0
	 S IEN="" F  S IEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,ROLE,IEN)) Q:'IEN  D
	 . S X0=^EDPB(231.7,IEN,0) Q:'$P(X0,U,8)
	 . N X
	 . S X("att")=$S(ROLE="P":"@md",ROLE="N":"@rn",ROLE="R":"@res",1:"nop")
	 . S X("clr")=$P(X0,U,8)
	 . S X("val")=$P(X0,U)
	 . D XML^EDPX($$XMLA^EDPX("map",.X))
	 D XML^EDPX("</colors>")

	New CLRSTAFF logic:

	CLRSTAFF(AREA,ROLEID,ROLEIEN) ; add staff colors
	 D XML^EDPX("<colors id='"_ROLEID_"' type='staff' >")
	 N IEN,X0
	 S IEN="" F  S IEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,ROLEIEN,IEN)) Q:'IEN  D
	 . S X0=^EDPB(231.7,IEN,0) Q:'$P(X0,U,8)
	 . N X
	 . S X("att")=$S(ROLEID'="":ROLEID,1:"nop")
	 . ;S X("att")=$S(ROLE="P":"@md",ROLE="N":"@rn",ROLE="R":"@res",1:"nop")
	 . S X("clr")=$P(X0,U,8)
	 . S X("val")=$P(X0,U)
	 . D XML^EDPX($$XMLA^EDPX("map",.X))
	 D XML^EDPX("</colors>")

12.) Added logic to EDPFAA to gather role information for a user:
 
	 N X,TSIEN,ROLEIEN,ROLE,ROLENM
	
	 S TSIEN=$O(^EDPB(231.7,"B",DUZ,""))
	 I TSIEN S ROLEIEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,TSIEN,""))
	 I $G(ROLEIEN) D
	 .S X("roleID")=ROLEIEN
	 .S ROLENM=$$GET1^DIQ(232.5,ROLEIEN,.01,"E"),X("roleName")=ROLENM
	 .S ROLE=$$GET1^DIQ(232.5,ROLEIEN,.02,"E"),X("roleAbbr")=ROLE
	 .S DFLTWSHT=$$GET1^DIQ(232.5,ROLEIEN,.04,"E"),X("defaultWorksheet")=DFLTWSHT
	 .S DFLTBRD=$$GET1^DIQ(232.5,ROLEIEN,.05,"I"),X("defaultBoard")=DFLTBRD
  

     Modified filing logic for tracking staff to properly file the new role
     structure (when saving settings from UI) (saveStaffConfig)
 


13.) Modified LSTROLES^EDPBWS


     a.) Due to changes to the CPE ROLE file, LSTROLES was modified
         to look up data a little differently and return an additional
         piece of data (abbreviation).

     b.) Modified the way the XML was being built for roles.

     c.) LSTROLES is now being called by EDPCBRD.

     Note ** - EDIS 1.0 logic for roles was expecting an EDPSITE and
               area to be defined, however these fields were never
               added to the Data Dictionary for CPE role. I do not
               believe this will be needed at this point since there
               are only 4 identified ROLES for ALL sites. This may
               need to be expanded in a future increment.


14.) Modified WORKSHEET SECTION file:
     a.) changed .01 field to NAME, increased length to 60, and
         removed pattern matching.


15.) Modified LSTSECTS^EDPBWS to now return sectionName instead of
     'DetailPlugin'.

16.) Modified GETWKS^EDPBWS:
     a.) Added new values to be returned with the XML: institution,
         area, disabled.

17.) Modified loadWorksheetConfig call in EDPCTRL to now accept 
     'role' as a parameter.

     Modified LOADALL^EDPBWS to accept 'role' as a parameter 


18.) Modified EDPCBRD (initDisplayBoard) to call new function
     that will return roles. New function is GETROLES^EDPBWS. It makes
     the most sense to return all possible roles when loading the board.

     This allow's the UI to have the roles BEFORE the initUser call is
     made.

      Old XML Structure:

	EDPXML=14
	EDPXML(1)="<colorSpec>"
	EDPXML(2)="<colors id='bed' type='bed' >"
	EDPXML(3)="</colors>"
	EDPXML(4)="<colors id='md' type='staff' >"
	EDPXML(5)="</colors>"
	EDPXML(6)="<colors id='res' type='staff' >"
	EDPXML(7)="</colors>"
	EDPXML(8)="<colors id='rn' type='staff' >"
	EDPXML(9)="</colors>"
	EDPXML(10)="<colors id='clrk' type='staff' >"
	EDPXML(11)="</colors>"
	EDPXML(12)="</colorSpec>"
	EDPXML(13)="<rows reloadConfig=""false"" status=""new"" version=""1.0"" >"
	EDPXML(14)="</rows>"

      New XML structure:
 
	EDPXML=20
	EDPXML(1)="<roles>"
	EDPXML(2)="<roles abbr=""C"" displayName=""Clerk"" editAcuity=""false"" id=""4""
	 />"
	EDPXML(3)="<roles abbr=""N"" displayName=""Nurse"" editAcuity=""false"" id=""3""
	 />"
	EDPXML(4)="<roles abbr=""P"" displayName=""Provider"" editAcuity=""false"" id=""
	1"" />"
	EDPXML(5)="<roles abbr=""R"" displayName=""Resident"" editAcuity=""false"" id=""
	2"" />"
	EDPXML(6)="</roles>"
	EDPXML(7)="<colorSpec>"
	EDPXML(8)="<colors id='bed' type='bed' >"
	EDPXML(9)="</colors>"
	EDPXML(10)="<colors id='md' type='staff' >"
	EDPXML(11)="</colors>"
	EDPXML(12)="<colors id='res' type='staff' >"
	EDPXML(13)="</colors>"
	EDPXML(14)="<colors id='rn' type='staff' >"
	EDPXML(15)="</colors>"
	EDPXML(16)="<colors id='clrk' type='staff' >"
	EDPXML(17)="</colors>"
	EDPXML(18)="</colorSpec>"
	EDPXML(19)="<rows reloadConfig=""false"" status=""new"" version=""1.0"" >"
	EDPXML(20)="</rows>"
  
 
19.) Added fields to the EDP WORKSHEET COMPONENT file (232.72)

      - 1.4 - Load API
      - 2.4 - Save API
      - 4 (multiple) - PARAMETERS
        - .01    Parameter Name
        -   1    DATA TYPE
        -   2    SAVE/LOAD TYPE



20.) Added new API to EDPCTRL (loadWorksheetList)
     - Added new linetag to EDPBWS (LDWSLIST). This line tag is called by
       loadWorksheetList, and is used to get a listing of worksheets (full list)
       or by role (role ID).



21.) Heavy modifications to EDPBWS.

     - New call to return list of worksheets
     - New call to return list of sections
     - New call to return list of components
     - Call to retrieve worksheets specifications has been modified

22.) Modified EDP WORKSHEET SPECIFICATION file (232.6)

     - Added 'initiallyopen' field to section multiple to allow the creation of
       and 'instance' of a section. This allows the section to remain untouched
       and the behaviors will be tied to the worksheet.

     - Added 'component' to section multiple. This is a multiple that holds
       the component list, as well as propterties or behaviors for each
       component.

     - Added 'editable' field to 'component' multiple to contain the behavior
       of this instance of this component.

23.) Prefaced all 'WORKSHEETS' files with EDP to begin properly namespacing
     the files.

24.) Added ROLES multiple field to EDP WORKSHEET SECTIONS (232.71) and
     EDP WORKSHEET COMPONENTS (232.72)

25.) Added ability for sections and components to be requested, given a 
     particular role. the 'role' parameter is optional. If no role id is
     passed, all sections or components will be returned.

      EDPCTRL modifications:

      - Added 'role' to getSectionList call

	D GETSECTS^EDPBWS($$VAL("area"),.EDPXML,$$VAL("role"))

      - Added 'role' to getComponentList call

	D GETCMPTS^EDPBWS($$VAL("area"),.EDPXML,$$VAL("componentID"),$$VAL("role"))
     
      EDPBWS modifications

      - Modified GETSECTS line tag to accept ROLE

	GETSECTS(AREA,EDPXML,ROLE)	; get list of sections

      - Modified LSTSECTS to check for ROLE and filter based on role

      - Modified GETCMPTS, LSTCMPTS, and BLDCMPTS to support role based inquiries.


26.) New routine EDPARPT.

     - This routine handles the following functions
       - Saving/Modifying report templates
       - Building new report templates
       - Executing existing report templates as well as ad-hoc reports (fully custom
         unsaved reports).
       - Report data can be returned in XML for display to the screen, and exported
         in a tab separated list to be placed into a spreadsheet.

27.) New routine EDPARPT

     - This routine calculates values for adhoc report elements.



28.) Two new files have been added
     - EDP REPORT TEMPLATE (#232.1)
	- This file holds the definitions for report templates, including
          the order or sequence in which data elements are to appear on the
          reports

     - EDP REPORT ELEMENTS (#232.11)
	- This file holds all information related to the report elements.
          It includes information regarding where the data can be gathered from, 
          executable logic as well as format logic.


29.) Modified EDPGLOB routine and RPC definition to now accept two parameters

30.) Added all adhoc report calls to EDPGLOB

31.) Added 'Edit Closed' Worksheet

32.) Fixed error occuring when removing staff from the staff config screen.

33.) Fixed Missed opportunity report - removed erroneous additional column.

34.) Added new security key EDPR ADHOC to control access to adhoc reports

35.) Modified EDPFAA to return EDPR ADHOC security key information for a user.

36.) Fixed delay report duplication.

37.) Fixed Activity report additional column issue (arrival).

38.) Modified EDPFPER to now match persons on the role of 'clerk'

39.) Modified EDPRPT8. Fixed the difference of 'none' being in the on screen
     report and '0' being in the exported version.

40.) Made enhancement to EDPARPT1 to resolve issues where Nurses, Docs, etc
     were not showing up as part of an adhoc report.

41.) Added EDPF WORKSHEETS security key to control access to the ability
     to modify worksheet configurations (this MAY be removed before release).

42.) Modified EDPFAA to include return information for EDPF WORKSHEETS key.

43.) Modified EDPCTRL to include return of information and an update of
     the load timestamp, as well as current information for the entry
     being saved. This fixes the issue related to editing a patient
     in CPE, then going to split screen and trying to edit additional
     information. When this occurred, the user would be informed that
     changes have been made to the entry since it was last loaded.


44.) Modified EDPLOGH Due to processing times, the second would possibly
     not change between the saving of the log entry and the loading of
     the same entry (during in line edits in CPE). This would cause the
     application to think that modifications had been made to the log
     entry erroneously. Removed the -.000001 from the equation, as we
     only want to look at times FORWARD of the last loadTS.

45.) Modified EDPBCF and EDPQDB so that 'disposition' will be another
     available field for use on the display board.

46.) Modifed EDPLAB to correct a duplication issue.

47.) Removed X9999 from the possible columns to be added to the display view (EDPBCF).

48.) Moved Vitals Update and Vitals View to the Visit Worksheet

49.) Incorporated EDP*2*4 into build.

50.) Changed from EDP*2*5 to EDP*2*6

51.) Modified post init EDP2PST to add EDIS_DEFAULT room to file 231.8

52.) Modified EDPLOGA to use EDIS_DEFAULT if no 'initial room' is set

53.) Modified EDPLOG to use EDIS_DEFAULT FOR restoring patients in the event
     no 'initial room' is defined in paramters.

54.) Modified EDPBCF and EDPQLE to filter EDIS_DEFAULT room out of
     selection lists.

55.) Modified reports to ensure exported data matches on-screen data
     display.

     EDPRPT1
     EDPRPT10
     EDPRPT12
     EDPRPT13
     EDPRPT7C
     EDPRPCBV

56.) Updated routine list to match what is in the current build.

57.) Modified EDPBRM to remove the 'None Selected' room that is
     returned for the 'Initial Room', and 'Arriving Ambulance' room dropdowns.

58.) EDPLOG/EDPQLE - Modified routines to remove check for observation status
     to determine whether or not to display delay reason for a given patient.
     This was per request by Dr. Gelman

59.) EDPRPT4 - Modified report so that exported version looks like displayed
     version.

60.) Set all Sections in 'Edit Closed' worksheet to 'Initially Open'.

61.) Removed EDPCBRD from build. Changes were moved to another routine.

62.) Modified EDPBCF to remove 'alerts' from possible display board columns.

63.) Updated EDP2PST to include removal (bypass) of rebuilding any columns
     for Alerts.

64.) Removed EDPCBRD from build. Changes to this routine have since been
     removed and this routine will no longer be delivered.

65.) Modified Data dictionaries for approval of Vista DBA.

66.) Modified EDPLAB to prevent error with testName containing special characters.

TODO:
======

1.) Add logic to 'initUser' call that will return all available worksheets
    for the user's role. (DONE)

2.) Change the .06 field of the EDP WORKSHEET SPECIFICATION file to be a
    MULTIPLE and a pointer to the CPE ROLE file. - done
    
    Add cross-reference so worksheets can be referenced by ROLE - done

3.) Check ALL XML structures to make sure they match the mockup. - done
 

4.) Once the roles multiple is in place, add ROLE as a parameter to LSTWKS^EDPBWS
    and check worksheets against ROLES. - done

5.) When building component data, separate <loadParams> and <SaveParams> - future increment?

6.) Update getSection call and DD for sections to accept roles - DONE

7.) Create AD-HOC reports files. (DONE)

8.) Utility for exporting and importing AD-HOC reports??

9.) Namespace remaining files with EDP (next increment??).

10.) Make sure clerk role is working/finished (done)

11.) Modify ED LOG HISTORY file. Need to add an index for field .02 - TIME ('D' index might work). - no longer needed

12.) Add Nurse component for worksheets. (done)

 
Final Steps:
============

1.) Update Routine file
2.) Check KIDS build for consistency/validity.



OLD TRACKING STAFF DEFINITION:
==============================

Global ^EDPB(231.7
^EDPB(231.7,0)="TRACKING STAFF^231.7P^3^3"
^EDPB(231.7,1,0)="17^658^1^^^P"
^EDPB(231.7,2,0)="5^658^1^^^R"
^EDPB(231.7,3,0)="19^658^1^^^N"
^EDPB(231.7,"AC",658,1,"N",3)=""  <----
^EDPB(231.7,"AC",658,1,"P",1)=""  <----
^EDPB(231.7,"AC",658,1,"R",2)=""  <---- OLD cross reference
^EDPB(231.7,"AD",658,1,5,2)=""
^EDPB(231.7,"AD",658,1,17,1)=""
^EDPB(231.7,"AD",658,1,19,3)=""
^EDPB(231.7,"B",5,2)=""
^EDPB(231.7,"B",17,1)=""
^EDPB(231.7,"B",19,3)=""




TRACKING STAFF DEFINITION AFTER CONVERSION:
===========================================

Global ^EDPB(231.7,
^EDPB(231.7,0)="TRACKING STAFF^231.7P^3^3"
^EDPB(231.7,1,0)="17^658^1^^^1"
^EDPB(231.7,2,0)="5^658^1^^^2"
^EDPB(231.7,3,0)="19^658^1^^^3"
^EDPB(231.7,"AC",658,1,1,1)=""   <----
^EDPB(231.7,"AC",658,1,2,2)=""   <----
^EDPB(231.7,"AC",658,1,3,3)=""   <---- NEW INDEX
^EDPB(231.7,"AD",658,1,5,2)=""
^EDPB(231.7,"AD",658,1,17,1)=""
^EDPB(231.7,"AD",658,1,19,3)=""
^EDPB(231.7,"B",5,2)=""
^EDPB(231.7,"B",17,1)=""
^EDPB(231.7,"B",19,3)=""



MODIFIED DD's (summary):
========================
231.7  - TRACKING STAFF
  .06  - Changed ROLE from set of codes to pointer
232.1  - EDP REPORT TEMPLATE (NEW)
232.11 - EDP REPORT ELEMENTS (NEW)
232.5  - CPE ROLE
232.6  - EDP WORKSHEET SPECIFICATION
232.71 - EDP WORKSHEET SECTION
232.72 - EDP WORKSHEET COMPONENT
232.73 - EDP WORKSHEET COMPONENT TYPE (NEW)



Modified Routine summary:
* - indicates NEW routine
=========================

*EDP2PST
*EDPARPT
*EDPARPT1
EDPBST
EDPBCF
EDPQAR
EDPQDB
EDPQDBS
EDPQLE
EDPQLE1
EDPQPPS
EDPFAA
EDPFPER
EDPBWS
EDPCBRD
EDPCTRL
EDPGLOB
EDPQPCE
EDPQPPS
EDPCSV
EDPX
EDPRPT1
EDPRPT10
EDPRPT12
EDPRPT13
EDPRPT2
EDPRPT3
EDPRPT8
EDPRPT7C
EDPRPTBV
EDPLOG
EDPLOGA
EDPLOGH
EDPLAB



Modified RPC's:
===============
EDPGLOB RPC


New Security Keys:
==================

EDPR ADHOC
EDPR WORKSHEETS






