Alameda, California Community Emergency Response Team CERT Volunteer Data Base Tom Schweich 3008 Fairview Avenue Alameda, CA 94501 510-865-5778 tomas@schweich.com Time and Date Last Updated: 12:54, 16 Mar 16 Time and Date Printed: 12:54, 16 Mar 16 Table of Contents Table of Contents ............................................................................................................................. i Introduction ..................................................................................................................................... 1 Related Documents ..................................................................................................................... 1 Operating Instructions ..................................................................................................................... 1 Common Administrative Tasks .................................................................................................. 1 Connect to the Data Base. ....................................................................................................... 1 Common Volunteer Tasks .......................................................................................................... 4 Enter a New Volunteer ............................................................................................................ 4 Edit Information About An Existing Volunteer. ..................................................................... 9 Enter Skills for a Volunteer .................................................................................................. 10 Add Volunteer Photograph To Data Base............................................................................. 11 Find Volunteers with Expired Badges. ................................................................................. 12 Print a Badge for a Volunteer ............................................................................................... 12 Enroll a Volunteer in a Training Event ................................................................................. 14 Determine If Any Certificates Should Be Issued? ................................................................ 15 Issue Certificates ................................................................................................................... 16 Enter Data from Alameda CERT Volunteers Request Form ................................................ 19 Get an E-Mail Addresses List. .............................................................................................. 20 Send an E-mail to a Volunteer .............................................................................................. 22 How to get a list of Sworn DSW’s........................................................................................ 23 Print the Alameda CERT Dispatch List – Version 1 ............................................................ 26 Prepare the Alameda CERT Dispatch List – Version 2 ........................................................ 26 Use the Alameda CERT Dispatch List ................................................................................. 27 Update the Mailing list in iContact ....................................................................................... 28 How to Get Some Basic Statistics ........................................................................................ 31 Training Event Tasks ................................................................................................................ 32 Define a Course in the Curriculum ....................................................................................... 32 Schedule a Training Event .................................................................................................... 34 Assess Training Needs – Who Should Be Invited to “Make-up” Classes? .......................... 34 Print Confirmation Letters .................................................................................................... 36 Enter Training Event Session Attendance ............................................................................ 38 How to “Grandfather” Basic CERT Training? ..................................................................... 41 Count the Number of Basic CERT Graduates ...................................................................... 42 Add Volunteer Location ....................................................................................................... 43 Maintain the Volunteer Type table. ...................................................................................... 43 Team Tasks ............................................................................................................................... 43 Define Teams ........................................................................................................................ 43 Add a Volunteer to a Team ................................................................................................... 43 Print a List of All Teams ....................................................................................................... 44 Other CERT Administrative Tasks ........................................................................................... 45 Document1 i Check Volunteer Activity ..................................................................................................... 45 Import Volunteers from a Spreadsheet ................................................................................. 45 Map Trained Volunteers and Teams ......................................................................................... 46 Prepare A Map Of The City .................................................................................................. 46 Build an Address Locator ..................................................................................................... 48 Get The Volunteer Data ........................................................................................................ 51 Geocode the Volunteer Data ................................................................................................. 51 Add Geocoded Volunteers to Map........................................................................................ 52 Symbology for Alameda CERT Map ................................................................................... 52 What To Do With Volunteers That Can’t Be Automatically Geocoded .............................. 53 Fire Fighter Badge Tasks .......................................................................................................... 53 Start ....................................................................................................................................... 53 Determine who needs a badge .............................................................................................. 53 Schedule a photo / badge data sheet session. ........................................................................ 53 Print badge data form. ........................................................................................................... 53 Review form, edit data, and sign. ......................................................................................... 53 Scan signature. ...................................................................................................................... 53 Edit signature. ....................................................................................................................... 54 Enter revised data in data base. ............................................................................................. 54 Take a new photograph? ....................................................................................................... 55 Take photograph ................................................................................................................... 55 Edit photograph ..................................................................................................................... 55 Enter photograph into data base ............................................................................................ 55 Enter signature into data base. .............................................................................................. 56 Create badge record. ............................................................................................................. 56 Does Fire Fighter have an existing valid badge? .................................................................. 56 Expire the existing badge. ..................................................................................................... 56 Print Employee Badges. ........................................................................................................ 57 Deliver New Badge to Fire Fighter ....................................................................................... 60 End ........................................................................................................................................ 60 Badge Printing Troubleshooting Guide ................................................................................ 60 Troubleshooting ........................................................................................................................ 60 Could not find file ‘C:\CERTDataBase\AFDCERTBackEnd.mdb’. .................................... 61 Requirements ................................................................................................................................ 63 Process Requirements ............................................................................................................... 63 Volunteer Process ................................................................................................................. 63 Handling of Inactive Volunteers ........................................................................................... 65 Volunteer Identification Badge Process ................................................................................ 69 Training Process .................................................................................................................... 71 Disaster Service Worker Process .......................................................................................... 75 Team Management Process .................................................................................................. 76 Asset Tracking ...................................................................................................................... 76 CERT Program Management Process .................................................................................. 76 Badge Requirements ................................................................................................................. 77 Document1 ii Volunteer Identification Badge Requirements.......................................................................... 79 Reporting Requirements ........................................................................................................... 81 Data Requirements .................................................................................................................... 82 Volunteer Data ...................................................................................................................... 82 Training Event Data .............................................................................................................. 86 Team Data ............................................................................................................................. 87 Human Interface Requirements ................................................................................................ 87 Other Requirements .................................................................................................................. 87 Logical Model ............................................................................................................................... 88 Definitions of Entities ............................................................................................................... 88 Amateur Radio Club of Alameda ......................................................................................... 88 Amateur Radio Licensee ....................................................................................................... 88 Authentication ....................................................................................................................... 89 Availability ........................................................................................................................... 89 Badge .................................................................................................................................... 89 Certificate .............................................................................................................................. 89 Certification .......................................................................................................................... 89 CERT .................................................................................................................................... 89 CERT Skills, Training, and Teams ....................................................................................... 89 CERT Type ........................................................................................................................... 89 Cluster ................................................................................................................................... 90 Contacts................................................................................................................................. 90 Course ................................................................................................................................... 90 Course-Session ...................................................................................................................... 91 Curriculum ............................................................................................................................ 92 Disaster ................................................................................................................................. 92 Disaster Registry ................................................................................................................... 92 Disaster Service Worker ....................................................................................................... 92 Employee .............................................................................................................................. 93 FEMA Form .......................................................................................................................... 93 Fire Fighter Identification Badge .......................................................................................... 93 Ham Radio Operator ............................................................................................................. 93 Incident ................................................................................................................................. 94 Incident Type ........................................................................................................................ 94 Instructor ............................................................................................................................... 94 Member ................................................................................................................................. 94 Role ....................................................................................................................................... 94 Skills, Experience, Training, and Vaccinations. ................................................................... 95 Student .................................................................................................................................. 96 Specialized Training (Past and Future Needs) ...................................................................... 96 System Log ........................................................................................................................... 96 Team ..................................................................................................................................... 96 Team Leader ......................................................................................................................... 97 Team Member ....................................................................................................................... 97 Document1 iii Trainers & Other OEM Contacts .......................................................................................... 97 Training Event (Course Instance) ......................................................................................... 97 Training Event Confirmation Letter ..................................................................................... 98 Training Event Session ......................................................................................................... 98 Type ...................................................................................................................................... 99 Volunteer............................................................................................................................... 99 Volunteer Activity .............................................................................................................. 100 Volunteer Identification Badge ........................................................................................... 101 Volunteer Opportunity ........................................................................................................ 102 Volunteer Type ................................................................................................................... 102 Data Model.............................................................................................................................. 103 Volunteer Data .................................................................................................................... 103 Training Data ...................................................................................................................... 103 Software Evaluation .................................................................................................................... 105 Data Base Documentation........................................................................................................... 107 Tables ...................................................................................................................................... 107 Common Field Definitions. ................................................................................................ 107 tblAFDBadgesIssued .......................................................................................................... 107 tblAFDPhotos ..................................................................................................................... 109 tblBadgesIssued .................................................................................................................. 109 tblCERTGradHist ............................................................................................................... 111 tblCERTGradHistUpdated .................................................................................................. 111 tblCertificatesIssued ............................................................................................................ 112 Table: cert_type................................................................................................................... 113 Table: cert_type_cont .......................................................................................................... 114 tblCERTPhotos ................................................................................................................... 115 Table: cont_course “Training Event Registration” ............................................................. 115 Table: cont_equip “Volunteer-Offered Equipment” ........................................................... 116 Table: cont_fac “Volunteer-Offered Facility” .................................................................... 117 Table: cont_mat “Volunteer-Offered Material” .................................................................. 117 Table: cont_skill “Volunteer Skill”..................................................................................... 118 Table: contacts .................................................................................................................... 119 Table: courses ..................................................................................................................... 124 dis_equip ............................................................................................................................. 126 dis_fac ................................................................................................................................. 126 dis_mat ................................................................................................................................ 127 Table: dis_skill .................................................................................................................... 127 Table: disasters .................................................................................................................... 128 tblDRAuthInfo .................................................................................................................... 128 tblDRConditions ................................................................................................................. 129 tblDRConditionsList ........................................................................................................... 130 tblDREMContact ................................................................................................................ 131 tblDRMeds .......................................................................................................................... 132 tblDRPerson ........................................................................................................................ 133 tblDRPhysician ................................................................................................................... 134 Document1 iv tblDRServices ..................................................................................................................... 135 tblDRServicesList ............................................................................................................... 136 empl_course_map ............................................................................................................... 137 empl_exp_map .................................................................................................................... 137 empl_inst_goal_map ........................................................................................................... 137 Table: employees ................................................................................................................ 138 equipment ............................................................................................................................ 141 facilities ............................................................................................................................... 141 incid_casualty ..................................................................................................................... 141 Table: incid_cont ................................................................................................................ 142 incid_damage ...................................................................................................................... 143 incid_empl........................................................................................................................... 144 incid_equip .......................................................................................................................... 144 incid_fac .............................................................................................................................. 146 incid_material ..................................................................................................................... 147 incid_team ........................................................................................................................... 148 Table: incidents ................................................................................................................... 148 instr_goals ........................................................................................................................... 150 Links ................................................................................................................................... 150 locations .............................................................................................................................. 150 Materials ............................................................................................................................. 151 Table: skills ......................................................................................................................... 152 tblCourseSession ................................................................................................................. 153 tblCurriculum ...................................................................................................................... 155 tblGISExtract ...................................................................................................................... 156 tblSysLog ............................................................................................................................ 158 tblTrainingEmailIndex ........................................................................................................ 159 tblTrainingEventSessionAttendance ................................................................................... 159 tblTrainingEventSession ..................................................................................................... 160 tblTrainingNeedsAssessment .............................................................................................. 162 team_cont ............................................................................................................................ 163 team_course ........................................................................................................................ 163 Table: teams ........................................................................................................................ 164 Table: train_exp .................................................................................................................. 165 tblVolActAssessment .......................................................................................................... 165 tblVolOppty ........................................................................................................................ 167 tblVolOpptySelected ........................................................................................................... 167 Queries .................................................................................................................................... 168 qryAbsVolAttend – Abstract of DSW Volunteer-attended Training and Community Events ............................................................................................................................................. 168 qryAbsVolAttendIncid ........................................................................................................ 169 qryAbsVolAttendTE ........................................................................................................... 170 qryActsVoledFor................................................................................................................. 170 Query: All CERT Members ................................................................................................ 171 Query: All Volunteers by Type ........................................................................................... 171 Query: All Volunteers for One Type .................................................................................. 171 Document1 v qryAttendanceByName ....................................................................................................... 172 qryAttendees ....................................................................................................................... 172 qryAttendees_Crosstab ....................................................................................................... 172 qryBadgesPrintedLast5Days ............................................................................................... 173 qryBasicCERTAvail ........................................................................................................... 173 qryBasicCERTCompletions ................................................................................................ 173 qryBasicCERTGrad ............................................................................................................ 173 qryBasicCERTGradCount .................................................................................................. 174 Query: Blank Disaster All Skills......................................................................................... 174 qryConfLtr .......................................................................................................................... 174 Query: Contact Details ........................................................................................................ 175 Query: Contacts Courses ..................................................................................................... 175 Query: Email All At Work .................................................................................................. 175 Query: Email All Home or Work........................................................................................ 175 Query: Find Skills V2 ......................................................................................................... 176 qryGISExtract ..................................................................................................................... 176 qryHiPriorityTeam .............................................................................................................. 176 qryiContactList ................................................................................................................... 177 qryLeadTeamRole ............................................................................................................... 178 qryLocalBasicCERT ........................................................................................................... 179 Query: Mailing Lables (All Volunteers) ............................................................................. 179 Query: List by City ............................................................................................................. 179 qryNbrhdTeams .................................................................................................................. 180 qrySkillCourseSession ........................................................................................................ 180 qryTeamListing ................................................................................................................... 180 Query: Update Blank Disaster With Skills ......................................................................... 181 qryVolAlamedaARES......................................................................................................... 181 qryVolAllListing ................................................................................................................. 181 qryVolBadgeExpire ............................................................................................................ 182 qryVolBasicCERT .............................................................................................................. 182 qryVolConfEHdr................................................................................................................. 183 qryVolConfEMail ............................................................................................................... 183 qryVolCourseEnrolled ........................................................................................................ 184 qryVolDSWStatus............................................................................................................... 184 qryVolDSWStatusList ........................................................................................................ 185 qryVolHamOperator ........................................................................................................... 185 qryVolHighestPriority......................................................................................................... 185 qryVolOpptySpec ............................................................................................................... 186 qryVolOpptySpecSel .......................................................................................................... 186 qryVolOpptyVoledFor ........................................................................................................ 186 qryVolRecentCertificate ..................................................................................................... 187 qryVolSkill .......................................................................................................................... 187 qryVolSkillCourse .............................................................................................................. 187 qryVolSkillCourseCertPend................................................................................................ 188 qryVolCourseSessionNeeds ................................................................................................ 188 qryVolSvcDate .................................................................................................................... 189 Document1 vi qryVolTeam ........................................................................................................................ 189 qryVolTrainingEvent .......................................................................................................... 189 qryVolType ......................................................................................................................... 190 qryVolVolType ................................................................................................................... 190 Query: Volunteer Incident Tasks ........................................................................................ 190 Query: Volunteer Incident Tasks (One) .............................................................................. 191 Query: Volunteers for an incident....................................................................................... 191 Forms ...................................................................................................................................... 192 Style Elements for Forms.................................................................................................... 192 frmCheckSkills ................................................................................................................... 194 frmClassRoster .................................................................................................................... 195 frmConfLtr .......................................................................................................................... 195 Form: contacts_tab_frm, contacts_frm, “Volunteer Data” ................................................. 195 frmCurriculum .................................................................................................................... 198 frmDRPerson ...................................................................................................................... 199 Form: employees_tab_form “employee_frm” “Trainers & OEM” .................................... 199 frmEnroll “Enroll Volunteers in Training Event” .............................................................. 200 frmEnrollContacts Courses ................................................................................................. 201 frmEnterAttendance ............................................................................................................ 201 frmInactiveVol .................................................................................................................... 201 Form: incid_team_subfrm ................................................................................................... 202 Form: incident_cont_datasheet ........................................................................................... 203 Form: incident_contacts_frm .............................................................................................. 203 Form: incident_frm ............................................................................................................. 203 frmInstantiateCourse ........................................................................................................... 204 Form: locations_frm “Locations” “Volunteer Locations” .................................................. 205 Form:main_frm “Main Menu” ............................................................................................ 206 frmOneTime ........................................................................................................................ 207 frmPrtAFDBadge “Print Employee Badges” ...................................................................... 208 frmPrtCertificate ................................................................................................................. 208 frmReports, “Reports” ........................................................................................................ 208 Form: skills_frm “Skills & Readiness” ............................................................................... 209 Form: start “Start” ............................................................................................................... 210 frmTrainingEventConfirmationEmail ................................................................................. 210 frmTrainingNeededEmail ................................................................................................... 210 frmVolActivity .................................................................................................................... 211 frmVolConfEMail ............................................................................................................... 211 frmVolRequest .................................................................................................................... 212 frmVolTrainingNeededEmail ............................................................................................. 212 Subform: cont_skill_subform ............................................................................................. 213 sfrmqryVolSkillCourse2 ..................................................................................................... 213 sfrmTrainingEventSession .................................................................................................. 214 Reports .................................................................................................................................... 214 Labels qryVolRecentCertificate .......................................................................................... 214 rptAFDBadgeVnn ............................................................................................................... 214 rptBadgesPrintedLast5Days ................................................................................................ 215 Document1 vii rptBasicCERTGrad “All CERT Graduates” ....................................................................... 216 Report: Casualties for One Incident .................................................................................... 216 rptCERTBadgeVn ............................................................................................................... 216 rptCERTCertificate ............................................................................................................. 217 rptCERTGradHistUpdated .................................................................................................. 217 Report: CERT Member Personal Information .................................................................... 217 Report: CERT Volunteers by City ...................................................................................... 218 rptDSWform, “Disaster Service Worker Form.” ................................................................ 218 Report: Find People with Skills V2 .................................................................................... 219 Report "Labels Mailing Lables (All Volunteers)" .............................................................. 219 Report : Resources “Volunteer Training & Resources Offered” ........................................ 219 rptStats ................................................................................................................................ 220 rptTeamListing, list of all Active Volunteers on Teams ..................................................... 221 Report: Training Events “Training Event Attendance Sheet” ............................................ 221 rptTrainingEventConfirmationLtr ....................................................................................... 222 rptTrainingEventConfirmationLtrBasicCERT ................................................................... 222 rptTrainingEventConfirmationLtrCPR ............................................................................... 222 rptTrainingEventRoster ....................................................................................................... 223 Report : Training Events “Training Event Summary” ........................................................ 223 rptTrainingOverview, “Training Overview”....................................................................... 223 rptVolCourseSessionNeeds “Assessment of Training Needs” ........................................... 224 rptVolDSWStatusList “DSW Badge Expiration and Logged CERT Volunteer Activities.” ............................................................................................................................................. 225 srptVolIncidHrs................................................................................................................... 225 rptVolOpptyVoledFor ......................................................................................................... 225 rptVolSkillCourseCertPend “Volunteers with Training Certificates Pending” .................. 226 rptVolSkillTraining: “Trained Volunteers Across The Curriculum” ................................. 228 rptVolTrainingEvent, “Training Event Attendance by Training Event” ............................ 228 rptVolTrainingNeededEMail .............................................................................................. 229 Report: Volunteer Resources for Incidents ......................................................................... 230 rptVolUpdateForm .............................................................................................................. 230 srptBasicCERTGradCount .................................................................................................. 230 srptOlePhoto ....................................................................................................................... 231 srptqryVolSkill .................................................................................................................... 231 srptVolCourseEnrolled ....................................................................................................... 231 srptVolIncidHrs................................................................................................................... 232 srptVolSvcDate ................................................................................................................... 233 srptVolTeam ....................................................................................................................... 233 srptVolVolType .................................................................................................................. 233 Pages ....................................................................................................................................... 234 Macros..................................................................................................................................... 234 Modules................................................................................................................................... 234 modDB ................................................................................................................................ 234 Public Sub WrSyslog(Operator, LogText) ......................................................................... 234 Module Form_cont_skill subform ...................................................................................... 234 Document1 viii Module Form_contacts_tab_frm ......................................................................................... 236 Module Form_employees_tab_frm ..................................................................................... 237 Module Form_frmComposeEMail...................................................................................... 238 Module Form_frmConfLtr .................................................................................................. 238 Module Form_frmEnrollContactsCourses .......................................................................... 238 Module Form_frmOneTime................................................................................................ 239 Module Form_main_frm ..................................................................................................... 239 Module Form_start .............................................................................................................. 241 Appendix A – Original Application Documentation .................................................................. 242 Getting Started with the CERT Volunteer Database .............................................................. 242 Helpful Hints:.......................................................................................................................... 243 Display Settings .................................................................................................................. 243 What The Buttons Do ......................................................................................................... 243 Closing Things .................................................................................................................... 243 Printing Things .................................................................................................................... 243 Selecting Records ................................................................................................................ 243 Tabbed Forms ..................................................................................................................... 244 Deleting Records ................................................................................................................. 244 Exporting Data .................................................................................................................... 244 Importing Data .................................................................................................................... 244 Resource References ........................................................................................................... 244 Other Resources (Locations and People): ........................................................................... 245 Update Volunteer Information: ........................................................................................... 245 Disaster Needs and Resources: ........................................................................................... 245 Training Events and Registration: ...................................................................................... 245 Teams and Membership: ..................................................................................................... 246 Trainers and Other OEM Contacts: .................................................................................... 246 Incident Management: ........................................................................................................ 246 Appendix B – Alameda CERT-Specific ..................................................................................... 246 Issues with the Data Base.................................................................................................... 246 Application Change Log ......................................................................................................... 248 March 13, 2003 – Version 1.01 .......................................................................................... 248 Version 1.02 ........................................................................................................................ 248 January 18, 2011 – Conversion to Access 2010. ................................................................ 248 Appendix C -- Miscellaneous ..................................................................................................... 249 Maintaining a CRET Program ................................................................................................ 249 Step 4: Maintaining Records ............................................................................................... 249 Other Data Bases..................................................................................................................... 250 Appendix D - SQL Database Normalization Rules .................................................................... 250 Rule 1: There should be a one-to-one relationship between the instances of an entity and the rows of the table. ..................................................................................................................... 251 Rule 2: A field should have the same meaning in each row of the table. ............................... 251 Document1 ix Rule 3: Each table should represent at most one entity. ......................................................... 252 Rule 4: Multiple instances of an entity should be represented by multiple rows in a table.... 253 Rule 4a: Multiple instances of an entity should not be represented as multiple columns. . 253 Rule 4b: Multiple instances of an entity should not be represented as multiple tables. ..... 254 Rule 5: Joins should be based only on primary and foreign-key equality. ............................. 254 Rule 6: Make sure keys are linked correctly. .......................................................................... 255 Appendix E – Sending E-mail Through Groupwise from Microsoft Access ............................. 255 http://forums.devx.com/archive/index.php/t-59737.html ....................................................... 256 SendMail() .............................................................................................................................. 257 Token ID ............................................................................................................................. 257 Syntax ................................................................................................................................. 257 Parameters ........................................................................................................................... 257 Return Values...................................................................................................................... 259 Remarks .............................................................................................................................. 259 Document1 x Introduction This document describes the Requirements, Design, Operations, and Implementation of a data base application to support the Alameda, California Community Emergency Response Team. Related Documents There should also be a Roles and Responsibilities document that defines the roles that may be assigned to volunteers and the tasks that they will perform. The Training Curriculum for Alameda CERT should be defined in a separate document. Operating Instructions These operating instructions are presented in the approximate order that they may be used by an administrator of the Alameda CERT program. Here a couple of things to be aware of when working with the data base. 1. Generally, it is better to click the Back ( ) button. ) button than to Close a window with the Close ( 2. Data is not entered into the data base until it is ‘committed.” When you see the little pencil ( the data is not yet committed and has not been entered into the data base. ) 3. Data that is not committed can be removed by pressing the ESC key. This can be helpful if discovering that data has been entered incorrectly in a form. 4. Once data has been committed, there is no to un-commit it. However, you can correct incorrect data by updating it again through the form. Common Administrative Tasks Key tasks that an administrator might perform are: 1) Connect to the Data Base. 2) Enter a New Volunteer. 3) Edit Information About An Existing Volunteer. 4) Enroll a Volunteer in a Training Event. 5) Assess Training Needs – Who Should Be Invited to “Make-up” Classes? 6) Enter Training Event Session Attendance. 7) Determine If Any Certificates Should Be Issued? 8) Issue Certificates and Enter Into Data Base. Connect to the Data Base. Document1 1 Double-click the Icon for the Alameda CERT Data Base. Microsoft Access will start, and then display the Security Warning dialog box shown at right. On the Security Warning dialog box, click Open. The CERT Data Base Start Form, shown below, will open. Click the down arrow on the User Name list. Click on your Name, and then click the “I have read and I accept these terms.” You may receive the error message shown at right. Photographs are stored in a separate data base named AFDPhotos.mdb, which could not be found when you logged in to the data base. You can continue to use the data base. However, any functions requiring photographs, such as badge creation will not work. Document1 2 Error Message You should contact IT support to determine why the photograph data base could not be found. The Main Menu, as shown below, is displayed. The beginning of each work day would be a good time to backup the data base. Click File, then Back Up Database, and navigate to the place you want to write the backup. Document1 3 Common Volunteer Tasks Enter a New Volunteer Starting from the Main Menu, to enter a new Volunteer, click Update Volunteer Information. The Volunteer Data form will be displayed. Even though you might be quit certain that you are entering a new Volunteer into the data base, it might be a good idea to check the data base and made sure the person is not already there. Click Select a Volunteer in the upper right corner. Document1 4 A drop-down box will open listing all the Volunteers in the data base. Scroll down the list, if necessary, to determine if the new Volunteer is in the list. If the Volunteer is already in the data base, then you should skip to the section Edit Information About An Existing Volunteer. If the Volunteer is not in the data base, then continue with these instructions. Click anywhere outside the drop-down list of Volunteers to close the list. Click the new record button on the bottom of the form. This will open a new blank Volunteer Data form, where information about the new Volunteer can be entered. Document1 5 The types of information about the new Volunteer that may be available will vary. However, here are some guidelines for each text box in the form. Text boxes on the Basic Contact Information tab of the Volunteer Data form are: Title. Optional. Typical values are: [ Dr. | Miss | Mr. | Mrs. | Ms.] The text box will accept any value. First: First Name. Required. A formal first name as indicated by the Volunteer. If a Volunteer’s given name is Thomas, but they use Tom, then enter Thomas here, and enter “Tom” in NickName. MI: Middle Initial. Optional. Enter if supplied by the Volunteer. Last: Last Name or Surname. Required. Enter as supplied by the Volunteer. When you enter the Volunteer’s Last Name, the data base will check for other Volunteers with the same last name. If there is one or more Volunteers with the same Last Name, the following Message Box will appear: Document1 6 This is not an error message. It is just an alert message for you to verify that the new Volunteer being entered is not already in the data base. Close this message box by clicking on OK, or simply hit the Enter key. You can then continue entering data, or cancel adding the new Volunteer by pressing Esc. NickName. Optional. Enter if supplied by the Volunteer. Mailing Address. Optional. Apt #: Apartment Number. Optional. ID Card #. Do not enter. This number is assigned when ID Card is delivered to Volunteer. City. Required. If value needed is not available, then see Add Volunteer Locations. ST. State. Required. Typically this will be CA for California. ZIP. Zip Code. CERT Zone. Enter the Fire Department Response District into this field. Among other things this field is used to segment the iContact mailing list by fire district. Telephone Numbers and E-Mail Addresses. Typically, we should have at least one telephone number and one electronic mail address for each volunteer. Home. Home telephone number of the Volunteer. Cell. Telephone number of the cell or mobile telephone carried by the Volunteer. Pager. Pager carried by the Volunteer. FAX. Home fax machine, if available. Work and Ext. Work telephone number and extension, if any. FAX. Work fax machine. Night. Another telephone that is attended at night. Email Home. Electronic mail address that the Volunteer uses at home. Email Work. Electronic mail address for the Volunteer at their place of business. Document1 7 Service Date. Optional. The date at which the Volunteer became qualified for service to Alameda CERT. Typically this will be the date that all classes were completed in the Basic CERT course and the Volunteer was assigned to a team. This text box will most likely be left blank when signing up new Volunteers. While the Service Date is optional when first entering a Volunteer, it is not optional when creating a Volunteer Identification Badge. When, you attempt to create a Volunteer Identification Badge, Service Date is required. Other Info Occupation. Optional Work Status. Optional. [ Full Time | Part Time | Retired | Student | Unemployed ] Employer Name. Optional. Workplace City. Optional. Emergency Contact. Optional. Person to contact in case of emergency with the Volunteer. Contact Phone and Ext. Optional. Telephone number and extension, if any, of the emergency contact for this Volunteer. Relationship. Optional. Relationship of emergency contact to the Volunteer. Education. Optional. [ High School | College | Graduate School | Other ] Any Personal Limitations. Optional. We have to be careful not to ask or document too many personal questions. Miscellaneous Comments. Optional. Anything else. Photo ID. Optional. The name by which the Volunteer’s photograph is known in the photograph data base (AFDPhotos.mdb). Photograph. Optional. Paste the photograph from photo processing software so that Access knows how to display the photo. (Photo ID). Do not enter or edit. This is the Photo ID as kept in the photograph data base. The information on the CERT Skills, Training and Teams tab of the Volunteer Data form are: 1. Specialized Training 2. Team Assignments and Priorities 3. Skills, Experience and Vaccinations. See Enter Skills for a Volunteer. Document1 8 4. Volunteer Type a. Types – Most likely will be CERT-NBH, ACPAAA, ARRL-ARCA, or ARRL-ARESA. b. Other Info – Only valid for ARRL-ARESA, having values of 1, 2, 3, or 4. When finished entering information, click Back ( right corner of the Volunteer Data form. ) in the upper Edit Information About An Existing Volunteer. To edit information about an existing Volunteer, click Update Volunteer Information on the Main Menu as shown above. Document1 9 In the Select A Volunteer list, click on the Volunteer name . When you click on a Volunteer’s name, the data about that Volunteer will be entered into the form. You can type over any data in the form and the old data will be replaced by the new. If you make a misteak (), pressing the ESC key will undo the most recent change. Enter the changes that need to be made. All changes are automatically entered into the data base when you click Back button ( ). Enter Skills for a Volunteer Suppose a Volunteer is a Plumber or a Ham Radio Operator. How do you enter those skills into the data base? This information is entered on the Volunteer data form. However, it’s on the second tab: CERT Skills, Training and Teams. The bottom section, with a yellow background is there the Skills get entered. Some skills get entered into this area automatically. For example when a Volunteer is enrolled for the Basic CERT class, an entry is automatically placed here for Basic CERT. However, the entry is not completed until the Volunteer’s attendance is entered. Completion is indicated by a check mark in the logReqdSessCompl field. Whether a class enrollment generates an entry here is determined by the Curriculum. See: Define a Course in the Curriculum. Let’s say you want to identify a Volunteer who is a Plumber. Go to the Volunteer Data for that Volunteer, Click on the CERT Skills, Training & Teams tab. Document1 10 In the Skills, Experience & Vaccinations subform, click on the empty Skills &Readiness field. A drop-down arrow will appear on the field. Click the down-drop arrow and scroll to the skill you want to enter. Click on the skill. Then enter any additional information. For example, 1. For the Basic CERT skill, enter the Volunteer’s Availability to be dispatched. For some Volunteers, their Availability has been determined by a survey. If you don’t know the Volunteer’s Availability, leave this field blank. 2. For a licensed skill, you may want to enter the license number. 3. For a Ham radio operator, you should always add the Call Sign in the “Notes/Licenses” field. Add Volunteer Photograph To Data Base Edit the photograph to exactly 300 pixels wide by 400 pixels high. It may be necessary to adjust lightness and contrast, crop the photo and resize it. If your photo editing software requires that you specify resolution, use 300 pixels per inch as that will match the badge printer capability. However, setting the photo resolution will not affect how Microsoft Access prints the photograph on the badge. Typically, the photography and editing of the photograph is done by Dave Howe, and he delivers a CD of headshots to use for CERT badges. Note the filename of the photograph, or make up something you want to use. As a suggestion, you may want to use the image number of the images as assigned by Dave Howe. Copy the photograph to the clipboard. The method for doing this will depend on the software available to you. On Erin’s computer, use Windows Explorer to find the head shots, right click on the image file, and then Open With Microsoft Paint. On the Volunteer Data Form, enter the name of the photograph in the Photo ID field immediately above the Photograph. You will see that the Photo ID will also appear immediately beneath the Photograph. Do not attempt to edit this, as it is the key into the Photograph Data Base. Paste the photograph into the photograph field. The Device Independent Bitmap format is recommended. Depending upon your photograph editing software, you may need to use Paste Special and select the format. Document1 11 Photographs can also be added to the Data Base in bulk by adding them directly to tblCERTPhotos. However, this is an advanced function. Be sure you understand how the data base works before you attempt this. Find Volunteers with Expired Badges. CERT badges expire after two years. During that time, Volunteers are expected to participate in two activities that are related somehow to Alameda CERT. There is a report that shows which badges have expired, and how many activities have been logged for each Volunteer with an expired badge. In the list of reports, find and double-click rptVolDSWStatusList. This report might take a few minutes to run, so be patient. Print a Badge for a Volunteer The first thing you need to do is make the Zebra printer your default printer. And, you need to start the data base with the Zebra printer being the default printer. So, click Quit Application on the Main Menu. Use Windows commands to navigate to your list of printers, and make the Zebra P120i Card Printer USB, your default printer. The exact sequence of commands will depend upon which version of Windows you’re lucky to be using. Restart the data base. Click the Update Volunteer Information, and navigate to the volunteer for whom you want to print a badge. Document1 12 Click the Create Badge button on the Volunteer Data form. This queues up a badge, in the table of Badges Issued. You might get rejected by the code. Some of the reasons for rejection might be: 1. Either the first name or last name is null(has no value). Check the first and last name and try again. 2. Service Date is required to create a badge. Enter the service date and try again. 3. Photo required for badge creation. Add a photo to the data base and try again. 4. This person already has a badge that is valid for at least another 30 days. Print a replacement badge using the Print Badge button on the Main Menu. There is a way to get around this, talk to the data base administrator.1 When a badge is successfully queued up, you will receive a message similar to “Volunteer Identification Badge successfully queued up for Volunteer: 174: Fred Smith.” When you are finished queuing up badges, you can print them. On the Main Menu, click Print Badges in the Volunteers section. The Print Badges form will open. This form lists all badges that have ever been printed. The new badges should appear at the top of the list with “Never” in the Date Printed field. Select the badges you want to print now by clicking the column labeled logPrintBadge. (Hint: at the beginning just select one badge, as a test, then when you’re confident the badges are printing OK, select more badges.) Click the Print button on the Print Badges Form. It’s really a matter of why you want to queue up a new badge for a Volunteer. Usually, though, the best thing to do is expire the badge by editing the expiration date in the field datBadgeExpire from the Print Badges form. Now you can queue up a new badge for the Volunteer. 1 Document1 13 Check the badge shown in the Print Preview window. In the Microsoft Access menu bar, click File, and Print. Check the printer properties. Rotation should be 180° front and back. The ribbon should be CYMKO CYMKO. Click OK on Printer Properties Click OK to print the cards. After printing the badges, there is a report rptBadgesPrintedLast5DaysLabels that will print mailing labels for all badges printed in the last five days. The label size is 3.75” wide by 1.333” high. This corresponds to an Avery ______ label. Enroll a Volunteer in a Training Event In the Volunteers section of the Main Menu, click on Enroll in Training Event. Select the Training Event in the Select Course Here: drop-down box. Click on the last row of the Enrollments subform, then click on the Volunteer who is being signed up for this Training Event. The Send an Enrollment Confirmation E-Mail form will open. By default the e-mail will originate from your GroupWise e-mail account as a proxy for cert@ci.alameda.ca.us. The e-mail will be addressed to the Volunteer at their home e-mail address, and the radio button for the Home e-mail address will be checked. If the Volunteer has no home e-mail address, then the work e-mail address is entered by default. If the Volunteer has no e-mail address, then no address is entered for them. Document1 14 If the Volunteer has both a home and a work e-mail address, then it is assumed that the home e-mail address is preferred. You can override this by clicking the work e-mail address radio button. You can also type a different e-mail address in the Home or Work field. However, any e-mail addresses added here are not reflected back into the data base. The radio buttons determine whether the e-mail is sent to the Home address or the Work address or both. You can type or paste any valid e-mail address into the CC: and BC: fields. The subject field is assumed to be “Alameda CERT Enrollment Confirmation.” However, you can edit this field. The text field is prepared from the enrollment record. You can edit this field, add a personal message, etc. The fields for names and telephone numbers are added to the form for your convenience. You cannot edit them and they are not sent as part of the e-mail. Click Send to send the e-mail. Click Back to exit this form without sending the e-mail. Once you click back the e-mail is lost. To recreate it you would have to dis-enroll the Volunteer from the Training Event, and re-enroll them. Sent e-mails will be stored in your GroupWise Sent Items folder. When you have finished entering Enrollments, click Back ( form. ) on the Enroll in Training Event Determine If Any Certificates Should Be Issued? On the Main Menu form, click Reports button. On the Reports form, click the Report of Volunteers With Training Certificates Pending button. This will preview the report of “Volunteers with Training Certificates Pending.” This report shows Volunteers who appear to have completed all the Course-Sessions in a Course. Document1 15 (Remember that it is possible for a Volunteer to have attended the Sessions across several different Training Events. You may find it helpful to verify attendance, by checking the “Training Event Attendance by Training Event Report. ) If you have a question about why a Volunteer is listed or is not listed in the Volunteers with Training Certificates Pending report, then a summary of Training Event attendance is available in the Training Event Attendance by Training Event report, shown below. Issue Certificates Certificates are issued for Skills. Information that a Volunteer has qualified for an Alameda CERT-Specific Skill is entered in the Skills, Experience, and Vaccinations subform of the Volunteer Data form. (Information that a Volunteer has completed a Training Event is entered in the Specialized Training (Past and Future Needs) subform of the Volunteer Data form.) (Remember that a Volunteer may not complete a specific Training Event because they missed one or more Sessions. However, they may attend Sessions across several different Training Events, and therefore qualify for a Local CERT-Specific Skill.) On the Main Menu, click Update Volunteer Information. Document1 16 On the Volunteer Data form, select the Volunteer in the Select A Volunteer drop-down box. Click the CERT Skills, Training and Teams tab. In the Skills, Experience, and Vaccinations subform, the Skill such as “Basic CERT” should already be filled in under Skills & Readiness. logReqdSessionCompl2 should already be checked. If not, then the Training Event records should be manually checked before issuing a certificate. Enter the date the certificate was issued in the Validated field. You can enter the date in any format you prefer. This date is printed on the Certificate as the date that the Course was completed. logReqdSessCompl literally translates into English as “Logical Required Sessions Complete” and means “Are all the required sessions complete?” 2 Document1 17 A dialog box will pop up asking, “Do you want to queue up a certificate for this Volunteer?” Click Yes. If there is already a Certificate queued up for this Volunteer, the data base will ask whether you want to queue up another. You might get this if a Certificate has already been issued for the same Course at some time in the past. It won’t hurt the data base, but you should probably click No, unless you know why there should be two Certificates You can select additional Volunteers in the Select A Volunteer drop-down box, and queue up a Certificate for them. When you are finished queueing up Certificates for Volunteers, click Back ( Main Menu. ) to return to the Click Print Certificates on the Main Menu. Print Certificates Print Certificates Now? Select Certificates, click Print Back Print Date Printed Volunteer Course Validated Never Mickey Mouse Basic CERT 3/21/2007 Never Daisy Duck Basic CERT 3/21/2007 3/14/2007 Goofy Dog Basic CERT 3/14/2007 3/14/2007 Minnie Mouse Basic CERT 3/14/2007 Select the Certificates you want to print by checking Print Certificate Now? Click Print. A Microsoft Access Report Preview window will open. It will show all the Certificates that are ready to print. You should probably give them one last check for spelling of name, etc. Click File, then Print, and select the printer for printing the Certificates. Make any settings changes that are required for the color printer. This is where you want to run down the hall and put the special paper in the printer. Run back to your office, and click OK. Run back to the color printer and retrieve the certificates. If one or more Certificates need to be reprinted, you can do that from the Print Preview window. When you have all the Certificates printed, then close the Print Preview window. Document1 18 Notice that the Certificates are still listed in the Print Certificates form, but with two changes: a) The Print Certificate Now box has been un-checked. b) Today’s date is shown in the Date Last Printed box. If you need to reprint one or more Certificates, check the Print Certificate Now box and click Print. Click Back ( ) to return to the Main Menu. You can return to the Print Certificates form any time, select a Certificate by clicking Print Certificate Now and reprint. Certificates that have been printed will always be listed in the Print Certificates form. They are sorted in descending date order, i.e., the most recently printed Certificates are listed at the top. You can create mailing labels for Certificates using a report named Labels qryVolRecentCertificate. Enter Data from Alameda CERT Volunteers Request Form To enter data from the Alameda CERT Volunteers Request Form regarding Volunteer Opportunities. On the Main Menu, click Update Volunteer Information. On the Volunteer Data form, select the Volunteer in the Select A Volunteer drop-down box. Document1 19 Click the Volunteer Tasks tab. To add more tasks for a Volunteer, click on the empty row and the Task column. A combo box will open containing the valid entries for Volunteer Tasks. Get an E-Mail Addresses List. This method uses a query that compares the Volunteer’s Home and Work E-Mail addresses and selects only one of them. If the Volunteer has a Home E-Mail Address, then the Home E-Mail Address is selected. If the Volunteer has no Home E-Mail Address, then the Work E-Mail Address is selected. If the Volunteer has neither a Home or a Work E-Mail Address then the Volunteer will not appear in the E-Mail Address list. (Fust FYI, “Intersection” implies that just one E-Mail address is reported per Volunteer. If both addresses were reported, then it would be called a “Union.”) Switch to the Data Base Window. Document1 20 Click on Queries. Run the Query named Email All Home Or Work. You can run a query by double-clicking it, or by selecting it and clicking on Open in the upper left corner of the Data Base Window. On the Microsoft Access Menu Bar, click File, then Export. Document1 21 Select a location and a format for the exported address list. I would recommend either CommaSeparated Variable (.csv) or an Excel spreadsheet (.xls). The choice depends how you import addresses into your e-mail program. Send an E-mail to a Volunteer To send electronic mail to a single Volunteer, open the Volunteer Data form from the Main Menu.Click the Send An Email button. It is about half-way down on the left side. Document1 22 The Send an E-Mail form will open. By default the e-mail will originate from your GroupWise e-mail account as a proxy for cert@ci.alameda.ca.us. The e-mail will be addressed to the Volunteer at their home email address, and the radio button for the Home e-mail address will be checked. If the Volunteer has no home email address, then the work email address is entered by default. If the Volunteer has no e-mail address, then no address is entered for them. If the Volunteer has both a home and a work e-mail address, then it is assumed that the home e-mail address is preferred. You can override this by clicking the work e-mail address radio button. You can also type a different e-mail address in the Home or Work field. However, any e-mail addresses added here are not reflected back into the data base. The radio buttons determine whether the e-mail is sent to the Home address or the Work address or both. You can type or paste any valid e-mail address into the CC: and BC: fields. Enter your subject into the Subject: field and text in the Text: field. You will have to check your own spelling, as the data base does not check spelling. Check also for undesireable social gaffs. When ready, click Send. The e-mail will be sent. The outbound e-mail will be stored in your GroupWise Sent Items folder. The Send an E-Mail form will be closed. If you decide not to send the email, click Back or close the window. The text will be checked for social gaffs and posted on YouTube along with your photo … … Hey! … … Bad fingers! … Stop that! How to get a list of Sworn DSW’s Document1 23 On the Volunteer Data form, click on the Email List button. This gives you the result of the query called “Email All Home or Work.” Volunteers who are sworn Disaster Service Workers will have “DSW” in the column DSW Status. Notice that some the Volunteers with DSW status are mixed in with the Volunteers that are not DSW status. Document1 24 To get the Volunteers all in a group, right-click on the DSW Status column and select Sort Descending. This puts the DSW’s in a group at the top of the query. Now, select the PrefMailAddr from the top of the query down until you run out of DSW Status. Copy to the clipboard with Edit, Copy (or Ctl-C) Then Paste into the address field of your e-mail program. Below is the current list of e-mail addresses for sworn DSW Volunteers. There are 112 of them. Document1 25 Print the Alameda CERT Dispatch List – Version 1 Version 1: The Alameda CERT Dispatch List shows Volunteers who have completed the Basic CERT skill, are sworn Disaster Service Workers, and have agreed to be dispatched for an emergency in Alameda. From the Main Menu, click Disaster Needs and Resources. In the Select A Disaster Type drop-down box, select Alameda CERT Dispatch List. Note that the Skills Needed sub-form shows only Basic CERT and HAM Radio Operator selected. You can add other Skills to this report. Click on the Dispatch report The Alameda CERT Dispatch List is implemented as a special version of the report named “Find People with Skills V2” for a Disaster named “Alameda CERT Dispatch List.” Prepare the Alameda CERT Dispatch List – Version 2 Run the query: qryVolAllListing. This could take a few minutes; there is a lot of data processing in this query. Click the External Data tab. In the Export section, click Excel. In the Export – Excel Spreadsheet dialog box. Use the default file name and file format. Select the following export options: Export data with formatting and layout. Open the destination file after the export operation is complete. Click OK You will likely receive the following message: The file C:\Users\Tom\Documents\qryVolAllListing.xlsx already exists. Do you want to replace the existing file? Click Yes You’re now in Excel. (However, Access will want you to go back and deal with the Save Export Steps dialog box. I just close it without saving the steps. Select Row 1, Home tab, Cells region, Format, Format Cells, Alignment tab, Wrap Text, OK. Manually squeeze down or expand the columns to minimize the column width and still show the data in two lines or less. (Doing this successfully is more art than science.) Some advice for the columns: Squeeze most columns down until the heading row is in two lines, Last Name and First Name would be exceptions. Expand Street Address until Jerry Juhala’s address, “1209 Santa Clara Avenue” appears on one line. Document1 26 Expand Email Home until Flavia Roger’s email address “flaviarogers366@yahoo.com” appears on a single line. That should be about 29 wide, expand Email Work to 29 wide also. Expand CERT Team Name until “Edison-Fernside Neighborhood” appears on one line. Squeeze the Resp. column until “Resp.” just fits in one line. Select Row 2 View tab, Freeze Panes, Freeze Top Row. Hide the following columns: A-F, H, K, M-O, T-V, Y-AB, AH-AJ Select columns I, J, L, P, and Q – Availability Day and Nite, ARES Level, DSW Status, and District & Team. Set Alignment to Center. Select all the Cells with data with: Ctl-End, F8, Ctl-Home. Home Tab, Cells Section, Format, Format Cells, Border tab, Color Automatic, Thin Line, all inside and outside, OK. Page Layout Tab, Page Setup, Page, Orientation Landscape, Fit to, 1 page wide by 100 pages long Margins, Left 0.5”, Right, 0.5” Header/Footer Custom Header, Right Section, Time, Comma, Date, OK Custom Footer, Left Section, Insert File Path, Insert File Name, Right Section, Insert Page Number, OK Sheet tab, Print Titles, Rows to repeat at top, Row 1, Enter Click OK. Save the File (.xlsx). Save the file as an Excel 97-2003 file (.xls) Use the Alameda CERT Dispatch List By default, this list is sorted as follows: 1. 2. 3. 4. 5. Availability for Dispatch – Day. Availability for Dispatch – Night. Valid DSW Status. ARES Training Level. Presence of a HAM Call Sign. For a list of Team Membership, Data, Sort, Sort by, “District, Team & Role” For a list of ARES Members, sort by “ARES Status.” Document1 27 Update the Mailing list in iContact Navigate to the data base window, as shown at right. If you don’t see it, it’s probably behind the form Main. You want to execute the query, qryiContactList. Click once on the name of the query. Then, click Open on the upper left corner of the data base window. The results of the query will be displayed as shown below. Export the results of the query to your computer disk. Click File. Click Export. Pick a place to save the exported data. It doesn’t have to be anypkace special; you just have to be able to remember where it was. By default, your computer will probably suggest you’re my Documents folder. That’s a pretty good place. Document1 28 You’ll want to export the list as an Excel spreadsheet. Click on Save as Type: and click on Microsoft Excel 97-2003 (*.xls). Microsoft Access will populate the File name: field with “qryiContactList”. That’s probably OK, although if you already have this file in your My Documents folder, you’ll get a question about whether you want to replace the file already on your disk. Log in to iContact. Click on My Contacts. Click on Add Contacts. Document1 29 Click on Upload Contacts from a File. Choose a list to add or invite your contact to: Click Alameda CERT. Under Locate file on your computer: Use the Browse button to navigate to the file we exported above. Click Upload Contacts. Enter your initials in the Spam-Free Certification. Make sure under “What should we do? Click the radio button for “Subscribe these contacts to list Alameda CERT.” Click Upload Contacts. Document1 30 Give the Upload Report the sniff test – does it seem reasonable? You might want to check the Segments and give them the sniff-test also. How to Get Some Basic Statistics The best way to get some basic statistics is to run rptStats. How Many Students Registered For Basic CERT Classes? Use: qryBasicCERTStudentsByYear. How Many CERT Graduates Each Year? The number of CERT Graduates by year can be obtained from qryBasicCERTGradCount. The result a table as follows: Document1 31 Year of Graduation 2002 2003 2004 2005 2006 2007 2008 Number of Basic CERT Graduates 38 41 50 83 47 38 77 Training Event Tasks Define a Course in the Curriculum On the Main Menu, click Edit Curriculum and Create a Training Event. This will open frmCurriculum as shown below. This form can do two different things: 1. Define a Course in the Curriculum. 2. Create a new Training Event from a Course defined in the Curriculum. Document1 32 The important fields are: Course Name: Required. Text data, up to 64 characters in length. Description: Optional. Text data, can be very long, up to a page in length. Does this record describe the current version of the Course? Check Box. This should be accurate, because several reports will go looking for the current version of a particular Course, or for a current Course that teaches a Skill. Course: This field cannot be updated. The data base uses this number to keep track of the Course. Skill Taught by This Course. Optional. The skill entered here must be in the Skills table. An Subform Course-Session (sfrmCourseSession). There is one entry in this subform for each CourseSession defined for the Course. Course. This field cannot be updated. The data base uses this number to keep track of the Course and its Course-Sessions. Session: Course-Session Number: Required. The values in this field should be consistent across definitions of the same Course as the Curriculum evolves. In the example above, “Personal Preparedness” is Course Session #1. In the future, it should always be #1. This doesn’t mean “Personal Preparedness” cannot be taught second, or third, or seventh. It is just always #1. Document1 33 Sort. Required. This is typically the order in which this Course-Session is presented. Use Sort if you want to change the typical order of presentation of each Course-Session. There be will more chances later to change the order of Course-Sessions or the actual date that they are taught. Name. Required. Text data, up to 50 characters in length. Description. Optional. Text data, can be very long, up to a page in length. Date Last Updated. Optional. The date that the name or description of this Course-Session was updated. Updated By. Optional. The identity of the person who last updated the name or description of this Course-Session. Buttons: Back button. Schedule a Training Event button. Schedule a Training Event Assess Training Needs – Who Should Be Invited to “Make-up” Classes? When a new Training Event is scheduled, it might be helpful to review a list of partially-trained Volunteers and invite them to specific Training Event Sessions that they are lacking. On the Main Menu, Click on Assess Training Needs and Send E-Mails. The data base will calculate a new assessment of training needs. This may take a few moments. Then the “Assessment of Training Needs” report (rptVolCourseSessionNeeds) will be previewed. This report can be viewed online, or it can be printed by clicking the Print button ( ). At the same time, the Send E-Mails to Volunteers Who Need Classes (frmTrainingNeededEMail) will open. Document1 34 Open the ComboBox to select a specific Training Event to which you want to invite Volunteers who need classes. In the example shown, “CERT – Course 4 – 2008” has been selected. The data base will now prepare e-mails for every Volunteer who needs to attend a Training Event Session for the selected Training Event. Two different things happen at the same time. A report displays showing Volunteers who need Training Event Sessions in the slected Training Event, and a form opens with a suggested e-mail to the first Volunteer on the report. At first, you may not see the report because it is hidden behind the form. A small portion of the report “CERT Volunteers Who Need Classes” (rptVolTrainingNeededEMail) is shown above. The report is sorted in order of the number of Training Event Sessions that Volunteers need to complete their Basic CERT training. Volunteers who need only one Training Event Session are at the top of the report, followed by Volunteers who need two Training Event Sessions, Volunteers who need three, and so on. Within that order, Volunteers with recent training will appear before Volunteers with old training. Volunteers are presented in the same order on the “Send a Training Needed E-Mail” form (frmVolTrainingNeededEMail). The From: address is set programmically to cert@ci.alameda.ca.us By default the home e-mail address is used. A work e-mail address, if present, is shown on the form, but is not used by Document1 35 default. If you want to use the work e-mail address, click the radio button adjacent to the word “Work.” You can also type over the Home and Work e-mail addresses. However, any changes that you make in these fields are not reflected back into the data base. You can enter additional e-mail addresses in the complimentary copy (CC) and blind copy (BC). The Subject field can be edited. The text includes a listing of the Training Event Sessions that the Volunteer needs. These fields can be edited also. Or you can add a personal note in the e-mail. The Volunteer’s name, address, and telephone numbers are shown at the bottom of the form, but are not sent with the e-mail. The Hide These Records button on the left will mark the training records for this Volunteer, so that they will not appear again in this context. There are two times this button can be helpful. The first is after a Volunteer writes back stating they do not plan to ever make up the missed training. The second is more subtle, and maybe best explained in an example. Erin was grandfathered for the Basic CERT skill. Later she registered for the Basic CERT class and attended a couple of sessions to refresh her skills. Now the data base, seeing the registration without completion will list Erin as needing to make up missed training. In that case click this button. If you click it in error, the records can be recovered, but the data base administrator will have to do the work. Before you click Send, make sure you are logged in to GroupWise on your computer. You must use the real GroupWise client. Web access will not work. The Send button sends the e-mail. You can then move to the next record. The Back button closes this form without taking any other action. You will also have to close both reports and the Send E-Mails to Volunteers Who Need Classes (frmTrainingNeededEMail) form. Print Confirmation Letters On the Main Menu, click Confirmation E-Mails and Letters. The Print Confirmation Letters dialog box will open. Document1 36 Click on the drop-down box, select the Training Event for which you want to print Confirmation Letters. The Confirmation Letter will appear on the screen in Previewmode. Check the letter carefully. Are the dates correct? Is the location correct? If everyone has an e-mail address, then you will receive a message stating, “All students have email addresses. No printed letters required.” On the other hand, if there are students who have no e-mail address, then a report preview window will open with pre-addressed letters for each student. The exact format of this letter will depend upon whether the Training Event is a Basic CERT class or a CPR class. If confirmation letters are desired for other courses, then a custom report needs to be designed. See your data base administrator. Print the letters by clicking File, then Print. Select the correct printer, and the number of copies, then click OK. The Send Training Event Confirmation E-Mail form will be opened for all students that have email addresses. You can edit the CC list; add addresses to the BC list, and edit the subject and text. You cannot edit the e-mail addresses (perhaps that can be a future option). All the students will receive this email as blind copies. That way you Document1 37 will not disclose the e-mail addresses of the students to each other. You do not need to remove the informative comment in the BC field. The data base will remove it before sending the e-mail, Click Send to send the e-mail. The data base will not confirm a successful send. However, the sent mail will be saved in the Sent Items folder of GroupWise. Enter Training Event Session Attendance In the Training Section of the Main Menu, click Enter Attendance. Document1 38 In the Select Course Here drop-down box, click on the course for which you want to enter attendance. Click the “+”-sign for the Training Event Session. This will open a subform for attendance entry. In the example shown below, we are going to enter attendance to the (FS) Fire Suppression session of the Basic CERT course. Click the check box under Attend? For each Volunteer who attended the class session. You may enter attendance for more than one session. If desired, you can select another Course at the Select Training Event Here drop-down box, and continue entering attendance for a different Training Event. When finished entering attendance, click the Back ( ) button. This is one time when it is really important to push the Back button and not simply close the form. Don’t worry, there won’t be a disaster if you close the form without clicking the Back button. However, when you click the Back button, the data base runs a special program. This program summarizes the attendance data and updates the Volunteer’s training status. If you forget and close the form without clicking the Back button, this program will not be run, and the Document1 39 training reports will not reflect the latest training status. The nice thing is: you can recover easily. Just return to the Enter Attendance form and click the Back button. Document1 40 How to “Grandfather” Basic CERT Training? There may be Volunteers who have completed the Basic CERT training some time in the distant past. However, at this time, we do not want to return to the training records and type old training records into the data base. Here is a procedure to enter grandfathered Basic Cert training into the data base. Open the Volunteer Data form. Document1 41 Click on the CERT Skills, Training and Teams tab. In the Skills, Experience and Vaccinations sub-form, open the Skills & Readiness list. Click on Basic CERT in the Skills Description column. “Basic CERT” should now appear in the current row under Skills & Readiness. Click the check box under logReqdSessCompl. Now enter today’s date under Validated. It’s important that you do all three: 1. Click Basic CERT under Skills & Readiness. 2. Click logReqdSessCompl, and 3. Enter today’s date under Validated, so that this entry will stick in the data base. Now click the Back ( ) button. Count the Number of Basic CERT Graduates On the Main Menu, click Reports. On the Reports form, click Number of Basic CERT Graduates by Year. Document1 42 This opens a query named qryBasicCERTGradCount, shown below: This data can be printed, exported to Excel, or copied to the clipboard. Add Volunteer Location Maintain the Volunteer Type table. The Volunteer Type table lists the sources for Alameda CERT Volunteers. Under Miscellaneous Table Maintenance, click on CERT or Volunteer Type Listing. Team Tasks Define Teams Add a Volunteer to a Team There are two ways to add a Volunteer to a Team: 1. From the Volunteer Data form, CERT Skills, Training and Teams tab. Document1 43 2. From the Teams & Memberships form. Print a List of All Teams In the Teams section of the Main Menu, click on Print Team Listing. The “All Teams With Volunteers” report will be previewed. Click on File, then Print, for a printed copy. You can also click on Tools, then Office Links, and then click on Publish It with Microsoft Word or Analyze It with Microsoft Excel. The fields on this report from left to right are: Document1 44 Role – Comes from the Team Role field in the Team Assignments and Priorities subform on the Volunteer Data form. Volunteer Name – This is the concatenation of the Volunteer’s First and Last Name. Nickname will be used if a nickname is specified for the Volunteer on the Volunteer Data form. Address – Street address of the Volunteer. Telephone – Up to three telephone numbers for the Volunteer: Home, Work, and Cell. Email – One or two email addresses for the Volunteer: Home and Work. Basic CERT – Indicates “Y” if the training records show the Volunteer has the Basic CERT skill. DSW Stat – Indicates the DSW Sworn Date (year only) if the Volunteer has a DSW Sworn Date in the Volunteer Data form, and their last badge has not expired. Service Date – The Volunteer’s Service Date as indicated on the Volunteer Data form. ARES – Indicates “ARES” if the Volunteer Type includes “ARRL-ARESA” to indicate the Volunteer is a registered member of Alameda Amateur Radio Emergency Services (ARES). L – Indicates the Alameda ARES level attained the the Volunteer who is registered with Alameda ARES. Values of 1, 2, 3, or 4. Call Sign – Amateur Radio Call Sign for those Volunteers who are licensed Amateur Radio Operators. Cl – Class of Amateur Radio license for those Volunteers who are licensed Amateur Radio Operators. Callout: Day – Indicates “Y” if the Volunteer has agreed to be dispatched in the day time (8:00 AM to 8:00 PM). Callout: Night – Indicates “Y” if the Volunteer has agreed to be dispatched in the night time (8:00 AM to 8:00 PM). The data base calls the report: rptTeamListing. Other CERT Administrative Tasks Check Volunteer Activity The data base can also check Volunteer Activity, by building an index from the possible ways a volunteer can participate, and discounting their activity over time. Click: on the Main Menu. Import Volunteers from a Spreadsheet Volunteers can be imported from a spreadsheet. The process is pretty crude, though. See the form frmOneTime. Document1 45 Map Trained Volunteers and Teams Prepare A Map Of The City For Alameda I a personal geodatabase containing numerous feature data sets and feature classes. received some data from the 911 system. It consists of: 1. Basemap a. b. c. d. e. f. g. h. i. j. k. l. m. AddressPts CITYLIMIT Facilities FacilitiesAnno Parcel_Pts Parcels Parks Pavement RR_Lines Schools STNA Streets Streets_Pvt 2. FireAppurtenance a. b. c. d. e. f. g. h. i. j. k. l. Bldg BldgNo CriticalFacilities EvacuationRoute FDRD Fences FireSymbol FireText Hydrants Priority1Shelters Prirrity2Shelters TriageSite 3. GolfCourses a. Fairway b. HoleNo c. Tees_Greens 4. Grid a. PublicSafetyGrid Document1 46 b. PublicSafetyGrid200 5. Police a. PD_repdis b. PD_sectors c. Police_Zones 6. RoadApputenance a. EdgeOfPavement b. Paths 7. Utilities a. b. c. d. e. f. Sdmh Sewer Ssmh Storm Tap_ala Valve_ala 8. WaterFeatures a. b. c. d. e. f. Coastline CoastlineAnno DockNo Docks Shoreline Water_Poly 9. Zoning a. b. c. d. e. f. g. h. i. j. forZoningMapOnly GeneralPlan GeneralPlanMapAnno Overlay Overlay_Bayfarm ROW_forzoningonly StreetAnno Streetselection2Anno Zoning ZoningAnno 10. Addresses 11. Assr_Images 12. intersections 13. LU_Condo 14. ParcelUT 15. ValidAssessor 16. ValidParcels The geographic reference for this data is NAD 1983 StatePlane California III FIPS 0403 (Feet).prj. Document1 47 Build an Address Locator I have gone back and forth between a number of Address locator styles, including US Streets with Zone and AltName. However, now I am using US One Address With Alternate Names. I was forced to use the Alternate Name feature because there are some street names that standardize poorly. For example, in the Bay Isle Pointe neighborhood, there is a street named “Sable Point.” The name contains no type, i.e, Street, Avenue, Boulevard, etc. Therefore, the geocoding program gets very confused when trying to standardize names. The instructions below are from ESRI, regarding how to create an alternate name table for geocoding. This is Article ID: 28181 from the ESRI Knowledge Base. Procedure. (You may not give a damn about this, and wonder why I bother to write it down. I do so to remember what I did.) When geocoding, it may be necessary to preserve the reference data, but use alternate names in a project. Creating an alternate name table solves this problem. 1. Add or select a join-id field to the primary table. For the Alameda AddressPts feature class you can use field SPADID. Otherwise, add a field named "JoinID" to the existing reference data. 2. Use the Field Calculator to populate this field with the values from the OID or FID field. It would be nice if you could just join using the OID (or ObjectID) as the key. Unfortunately, that doesn’t work. 3. Create a new Personal Geodatabase in ArcCatalog. 4. Open the attribute table for the reference data. 5. Select all the data in the table for which an alternate name will be specified. 6. Select Options > Export to export this table selection to the newly created geodatabase. 7. In ArcToolbox, select the Geocoding tools > Standardize Addresses.3 8. Select the table exported as the 'Input Address Data'. 9. Select 'Name' for the 'Input Address'. 10. Select US Streets with AltName (GDB) for the 'Address Locator Style'. 11. Select the geodatabase for 'Output Address Data'. 12. Import the street shapefile or feature class into this newly created geodatabase. 13. Create the appropriate address locator in ArcCatalog with the US Streets with AltName (GDB) option. 14. In the Address Locator window, under the Alternate Name Table tab, navigate to the table created in step 5. 15. For 'Join ID' select the JoinID field created in step 1. 16. Specify the remaining options in the address locator as necessary. I think you have to identify all the possible streets needing alternate names ahead of time. I have tried to edit the Alternate Name table, adding an entry manually, but it doesn’t seem to work that way. Also it’s I’m not sure why you need this step. When I created an alternate names table for streets with a street type of “Lane” I did not use it. 3 Document1 48 not clear whether a street can have more than one alternate name. I suspect that only one alternate name per street is permitted. Or … it could be that I still have a lot to learn about geocoding. You may also have to edit the .CLS file. This file defines how an Address Locator standardizes addresses before attempting to match to the reference data. So far, there are two reasons that have led me to edit this file. The Alameda Data uses “LA” as an abbreviation for “Lane.” The default us_addr.cls contains entries for “LANE,” “LN,” and “LNE” to be translated to LN during address standardization. I have added an entry for “LA” also to be standardized to “LN.” A different situation arises in the Bay Isle Pointe area. Here streets are named with an “e” on the end of “Pointe.” Examples are Sable Pointe and Chatham Pointe. For those streets I modified the .CLS by adding a translation of “POINTE” to “PT.” This has solved the problem of geocoding those streets. Also, you have to watch out for differences between map and human entry of street names. This was particularly troublesome with “Seabridge.” The map coded most of that street as “Seabridge Court” with a small portion of “Seabridge Way.” The street signs show the major portion to be “Sea Bridge” with only the small culde-sac being “Sea Bridge Court.” The residents, however, believe the major portion of the street to be “Sea Bridge Way.” Document1 49 In yet a fourth way to code this street, the city GIS web site codes this street with a feature name of “SEA” and a feature type of “BRG,” the abbreviation of “Bridge.” Anyway, to build an Address Locator … Open ArcCatalog, or switch to the ArcCatalog window, if it is already opened. You can create an Address Locator in two ways. Use the toolbox or right-click on the location where you want the Address Locator and create it through the context menu. The dialog boxes presented by these two methods are very different in appearance. However, after you’ve been through them a couple of times, you’ll recognize that they are asking for the same data. I generally find it easier to create an Address Locator by right-clicking on the the location where I want it. This location is usually a file geodatabase. Right click on the location for the Address Locator. Select New, and then click on Address Locator. For Name: I usually use Alameda-Pointsyyyymmdd, where yyyymmdd is today’s date. On the Primary Table tab, The Reference data: is the AddressPts feature class. House Number: is ST_NUM. Prefix Direction and Prefix Type are not used. Street Name: is FEANME. Street Type: is FEATYP. Suffix Direction is not used. Join ID: is SPADID. On the Alternate Name Table tab: Reference data: is the AltPointsTable. Street Name: is FEANME. Street Type: is FEATYP. Suffix Direction is not used. Join ID: is SPADID. Document1 50 In the Input Address Fields section: I add cont_street as a field to be recognized as the street field, because the data from the CERT Data Base will use the cont_street field. In the Output Fields section: Check X and Y Coordinates, to add those fields to the geocoded table so that you don’t have to do that later. Check Standardized Address, as this might help you figure out why certain addresses were not geocoded. Click OK. Get The Volunteer Data Log into the CERT data base. Run qryGISExtract. The output of this query will be written in a data base called Export.mdb, and name of the exported table will be tblGISExtract. You may now exit from the CERT data base, or you may leave it loaded, as you prefer. Geocode the Volunteer Data Start ArcCatalog. Wait about a week. In ArcCatalog, Navigate to C:\Geodata\City of Alameda\AdditionsCurrent.mdb\CERT\CERTVolunteers and delete CERTVolunteers. Open Geocoding Tools, and select Geocode Addresses. The Input Table is C:\CERTDataBase\Export.mdb\tb lGISExtract, the Microsoft Access table created in step Get the Volunteer Data, above. The Input Address Locator is C:\Geodata\City of Alameda\AdditionsCurrent.mdb\ AddressPoints, the Address Locator created in step Build an Address Locator, above. In Input Address Fields, the Field Name of “Street” should be matched with an Alias Name of ”cont_street.” Document1 51 The Output Feature Class is C:\Geodata\City of Alameda\AdditionsCurrent.mdb\CERT\CERTVolunteers. Click OK. As of this writing, 5-May-2008, there are 675 Volunteers in tblGIS Extract. Of them, 606 (90%) matched with a score of 80 or above, nine more (1%) matched with a score of less than 80, and 60 Volunteers (9%) could not be matched. Reasons why Unusual street name, e.g., Sable Pointe, Moss Pointe, etc. Street not on the Map, multiple possibilities: Street missing from map, e.g., Crown Drive, Kings Road, and Queens Road. Streets drawn wrong, e.g., Chatham Pointe was treated as an extension of Sea Bridge Way. New subdivision, e.g., Lina Avenue, Sacramento Drive, Bryant Avenue, etc. Street misspelled: McDonald Road (McDonnel Road), Lagorio Cr (Lagoria Ct), and Sand Blad Rd (?). Add Geocoded Volunteers to Map In ArcMap, open your map and click Add Data. Nvaigate to the geocoded Volunteer data and click OK. Symbology for Alameda CERT Map Team Index 1 2 3 4 5 6 7 8 9 10 11 12 13 14 14 Document1 Team Name Bay Colony Bay Isle Pointe HOA Baywood Village CERT Brittany Landing Harbor Broadway/Otis, Southshore Crown Harbor Edison-Fernside Neighborhood Garden Isle Gold Coast Islandia Marina Village Pelican Bay Estates Woodbridge CERT CERT Administrative Office Volunteers Symbol + , . / 0 1 2 Symbol Name Hue Circle 2 17 Square 2 34 Triangle 2 51 Pentagon 2 68 Hexagon 2 85 Octogon 2 102 Round Square 2 119 Circle 3 136 Square 3 153 Triangle 3 170 Pentagon 3 187 Hexagon 3 204 Octogon 3 221 Star 238 52 What To Do With Volunteers That Can’t Be Automatically Geocoded Here’s what I did one time.: Add XY Data Open ArcToolbox. Click on Data Management Tools. Click on Features. Double-click on Add XY Coordinates. Export as a table Put all the “unknowns” in a generic location. For Alameda, mapped in California State Plane III, I use x = 6,050,000 feet, and y = 2,100,000 feet. This puts people just off South Shore Shopping Center. There is a Team Boundary outlining that area called “Penalty Box.” Import an XY Table. Now, manually edit the people in the Penalty Box who could not be geocoded. Fire Fighter Badge Tasks Start Start Alameda Fire Department Fire Fighter Badge Procedure Determine who needs a badge Schedule a photo / badge data form session Determine who needs a badge Print Badge Data Form Fire Fighter reviews form, edits data, and signs. Schedule a photo / badge data sheet session. Scan signature. Take Photograph Edit signature. Enter revised data in Data Base Print badge data form. Take a new photograph ? Edit Photograph Yes Enter Photograph into Data Base No Create Badge Record Review form, edit data, and sign. Expire the existing badge. Yes Does Fire Fighter have an existing valid badge ? Scan signature. No Print Badges At the Savin C2525, place the Alameda Fire Department, Identification Badge Data forms in the feeder, with the printing side up. You can scan multiple forms. There will be one page image for each form you scan. Document1 Deliver new badge to Fire Fighter. End Drawn by Tom Schweich C:\CERT\Training 2008 08 30.vsd, Page-1 Date Last Revised: 20:09, 9/8/2008 53 Press the Scanner button. Select the destination. It will ease the process if you are added to the frequent user list on the copier Set Scan Type to Gray Scale. Set Resolution to 300 dpi. Set File Name & Type to TIFF/JPEG. Press Start button. Edit signature. Retrieve the scanned Identification Badge Data forms from your GroupWise e-mail mail box. Open the scanned forms in photo editing software. You may need to rotate the image. Gray scale images arrive rotated to the right. Click Image. Click Rotate Left. You may also need to rotate the image a small amount to the right or left, depending upon how straight the signature was written, or how straight the form was fed into the scanner. Click Image. Click Free Rotate. Estimate how much you need to rotate the image and enter the direction and degrees of rotation. If the rotation is too much or too little, undo the rotation by clicking Edit, and Undo Rotation, and then trying a different amount of rotation. . Crop the signature fairly tight. Re-size the image so that the width is no more than 562 pixels, and the height is no more than 150 pixels. Export the image as a high-quality JPEG, into the directory G:\Disaster Prepare\Projects\ID Cards\Signatures_For_ID_Cards\. Assign the file name like <last_name>_<first_name>_YearMoDa. For example, “Brody_Dennis_20080909.jpg” Note: it’s possible to copy the signature from the photo editing software and paste it directly into the data base at this time. As we get more practiced, we may actually do that. However, it’s always a good idea to save the image of the signature outside the data base, just in case something gets fouled up. Enter revised data in data base. Document1 54 On the Trainers & OEM form, enter the data about the Fire Fighter. The following fields are required to create a badge. The data base requires that the fields not be null. The values in the fields are not checked. First and Last Name. Occupation. Employee Number. Must be numeric. Height. This is a character string, to enter 5 feet, 8 inches, use: 5’8”. Weight. Enter weight in pounds, without the # sign or “lbs.” Hair Color. Black, Brown, Blond, or Gray. Eye Color. Brown, Blue, Green, Hazel. Sex. M or F. Date of Birth. Use format mm/dd/yyyy. April 8, 1955 can be entered as 4/8/55. The data base will add the 1900 in front of the 55. Photograph. Signature. Take a new photograph? Take photograph Edit photograph Edit the photograph to be a high quality JPEG, 300 pixels wide by 400 pixels high. Enter photograph into data base … Document1 55 Click Edit on the menu bar. Click Paste Special. Click Device Independent Bitmap. Click OK. Enter signature into data base. ... Click Edit on the menu bar. Click Paste Special. Click Device Independent Bitmap. Click OK. … Create badge record. Click the Create Badge button. Does Fire Fighter have an existing valid badge? When attempting to create a badge record, you may receive a message similar to that shown at right. There is a decision to make. You can either print the existing unexpired badge, or expire the existing badge. Expire the existing badge. To expire an existing badge, click Print Employee Badges on the Main Menu. Document1 56 Find the employee on the Print Employee Badges form. Enter today’s date in the column datBadgeExpire. Now, go back to the Update Employee Information form, and click Create Badge. Print Employee Badges. From the Main Menu, click Print Employee Badges. This will open the “Print Employee Badges” form, shown below. Select the Fire Fighter Indentificate Badges that you want to print by clicking in the column labeled Now? Click the Print button. The AFD Badge Version dialog box will open. This dialog box gives the option of changing the version of badge to be used for Fire Fighters. The default version is Version 01. Document1 57 If you change the value, the dialog box will redisplay, and will continue to redisplay until you click OK without changing the version. An image of the Fire Fighter Identification Badges to be printed will display. Click File. Click Page Setup. Click on the Margins tab. All of the page margins should be set to 0 inches. Click on the Page tab. Examine the Printer for rptAFDBadgeV01 section. Click Use Specific Printer. Click the Printer badge. Document1 58 This will open the Page Setup dialog box. In the drop-down box, select the Zebra P120i USB Card Printer. Click Properties. The Zebra P120i USB Card Printer Properties dialog box will open. Check the following settings. Set Paper/Output, 180° Rotation to Front Back. Set Front and Back to Front YMCKO, Back YMCKO. The code YMCKO is actually meaningful: Y = Yellow, M = Magenta, C = Cyan, K = Black, and O = Overlay. This setting allows full color on the front and back of the card. Click OK. Click the Columns tab. In the Column Size box. Set the Width to 3.4097”. Set the Height to 4.25”. Check Same as Detail. Click OK. Document1 59 Click File. Click Print. If this is the first time through the Print Employee Badges, you may want to print only pages 1 and 2. This will print the front and back of the first badge. You can check this badge for correct printing, before printing the remaining badges. Click OK. This will start sending the Fire Fighter Identification Badges to the Zebra card printer. Deliver New Badge to Fire Fighter End Badge Printing Troubleshooting Guide Symptom Cause Solution The badge appears to be printing on two plastic cards. This is white space on the left side of the first card. The page margins are set to something other than zero inches. Go to Page Setup, click on the Margins tab, and set all the margins to zero inches. The magnetic strip goes right through the printing on the back of the card. The back of the Badge is not rotated. Go to the Zebra P120i USB Card Printer Properties dialog box, Options tab. Check the field named: Paper / Output: 180° Rotation and make sure it is set to Front Back. The City of Alameda seal on the back of the card is printed only in black, and not in color. Printing for the back of the card is set to Black only, and not to color. Go to the Zebra P120i USB Card Printer Properties dialog box, Options tab. Check the field named: Front and Back and make sure it is set to Front YMCKO, Back YMCKO. Troubleshooting Document1 60 Could not find file ‘C:\CERTDataBase\AFDCERTBackEnd.mdb’. If the data base is moved from one environment to another, the Front End may not be able to find the Back End. In that case, you will receive a message similar to that shown at right when you start the data base. Click OK. You will then see the Action Failed dialog box. This is because the start up program could not start the data base. Click Halt. On the menu bar, click Tools. Then Database Utilities. Then Linked Table Manager. Document1 61 On the Linked Table Manager dialog box, click Select All. Then click OK. On the Select New Location dialog box, navigate to the location of the Back End data base. Click Open. You will see a status bar in the lower left corner for Refreshing Linked Tables. When complete, the Linked Table Manager dialog box will say “All selected linked tables were successfully refreshed.” Click OK. Click Close. It’s possible to begin normal operation by opening Form Main. However, it will be simpler to close Microsoft Access and restart the data base. Document1 62 Requirements 1) Import existing data 2) Class session entity 3) Time tracking Process Requirements This section describes the processes to be supported by the data base. Volunteer Process These processes enroll a community member into the Alameda CERT program, track them through achievement of Volunteer status, and then keep data about the Volunteer up to date. Processes related to training are listed in Training Process, and processes related to Teams are listed in Team Management Process. 1) Typically, the first step in the CERT Member process is when someone signs up for a CERT class. They do this at a C. E. R. T. Online Course Registration web page hosted by the City of Alameda web site at the following URL: http://www.ci.alameda.ca.us/fir e/cert_registration.html. a) Generally a person takes the CERT training first, and then becomes a Volunteer. b) Registration is typically through the web site, but registration can also received by snail mail. Who receives the snail mail registrations …… what do they do? When do they get it? ….. 2) The web site posts data at the City of Alameda web site. What happens now ……. 3) Prepare and distribute paper volunteer forms. Paper forms are desirable for use at a community event where potential Volunteers will not Document1 63 have access to the web site. As an alternative, we could hand out paper brochures that describe how to sign up at the web site, with a backup (snail mail) procedure for those without access to the web site. a) Examples of paper forms: 4) Enter Data About a New Volunteer – Web site and manual paper-form process a) Collect the data from the city web site and the paper form in a central place with access to the data base. b) Validate the data. Does someone review the data before entering into data base? What do they look for? i) Is the address valid? ii) If the volunteer stated they have a particular certification, how do we know they really do? iii) Has the volunteer selected a CERT Training course? iv) What is the Volunteer Type? Volunteers who have not completed the basic CERT course could be listed as CERT-CAN (CERT Candidate) or CERT-TNG (CERT in Training). c) Enter data from web site and the paper form into data base. i) New Volunteers that have not completed the Basic CERT course will be assigned a Status of Incomplete. This will be changed to Active upon completion of the Basic CERT course. The Basic CERT graduation date is the date the last class is taken. d) Validate data entry (?) Did the data get into the data base correctly? e) Mail a CERT Class confirmation to the volunteer. (How will CERT class registrants know registration was successful?) 5) Revise Data About An Existing Volunteer a) Events that would cause revision of data: i) Changes to name, address, telephone numbers, e-mail addresses, employment, etc. b) Receive revised data about existing Volunteer. – How will we receive revised data? c) Send revised data to a central place. d) Validate the changed data. Is it real? e) Enter data into data base. f) Validate revised data (?) i) Mail or E-mail a confirmation report to volunteer with request that they review and update, if necessary (?) (1) One reason to send this is to verify that the request actually came from the Volunteer and not someone else under “pretext.” 6) Remove A Volunteer. Perhaps, this should be accomplished by marking a Volunteer as Inactive. 7) Radio Component. Initial training by Fire Dept., then continuing training by membership in the HAM radio club. Document1 64 8) Disaster Registry Workers. Provide services to people who have special needs. Volunteers who have passed a background check. 9) Track hours for volunteers …. Or, team leader could enter what their team did. Handling of Inactive Volunteers To handle inactive Volunteers, the data base must be able to: 1) Identify Volunteers who should be marked as Inactive. Wait for a human to check the recommendations. 2) Change Volunteers to Inactive status from Active status. Volunteers should be marked Inactive in two ways. a) Marking the Volunteer as Inactive on Form “Volunteer Data.” This should open a dialog box asking for verification, to prevent accidental marking of a Volunteer as Inactive. Added an “Inactivate” button to Form: contacts_tab_frm “Volunteer Data.” b) A analysis of Volunteer activity should open a form with a box that can be checked. 3) Select queries should select all Volunteers or only Active Volunteers when appropriate. 4) Provide a listing of Inactive Volunteers, as either a report or a form. i) Created form frmInactiveVol “Inactive Volunteer Data.” 5) Prevent adding of Volunteers to the data base a second time if they are already in the data base in Inactive status. i) There is a little bit of code that is executed whenever a new Volunteer last name is entered. This code will identify other Volunteers with the same name, and call them to the attention of the administrator. 6) Change Volunteers to Active Status from Inactive status. Volunteers may be considered “Active” based upon a combination of the following factors. A Volunteer may be considered “Inactive” in the absence of these factors. 1) Recent completion of the Basic CERT Course, and recent completion of a Basic CERT Refresher Course. 2) Attendance of any Basic CERT classes. 3) Attendance at any other CERT-related course, such as Emergency Communications 101, or CERT Operations. 4) Putting in Volunteer hours at team meetings, team events, and in the Disaster Preparedness Office. 5) Being on one or more teams. 6) Being a Disaster Registry Volunteer or providing Disaster Registry services such as being a Contact, being authorized to provide information, or being a health care provider. 7) Have one or more valid electronic mail addresses. 8) Have a valid CPR certification. CPR > 2 years. Document1 65 9) Has a valid CERT badge. 10) Is sworn in as a Disaster Service Worker. 11) Has a recent update to their CERT information. Each of the above factors is evaluated, and then summed to calculate an “Activity Score.” Generally, one point is awarded for completing a Basic CERT course, one point for being on a team, a point for each Disaster Registry role, and a point each for valid e-mail addresses, CPR certification, CERT badge and Disaster Service worker. Training hours are comverted to training days (eight hours). Some items are discounted as time passes, such as Basic CERT completion, and training hours. The Activity Score is the sum of the individual factors. After the scores are calculated, they are stored in a table called tblVolActAssessment. Then, form frmVolActivity is opened, listing the Active At the same time, an assessment is made of Disaster Service Workers to determine whether requirements for renewal have been satisfied. Numerous queries report Volunteer data. In general queries that report current data, such as “who is on a team?” should report only Active Volunteers. Queries that report historical data, such as “how many people have been trained?” should report all Volunteers. Every query that selects from the Volunteer table (Table: contacts) should be assessed. A preliminary count is 48 queries for assessment. Determine if the query is intended to report historic data and therefore all Volunteers should be selected. Alternatively, if the query is intended to report only current data then only Active Volunteers should be selected. Document the assessment results. If the query should select only Active Volunteers, add that to the query as a criterion. Query Description Query: All CERT Members Provides a list of all CERT Members in spreadsheet form. This is an query from the original data base. I’m not sure we are using it. Query: All Volunteers by Type Current? Historic? To Do Current Add criterion: logActive = True Current Add criterion: logActive = True Query: All Volunteers for One Type. Purpose: This query is intended as a report showing all the Volunteers for a specified Volunteer Type. Current Add criterion: logActive = True qryAttendanceByName. Provides a complete list of every Volunteer who has attended any Class Session, for rptTrainingOverview. All Add column logActive qryBasicCERTGrad. List the Volunteers who are Graduates of the Basic CERT Training Event, fulfillment of a Document1 66 Query Description Reporting Requirement. Query: Contact Details. Purpose: Provides all fields for a single Volunteer as listed in Table:contacts. Current? Historic? To Do All Query: Contact Details All -? Query: Contact Intown Details -- ? Query: Contacts Courses. Reports all Volunteers: Active and not Active. Queries, Forms and reports that use this query should filter for Active Volunteers or not as appropriate. qryDRAuthInfo -- ? qryDREMContact -- ? qryDRPhysician -- ? Query: Email All at Home -? Query: Email All at Home Class -- ? Query: Email All at Home Team -- ? Query: Email All at Work -? Query: Email All at Work Class -- ? Query: Email All at Work Team -- ? Query: Email All Home or Work. Query: Find Equipment -- ? Query: Find Facilities -- ? Query: Find Materials -- ? Query: Find Skills -- ? qryGISExtract -- ? qryInvalidEMailAddress -- ? Query: List by City. Document1 Current: Active Add criterion: 67 Current? Historic? Volunteers Only. To Do logActive = True Current Active Volunteers Only. Add criterion: logActive = True Current. Inactive Volunteers are excluded. Checked and updated: 25Aug-08. Purpose: Provide Volunteer information such as name, and Course-Session name information to the Training Needs Assessment in tblTrainingNeedsAssessment. Current. Inactive Volunteers are excluded Add criterion: logActive = True qryVolOpptyVoledFor. List of Volunteers and What They Volunteered For. Current. Inactive Volunteers are excluded. Add criterion: logActive = True qryVolSkillCourse. Lists Volunteers with specific Skills. Current. Inactive Volunteers are excluded Add criterion: logActive = True Query Description Query: Mailing Lables (All Volunteers) Query Mailing Lables (Class Members) -- ? Query: Mailing Lables (Team Members) -- ? Query: MP CERT Members Query: MRC Team List -- ? Query: Paramus Enrollment -? qrySpecVolsAndActs List a specific Volunteer and what Volunteer Opportunities are available to them. Query: Team Contacts and Courses -- ? Query: Team Contacts and Courses -- ? qryTeamListing. qryVolByName -- ? Query: Vol Count by City -? qryVolCourseSessionNeeds qryVolOpptySpecVol -- ? Document1 68 Query Description Current? Historic? To Do qryVolTrainingEvent Prepares a list of one record per Volunteer per Training Event, summarizing which Class Sessions were attended by the Volunteer. Historic. All Volunteers are selected regardless of Active status. Active status, and a string containing “Active” or “Not Active.” Query: Volunteer Incident Tasks -- ? Query: Volunteer Incident Tasks (All) -- ? Query: Volunteer Incident Tasks (One). Query: Volunteers For An Incident -- ? Review common reports of Volunteers. Add a notation to the footer of each report indicating whether the report shows all Volunteers, or only Active Volunteers, as determined by the query that selects the data for the report. There is a piece of code in the main Volunteer Data form that checks last names when a new Volunteer is entered. This code is intended to reduce the chances of adding a Volunteer twice. This code was reviewed to make sure it will continue to correctly serve its purpose with the implementation of Inactive Volunteer status. Prepare a report of Inactive Volunteers. Relatively simple. Maybe both a report and a form that permits changing Volunteer status to Active from Inactive. Construct a form to change Volunteer status to Active from Inactive. This is form frmInactiveVol. Volunteer Identification Badge Process Document1 69 Determine Who Needs a Badge Schedule a Photo / DSW Form Session Print Volunteer Profile / DSW Form Volunteer Review and Revises Profile, Signs DSW Form Data Entry Necessary? Enter Revised Data in Data Base Take New Photograph? Take Photograph Edit Photograph Enter Photograph into Data Base Does Volunteer Have An Existing Valid Badge? Print Badges Volunteer Identification Badge Process Deliver New Badge to Volunteer End Document1 70 Training Process Record the training received by volunteers. Be able to identify specific training events, the class sessions of a training event, and the class sessions each volunteer completed. The Curriculum is defined in terms of Courses and Course-Sessions The definition of coursesessions should remain fairly constant over time. alled se c r u o a c RT.” E have We Basic C “ Skill: Course-Session: Course: 1 to Many Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course Co co mple nfe tio rs n a s of kil thi l (o s c r s our kil se ls) . Order (1st, 2nd, etc.) Name Description Length (hours) Session 1 --“(PP) Personal Preparedness and Hazard Mitigation” Session 2 -- “(HZ) Hazardous Materials (HAZMAT) Awareness” … etc. 1) Define the training Curriculum. a) List of courses and prerequisites … not available but under development. b) Enter a Course in the Curriculum. i) Enter the Course-Sessions for a Course. (1) Enter the Order, Name, Description, 2) Define A Training Event. A Training Event is a scheduled instance of a Course Skill: Course-Session: Course: Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) The definition of coursesessions should remain fairly constant over time. 1 to Many 1 to Many sic a Ba ach y ’07. e t to ar ebru oing Training Event: re g ass in F ’ e Name of Course W T cl R Description Course CE Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. Training Event-Session: 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) a) Instantiate a Course in the Curriculum. Document1 71 i) Creates a single record in Table: courses and multiple records in tblTrainingEventSession, one for each Course-Session. b) Enter the planned date that each Training Event Session will be taught. 3) Prepare for Training Event a) Obtain Instructors and Materials b) Update the data about the Training Event in the data base. 4) Register A Volunteer For A Training Event. Volunteers are signed-up for Training Events Skill: Name of Skill Description of Skill etc. The definition of coursesessions should remain fairly constant over time. Course-Session: Course: 1 to Many Name of Course Description Course Skill Built by this Course 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) 1 to Many 1 to Many Training Event-Session: Training Event: r the p fo RT u d e E sign ic C B. is ‘07 Bas d e y Fr ruar class. Feb Name Address etc. 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) 1 to Many 1 to Many Training Event Registration: Volunteer: Name of Course Description Course Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. 1 to Many Training Event Signed Up For Volunteer Signed Up for Training Event Complete (Yes/No) Summary Info Training Event Session Attendance: 1 to Many Training Event Training Event Session Volunteer Attendance (Yes/No) a) It would be desirable for a Volunteer to be able to register themselves. However, this would come from migration to a hosted web-enabled data base. b) Create one record in Table: cont-course for each Volunteer, and one record in <Attendance> for each Course-Session. Table: cont_course is titled “Training Event Registration.” c) How will we verify that prerequisites for classes have been fulfilled? d) Handle Class limits and wait lists. 5) Prepare for a Training Event Session (Class) a) Print the Class Roster / Attendance Sheet. b) Send Reminders i) Document1 First Session, Each Session ? 72 6) Enter Training Event Session Attendance Data Training Event Session attendance is tracked at the detail level Course-Session: Course: Skill: Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) The definition of coursesessions should remain fairly constant over time. 1 to Many 1 to Many Training Event-Session: Training Event: Name of Course Description Course Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) 1 to Many 1 to Many Training Event Registration: Volunteer: Name Address etc. 1 to Many F re d, M pp atten ary, the ressi ded and Fe on ( the An b d F F CE ruary S) s ire y RT ’0 ess co 7 B ion urs as of ic e Su Training Event Session Attendance: Training Event Signed Up For Volunteer Signed Up for Training 1 to Many Event Complete (Yes/No) Summary Info Training Event Training Event Session Volunteer Attendance (Yes/No) a) Enter data from Attendance Sheet into Data Base. Document1 73 7) Determine whether a Volunteer has completed a Training Event. Training Event is marked “complete” for a Volunteer if all sessions were attended. Course-Session: Course: Skill: Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) The definition of coursesessions should remain fairly constant over time. 1 to Many 1 to Many Training Event-Session: Training Event: Name of Course Description Course Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) 1 to Many 1 to Many Training Event Registration: Volunteer: Name Address etc. 1 to Many Training Event Session Attendance: Training Event Signed Up For Volunteer Signed Up for Training 1 to Many Event Complete (Yes/No) Summary Info Training Event Training Event Session Volunteer Attendance (Yes/No) Training Event marked Complete if all sessions attended. Document1 74 8) Determine whether Volunteers have completed qualification for a skill. A Volunteer has a Skill if all Training Event Sessions were attended. A Volunteer may have to attend more than one Training Event to complete all Sessions. Skill: Course-Session: Course: Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course Training Event-Session: Training Event: Name of Volunteer Name of Skill Held by this Volunteer Training Complete etc. This table gives you the list of Volunteers that have completed the Basic CERT class, or the CPR class even if multiple Training Events had to be attended to cover all the Sessions. 1 to Many Volunteer Skill: A Volunteer has a Skill if Order (1st, 2nd, etc.) Name all the Course Sessions of Description were attended, Length (hours) a Course 1 to Many 1 to Many 1 to Many Name of Course Description Course Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. 1 to Many 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) The definition of coursesessions must remain fairly constant over time, so that this analysis can be performed. 1 to Many 1 to Many Training Event Registration: Volunteer: Name Address etc. 1 to Many Training Event Session Attendance: Training Event Signed Up For Volunteer Signed Up for Training 1 to Many Event Complete (Yes/No) Summary Info Training Event Training Event Session Volunteer Attendance (Yes/No) 9) Close A Training Event a) Course evaluations? b) Issue certificates, cards, etc. i) Prepare a list of Volunteers who should receive certificates. (1) Use: rptVolSkillCourseCertPend “Volunteers with Training Certificates Pending.” ii) Issue certificates iii) Send certificates automatically. c) Update data base with certifications. Disaster Service Worker Process To support the Disaster Service Worker process, the data base must be able to: 1. Determine whether a Volunteer is a Disaster Service Worker. 2. Track the date on which a Volunteer was sworn-in as a Disaster Service Worker. 3. Identify those Volunteers whose Disaster Service Worker status has expired, or is about to expire. 4. Determine whether a Disaster Service Worker has participated in enough activities since being sworn in, so that their status can be renewed. Document1 75 Team Management Process 1) Define A Team a) Enter the Team into the Data Base. 2) Make Team Assignments a) Prepare a list of who should be on the team. i) Geographical location ii) Skills b) Contact potential team members. c) Enter team assignment into data base. d) Self sign-up for teams (?) Asset Tracking Asset tracking, such as cribbing kits, backboards, etc. “Fire Department CERT Assets” Track things given to volunteers, such as vests, goggles, etc. CERT Program Management Process 1) Prepare reports about the CERT program. See the Reporting Requirements. Document1 76 Badge Requirements Field Alameda Fire Department Alameda Employees Alameda Police Department Punched Slot No Yes No Page Orientation Landscape Front: Portrait Landscape Alameda CERT Back: Landscape Background Photographic None. White. None. White “City of Alameda” text Yes. Yes. “City of” and “Alameda” font changes. Yes, plus “California” “California” No No City of Alameda Seal Back of card. Front of Card. Large. Small No Yes Not Present Faded Behind other information Department Name Department Logo Yes. Yes. “CERT” Front of Card. Front of card. Font of card. All capitals, White font in blue field. Front of Card. Yes. Yes. Faded. IT Dept logo on front of card. CERT logo on front of card. Employee Name Volunteer Name Behind Name and Title Employee Name Employee Name Font change Employee Rank or Title Yes, e.g., “Captain” No “Volunteer” or “Team Leader” Name of Team No No Yes.4 Example: “Gold Coast” 4 CERT members can be assigned to multiple teams. Only highest-priority team is listed. Document1 77 Alameda Fire Department Alameda Employees Alameda CERT Executive Committee indicator No No “Alameda CERT Executive Committee” Sworn Employee Indicator Yes Employee Photograph, or Volunteer Photograph Yes. Yes. Yes. 1” x 1 1/3” 31/32” x1 7/32” 1” x 1 1/3” 300x400 pixels 290? X 365? pixels 300x400 pixels Physical Identifying characteristics Sex, hair color, eye color, height, weight, and date of birth. No No Service Date No No Yes. Field Alameda Police Department Alameda CERT Date that Volunteer graduated from Basic CERT and was assigned to a team. Card Expiry Date Yes. Encoded in magnetic strip. Yes. Front of card. Employee Signature Yes. Employee Signature Title “Employee Signature” City Employee Number, or Volunteer Number City Employee Number, as “IDENTIFICATION Card No.” Volunteer Number, as “Member:” Card Serial Number No Yes. Magnetic Strip Yes No Yes Track 1 Employee Name & Department & Employee Rank & “ALA” N/A Null Document1 No No No No Back of Card Back of Card. 78 Alameda Fire Department Alameda Employees Track 2 City Employee Number N/A Null Track 3 Issuance Date & Expiry Date N/A Null General identification statement. No No “Not for general identification purposes.”5 Notice to Law Enforcement Official No “Attention Law Enforcement Official:” No Disaster Service Worker statement No City employee version. CERT Version. Department Head Signature Fire Chief No Department Head Title “Fire Chief No City Manager Signature No. Yes. Appears to be printed on card. No. City Manager Name Yes Incorporated in City Manager Title. No City Manager Title “City Manager” As “Debra Kurita, City Manager” No Counter-Signature No. Hand-written initials No Field Alameda Police Department Alameda CERT Volunteer Identification Badge Requirements Volunteer Identification Badges should have the following fields: 5 Identification as to Alameda CERT. This can be provided by the Alameda CERT logo and the words “Alameda” and “CERT” printed on the badge. Name, including nickname. Unique badge number. Wording required per Disaster Service Worker Guide. Document1 79 Identify the primary neighborhood CERT team to which the Volunteer belongs. Date the Volunteer became a qualified CERT Volunteer, i.e., graduated from Basic CERT class. Also known as the Service Date. This is a recognition item. Expiry or “Valid to:” date. Edit the data that is put on the badge. For example, refuse to create a badge without a photo, or the Service Date. Wording on the back indicating the badge carrier is a sworn Disaster Service Worker. Some process requirements are: Track the creation and printing of badges. Ability to batch the production of badges. We have had some discussion about indicating whether a Volunteer is an Amateur Radio Licensee (Ham Radio Operator). The initial though was to add the ARRL logo to the Volunteer Identification Badge. However, we cannot assume that all Hams are ARRL members. The call sign is included in the badge data. However, it is not now (Nov 2009) printed on the badge. Document1 80 Alameda CERT Badge Specifications Alameda CERT Logo Volunteer Name: Use nickname if available. Do not include Title, such as “Mr.” or “Mrs.” Indicates Volunteer is a Team Leader of their highest priority Team. Will say “Volunteer” if not a Team Leader. Volunteer Photograph: 300 pixels wide x 400 pixels high (1 inch wide x 1.33 inches high, at 300 dpi) The name of the highest Priority Team of the Volunteer. Indicates Volunteer is a member of ACEC. Wording required per Disaster Service Worker Guide The date that the Volunteer graduated from Basic CERT and was assigned to a team. The date that the card expires. Magnetic stripe will contain no coding. Serial number of the card, use the ID field from tblBadgesIssued. Disaster Service Worker words, exact text TBD. Member Number: the record number (ID) in the Volunteer table. Drawn by Tom Schweich C:\CERT\Training 2007 10 19.vsd, Badge Specs #4 Date Last Revised: 09:14, 10/23/2007 Reporting Requirements This section describes the requirements for Reports to be prepared from the Data Base. It may be desirable to deliver reports as query results rather than Microsoft Access reports. A query result is easily exported as an Excel spreadsheet. Reports can also be exported to Microsoft Excel or to Microsoft Word. However the formatting can be a little trickier and the report may not be exported in an easy to analyze format. 1) All CERT Graduates – see: rptBasicCERTGrad “All CERT Graduates.” a) I interpret this as, “Give me a list of all Volunteers who have graduated from the Basic CERT Class.” b) Since Training Events are entered independently, there is nothing in the data base to indicate that the Spring Basic CERT class is similar to the Winter Basic CERT class. However, we could add a field to the data base that would indicate which part of the curriculum a Training Event was. Then pull a report by curriculum. c) We can get around the “Curriculum” question by specifying key words or key phrases in the Event Name, such as “Basic CERT” and then preparing a report of all Training Events containing that key phrase. (I’m sure this violates a Normalization Rule, I just don’t know which one.) d) For each Course in the Curriculum Document1 81 i) Show a Name Who Was Signed Up for Any Training Event of this Course (1) For each Course Session (a) Show the Training Event Session and Training Event Attended 2) Classes completed in 6-course series. – I think this would be an attendance list for each Training Event, showing classes completed by Volunteer. 3) Additional modules completed – not sure what this is. 4) Certification sent Yes/no? – I think this would be a report from the Certification field in the Training Event table (Table: cont_course) . However, we may have to add a field to distinguish between the need to send a certificate, and actual sending of the certificate. 5) All people who have volunteered – listing of all people in the Volunteer table regardless of Status (Active, Inactive, Incomplete) 6) Breakdown of volunteers – these could be a report for a particular Skill as listed in Skills, Experience, and Vaccinations. a) Office support b) Production team c) Outreach d) Training helpers e) Trainers f) Team leaders g) Hams h) Disaster registry volunteers 7) Years of service? – Need to add Service Date to the Volunteer table (Table:contacts). 8) Reports a) Total number of grads b) Number of grads in a given year c) Number of people who haven’t graduated – Go through the table of Course Attendance (Table: cont_course) and select Volunteers who did not complete all Training Event Sessions in the Training Events. d) What courses have been missed e) Break down on number of volunteers in each group and number of teams. Data Requirements Volunteer Data Document1 82 Category Data Element Required for Alameda CERT Operation Required to be Supported by the Data Base Supported by Data Base Comments Identification and Other Personal Information Title First Name Yes Required Middle Initial Yes Yes Last Name Required Yes Nickname Nice To Have Required No ID Card Number ? Yes Education ? Yes Age Bracket Yes Gender Yes ID Card Issued by Alameda CERT Location of the Volunteer Mailing Address Not Required Yes Apartment Number Only if applicable. Yes Street Address Not Required, PO Box mailing address acceptable. Mailing address assumed to also be Street Address City Yes State Yes Zip Code Yes CERT Zone Yes As: Zip+4 Telephone numbers Home Home FAX Machine Document1 Not Required Yes Yes 83 Category Data Element Required for Alameda CERT Operation Required to be Supported by the Data Base Supported by Data Base Business Yes Extension of Business Telephone Number Yes Business FAX Machine Yes Mobile Yes Pager Yes Night Yes Comments E-mail addresses Personal E-mail address Not Required Business e-mail address Employment Work Status Yes Occupation Yes Employer Name Yes Workplace City Yes [Full Time | Part Time | Retired | Student | Unemployed ] Emergency Contact Information Telephone Yes Telephone Extension Yes Relationship Yes Any Personal Limitations Miscellaneous Comments Document1 84 Category Data Element Required for Alameda CERT Operation Required to be Supported by the Data Base Supported by Data Base Comments Relationship to Alameda CERT Type of Member: Possibly by the Volunteer Type, as kept in Table: cert_type. Community Volunteer, Government Agency, … [ Active, Incomplete(?), Inactive(?),…. Status: Highly Desirable To be added in Version 1.02 No First volunteer service date Highly Desirable To be added in Version 1.02 No Access to command center. ?? Yes Swearng-In Date [ Day | Night | Weekend ] How is the related to the date the last Basic CERT Class is completed, and the Service Date? Training and Certifications Training Liability Waiver Signed Yes Classes Registered For Yes Table: cont_course Attendance at Class Sessions Yes Table: cont_course Training Event Completed Yes Table: cont_course Certificate Sent ? ? Teams Membership Team Assigned To Document1 Yes 85 Category Data Element Required for Alameda CERT Operation Required to be Supported by the Data Base Supported by Data Base Comments Disaster Registry Radio Operators, see also: Amateur Radio Club of Alameda. Skills, Experience, Vaccinations Yes Equipment Offered Yes Materials Offered Yes Facilities Offered Yes Resources Other … Be able to retain old records for a couple of years. Training Event Data 1) Training Event. a) Alameda CERT event, other event, … b) Instructor(s) c) Location (?) d) Date of first session, last session, number of sessions 2) Class sessions a) Name of Training Event b) Date of Class session Document1 86 c) Location of Class Session. d) Attendance 3) Class Session Attendee (Student?) a) Name of Attendee 4) Other … Team Data 1) Team Leader 2) Team Member 3) Other … 4) Which teams participated in a drill? 5) How to identify teams a) Name, Functional Name, Colloquial Name b) By Fire District, of which there are five, generally arranged by response time. Human Interface Requirements Dates: Short Date, Input Mask: 99/99/00;0;_ Other Requirements Ability to indicate the age of the data. For example, how much time has elapsed since Volunteer data was last updated? Add a log of data base activity. Financial data: Track donations from team members. Get a $25 gift certificate for each graduate, use to buy supplies. We should have write-access to the application, so that the application can be maintained, or enhanced as our requirements evolve. Preserve data we already have about volunteers, training they have received, team assignments, etc. Data is currently kept in Excel spreadsheets. There are some formatting differences between different spreadsheets, such as the format of volunteers’ names. For example, some spreadsheets list first and last name in the same column, others have last and first name, and others use separate columns for first and last names. Document1 87 There are about ____ spreadsheets with about ___ names that need to be entered into a common data base. Be able to map the home location of volunteers on the Alameda [disaster preparedness map in ArcInfo] Assist the assignment of volunteers to teams, so that volunteers are assigned to teams in their geographical home area? ¿Identify geographical areas by volunteer density? No volunteers? Enough volunteers? Too many volunteers? ¿Know where the volunteers are typically located during the business day? Are they typically on the island? Off the island? Data Center Operations Backup City has a 10-day retention on all backups. What retention at a hosting company? Time-dependent backup. If we use Dotster, do they run backups? Can they do restores? Account Restores? Server Restores? Bare-metal Restores? Security, who is using the data base. Encryption – of data base, use windows encryption. Define roles on a web portal. Graduates should be able to manage own data. Logical Model Definitions of Entities Amateur Radio Club of Alameda Amateur Radio Club of Alameda (ARCA) is new and expanding component of the city disaster response team. The club meets monthly to provide training and develop plans to assist and augment disaster communications. New members are always welcome. Amateur Radio Licensee See: Ham Radio Operator. Document1 88 Authentication Privileged access to the data base so that the functions of a Role may be performed requires Authentication of identity and right of access. This will be accomplished through a User ID and Password. Availability Indicates whether a Volunteer is available for Dispatch. Availability is indicated in Table: cont_skill. Badge There are two types of Badges: 1. Fire Fighter Identification Badge. 2. Volunteer Identification Badge. Certificate Certification CERT CERT is “Community Emergency Response Team. CERT Skills, Training, and Teams CERT Skills, Training, and Teams is a tab found on the Volunteer data form: Form: contacts_tab_frm, contacts_frm, “Volunteer Data.” CERT Type There is a table called cert_type and a column heading on several reports called CERT Type. CERT Type as used in this context refers to how the Volunteer came to be associated with the CERT organization. CERT Type only applies to Volunteers, not to Employees or Trainers. See: Volunteer Type. Document1 89 Cluster A Cluster is set of Topics. Contacts There is some confusion in the data base about “Contacts,” “Members,” and “Volunteers.” Generally, members of the community who are not public safety officers are listed as Volunteers, even though they are kept in the table of Contacts. “Members” is generally not meaningful, except when a Volunteer is a Team Member. See: Volunteer, as “Contacts” is denigrated. Course A Course is a member of a Curriculum. The Curriculum is defined in terms of Courses and Course-Sessions The definition of coursesessions should remain fairly constant over time. alled se c cour T.” a e ER hav We Basic C “ Skill: Name of Skill Description of Skill etc. Name of Course Description Course Skill Built by this Course Co co mple nfe tio rs n a s of kil thi l (o s c r s our kil se ls) . Document1 Course-Session: Course: 1 to Many 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) Session 1 --“(PP) Personal Preparedness and Hazard Mitigation” Session 2 -- “(HZ) Hazardous Materials (HAZMAT) Awareness” … etc. 90 Courses are instantiated in Training Events (Course-Instance). Data about Courses are stored in tblCurriculum. The attributes of a Course include: ID. A sequential number assigned to Courses as they are defined in the Curriculum. Sort Order. An order in which Courses should be presented within a Curriculum. Name of course. Prerequisites Note: Table: courses is the listing of Training Events, not the listing Courses in a Curriculum. Course-Session A Course-Session is a specific time period in a Course. A Training Event is a scheduled instance of a Course Skill: Course-Session: Course: Name of Skill Description of Skill etc. 1 to Many Name of Course Description Course Skill Built by this Course 1 to Many Order (1st, 2nd, etc.) Name Description Length (hours) The definition of coursesessions should remain fairly constant over time. 1 to Many 1 to Many sic a Ba ach y ’07. e t to ar oing n Febru Training Event: i re g Name of Course We’ T class R Description Course E C Time Frame (e.g., “February 2007”) Other possible, such as location, instructors, etc. Training Event-Session: 1 to Many Name Description Original Schedule Date Current Schedule Date, if rescheduled. Length (hours) When a Course is instantiated into a Training Event, then each Course-Session is instantiated into a Training Event Session. For example the basic Alameda C.E.R.T. Course has the following five Course-Sessions: 1. Personal Preparedness and Hazard Mitigation. This is the introductory class of the series. The class will provide an overview of the entire series; and will provide information on how to prepare your home and your family. We will cover four important steps to take before the next earthquake. 2. Hazardous Materials Awareness. This class will provide a basic understanding of what hazardous materials are, how to recognize a potential HAZMAT and what to do to protect yourself and others. 3. Disaster Medical. Learn basic triage, the sorting and prioritizing of the sick and injured. Learn how to give initial care, use basic 1st aid techniques, and how to prepare for the extended care of a disaster victim. Learn the elements of critical incident stress. 4. Damage Assessment and Disaster Search Techniques. Students will learn to recognize structural damage, how to make a systematic search for people who are unable to self evacuate and techniques to remove heavy objects that impede rescue. Document1 91 5. Fire Suppression & Exercise. Learn basic fire theory. The students will learn the elements of fire and what means can be used to extinguish fires of various combustibles. Students will learn how and when to use a fire extinguisher and how to protect other homes from impinging fire with fire hoses. Information about Course-Sessions is kept in tblCourseSession. The attributes of a Course-Session are: 1. Name, such as “Hazardous Materials Awareness” or “Disaster Medical,” above. 2. Description, such as the longer descriptions that follow the Names, above. 3. Order. 4. Typical Length (hours) There may be other “typical” attributes of Course-Sessions defined. Curriculum A Curriculum is the set of Courses that are defined for Volunteers. A Curriculum contains one or more Courses. The Curriculum is defined in tblCurriculum. Disaster Disaster is another name for “Incident.” Incident is the preferred term. There is a Table: disasters which identifies the kinds of Disasters or Incidents, and so we would refer to Incident Type. Table: dis_skill identifies the Skills, Experience, and Vaccinations that might be needed for a particular type of Disaster. Disaster Registry The Alameda Disaster Registry Program is intended to provide a means to identify persons with specific disabilities who wish to contacted after a major disaster. The registry will maintain a database of participants information to be made available to community volunteers so that they might provide assistance. Disaster Service Worker A Disaster Service Worker Volunteer is “…any person registered with an accredited Disaster Council…for the purpose of engaging in disaster service…without pay or other consideration.” Registered DSW volunteers are persons who have chosen to volunteer their time to assist a disaster or emergency services agency in carrying out the responsibilities of that agency. The person must: Document1 92 be officially registered with the accredited Disaster Council; and, not receive any pay, monetary or otherwise, for the service being provided. CERT is a DSW volunteer classification approved by the California Emergency Council. For Alameda CERT Volunteers, 1. Volunteers are sworn-in: a. Upon completion of the Basic CERT class, and b. Assignment to a neighborhood CERT team. 2. DSW status expires after two years. 3. DSW status can be renewed for two if the Volunteer has participated in at least two events since the time last sworn-in. Employee See: Trainers & Other OEM Contacts. Confusion in the data base about “instructors,” “trainers,” and “employees.” An employee might or might not be a sworn employee. Employee data is stored in Table: employees. FEMA Form Report: CERT Member Personal Information is referred to as the “FEMA Form.” I’m not sure how official this form is for FEMA. Fire Fighter Identification Badge Attributes of the Fire Fighter Identification Badge. … Photograph of the Fire Fighter. o Photographs are kept in tblAFDPhotos of a separate data base: AFDPhotos.mdb. … Ham Radio Operator Document1 93 Incident I think Incident might be another name for Disaster. Incident Type The Incident Types are stored in Table: disasters. Instructor Person who leads one or more Training Events. Assumption: it is not required to identify Instructors to the Training Event Session level of detail. See: Trainers & Other OEM Contacts. Confusion in the data base about “instructors,” “trainers,” and “employees.” Member A Member is a community volunteer, Fire Department staff member, other governmental agency staff member, or other interested person who participates in CERT activities. A Member may have one or more Roles. As used in this data base, the concept of “Member” is not particularly meaningful and is denigrated. See instead: Instructor. Trainers & Other OEM Contacts. Volunteer. Role Role refers to the function that a Volunteer or ______ might perform in the maintenance of data in the data base. “Roles” are somewhat related to Titles. However, Titles are more related to organizational function, whereas Roles are related to the data base and use of data. Roles that might be defined are: Data Base Administrator. This Role needs privileged access to the data base. Document1 94 A Volunteer Coordinator, i.e., someone who might assign a Volunteer to a Team. This Role needs privileged access to selected views of the data base. A Volunteer. This Role needs access to their personal data so that updates can be made. A Guest. This Role is permitted to establish an account, enter personal information, and register for Basic CERT training. Roles confer Permissions onto Accounts. Privileged access to the data base required Authentication of identity and right of access. This will be accomplished through a User ID and Password. Skills, Experience, Training, and Vaccinations. This entity is a kind of loose confederation of several things. There are skills, such as language skills. There is experience such as pole lineman or “confined space” There are vaccinations such as Hepatitis A, Hepatitis B, etc. There are also professions, such as doctor, attorney, registered nurse, etc. The attributes of Skills, Experience, Training, and Vaccinations are: Skill Description Skill Class Skills may be taught by Courses. Some Skills may be local to a specific CERT team. For example some skills may be specific to Alameda CERT. When a local CERT Volunteer has completed all the Course Sessions of a Course, they are Qualified for a specific local CERT skill. For example, when an Alameda CERT Volunteer has completed all seven sessions of the Basic CERT Course, they are qualified for the Basic CERT Skill. Because of their personal scheduling constraints, it may be necessary for a Volunteer to attend the Course Sessions of multiple Training Events until they have attended each Course Session once. For example, a Volunteer may sign up for the Winter 2007 Basic CERT Training Event, and be able to attend all the Training Event Sessions except Disaster Medical. Then they signed up for the Spring 2007 Basic CERT Training Event. In this case, the Volunteer did not complete either Training Event. However they did become qualified for the Basic CERT Skill. Alameda CERT issues a Certificate for certain Skills. The primary example is the Basic CERT skill. The Basic CERT skill is a key skill for Alameda CERT and gets various kinds of special handling. For example, the Basic CERT skill is required for inclusion on a list of Volunteers who may be dispatched in a local emergency. See: Print the Alameda CERT Dispatch List. Skills, Experience, and Vaccinations to be tracked are defined in Table: skills. Document1 95 The Skills, Experience, and Vaccinations of the Volunteers are kept in Table: cont_skill. Table: dis_skill identifies the Skills, Experience, and Vaccinations that might be needed for a particular type of Incident. Student A Student is a Role that a Member takes when receiving training at a Training Event. Specialized Training (Past and Future Needs) For each Volunteer, which Training Events should they attend, did they attend, did they graduate, and was certification achieved? Found on the CERT Skills, Training, and Teams tab of the Volunteer Data form. This information is found in Table: cont_course. System Log The System Log is kept in tblSysLog. Team A Team is a group of Members, who are united to act as a unit by geography, or by skill. A Team can have one or more Members. A Member can be assigned to no Teams, one Team, or many Teams. Attributes of Teams: CERT Zone Covered. (CERT Zone concept denigrated.) Team Number, 3 characters, composed of the following, each one character: 1. Team Fire District. Fire District 0 (zero) is not a neighborhood team. 2. Team Group. 3. Team Number. Priority. High priority = 1, lower priorities are greater than one. Teams are identified in Table: teams. You can get a list of the highest priority Team for each Volunteer on a Team using qryHiPriorityTeam. The reports that contain data about teams include: rptTeamListing, list of all Active Volunteers on Teams. Document1 96 Team Leader A Team Leader is a class of Volunteer; a person who is the primary leader of a team, or an assistant team leader. A Volunteer is identified as a Team Leader using the cont_role field in table team_cont. Team Leaders can be identified by qryLeadTeamRole. Team Member A Team Member is a Volunteer who has been assigned to a Team. Trainers & Other OEM Contacts Confusion in the data base about “instructors,” “trainers,” and “employees.” The Tables and Forms tend to refer to Employees rather than Trainers & Other OEM Contacts. Instructors are Trainers & Other OEM Contacts. Training Event (Course Instance) A Training Event is a discrete unit of skills transfer from an Instructor to a Student. A Training Event is an instance of a Course as defined in a Curriculum. Training Events are sometimes referred to as “Courses.” For the purposes of this data base, the two terms are synonymous. A Training Event may have one or more Training Event Sessions. It is assumed that a Student who is registered for a Training Event has registered for and will attend all Training Event Sessions. Data about training events are kept in Table: courses. The attributes of Training Events are: Training Event ID. This is a sequential number assigned to the Training Event when it is defined. Course Name. The key phrase of “Basic CERT” is used to determine the Volunteers who have completed the Basic CERT course. There are some Reporting Requirements defined for Training Events. A Training Event class roster or attendance sheet is shown in Report: Training Events “Training Event Attendance Training Sheet” When Volunteers are enrolled for a Training Event, using the “Enroll a Volunteer in a Training Event” administrative process, we want to send out a Training Event Confirmation Letter. Document1 97 Training Event Confirmation Letter The attributes of Training Event Training Letter are: 1) Course Time Period 2) Course Name 3) Day and Date of the 1st Session of the Training Event a) For each Course-Session: b) Name of Course Session c) Day of Week Course Session is taught d) The Current Date for which the Course Session is Scheduled e) The Start and Finish hour for the Course Session 4) The Location that the training will be held. Training Event Confirmation Letters are implemented in the data base as a report: rptTrainingEventConfirmationLtr. There are several versions of Training Event Confirmation Letters. We had to implement multiple versions because the letters have significantly different formats depending upon the Training Event being confirmed. Basic CERT: CPR: C:\Users\Tom\ Documents\rptTrainingEventConfirmationLtrBasicCERT.doc C:\Users\Tom\ Documents\rptTrainingEventConfirmationLtrCPR.doc Training Event Session A Training Event Session is a continuous period of time in which one or more Instructors transfer knowledge to one or more Students. There may be brief breaks in the session for biological purposes. A Training Event Session is an instantiated Course-Session. For example in February 2007, Alameda CERT presented the Winter 2007 Basic CERT Training event on four consecutive Saturdays. Course Course Session Training Event Training Event Session Basic CERT (PP) Personal Preparedness and Hazard Mitigation Winter 2007 Basic CERT (PP) Personal Preparedness and Hazard Mitigation 3 Feb 07 (HZ) Hazardous Materials (HAZMAT) Awareness (HZ) Hazardous Materials (HAZMAT) Awareness 17 Feb 07 (DM-1) Disaster Medical 1 (DM-1) Disaster Medical 1 10 Feb 07 Document1 When Taught 98 Course Training Event Training Event Session When Taught (DM-2) Disaster Medical 2 (DM-2) Disaster Medical 2 10 Feb 07 (FS) Fire Suppression (FS) Fire Suppression 17 Feb 07 (SAR) Disaster Search Techniques (SAR) Disaster Search Techniques 24 Feb 07 Exercise Exercise 24 Feb 07 Course Session Spring 2007 Basic CERT (PP) Personal Preparedness and Hazard Mitigation (HZ) Hazardous Materials (HAZMAT) Awareness (DM-1) Disaster Medical 1 (DM-2) Disaster Medical 2 (FS) Fire Suppression (SAR) Disaster Search Techniques Exercise The attributes of a Training Event Session are: 1) The Training Event, of which this session is a part. 2) The Location of the Training Event Session. 3) The date and time the Training Event Session begins and ends. Type Type could mean a couple of different things (and I may not have them all listed here). Volunteer Type. For example, on the Volunteer Data form, there is the List by Type & Town ( ) button. … there must be other “types” in the data base. Volunteer A “Volunteer” is the primary term for a community member who has completed the basic CERT training and is accepted into the Alameda CERT program for assignment to a Team. Document1 99 There is some confusion in the data base about “contacts,” “members,” and “Volunteers.” “Contacts” is only meaningful in that the Volunteers are listed in a table called Contacts. Members by itself is not meaningful, except when a Volunteer is assigned to a Team and becomes a Team Member. The attributes of a Volunteer are: Title First Name Middle Initial Last Name Active status. The data base permits marking of a Volunteer as “Active” or “Inactive.” See the section on Handling of Inactive Volunteers. Volunteer Service Date. The date that a Volunteer completed the Basic CERT training and was assigned to a Team. A Volunteer may be sworn in as a Disaster Service Worker. Data about Volunteers is kept in Table: contacts. Which Course did a Volunteer take? Table: cont_course. What Skills does a Volunteer have? Table: cont_skill. Volunteer Activity The Volunteer Activity Index is composed of: Basic CERT Skill. Acquisition of the Basic CERT Skill has a value of 1, and is discounted. If we ever have a CERT Refresh class, I would think we would want to update the Basic CERT acquisition date, which would bump the Basic CERT Skill score up. Basic CERT Training Hours. Basic CERT training hours are converted into training days of 8 hours each, and then discounted. If a Volunteer attends the Basic CERT class, as a refresher after having acquired the Basic CERT skill, those hours are counted, and discounted from the date the refresher was taken. Other Training Hours Other Training Hours are all classes in which a curriculum is entered into the data base, students are enrolled, and attendance entered. Other Training Hours are divided by 8, i.e., converted to training days, and discounted. Volunteer Hours All other Volunteer hours are converted to volunteer days (8 hrs/day), and discounted. Number of Teams The number of teams to which a Volunteer is assigned. Not discounted. Number of Disaster Registry Relationships. Number of E-Mail addresses. Document1 100 This is really intended to make a Volunteer for whom we have an e-mail address more active than a Volunteer for whom we don’t. If we have an e-mail address, we can more easily contact a volunteer. Valid CPR You get one point for having a valid CPR on record. The certification date must be within the past two years (730 days). DSW Badge You get one point for having a valid DSW badge. DSW badges expire after two years. Recent Update You get a point for a recent update to the Volunteer information, i.e., is there a value in the “Last Updated:” field of the Volunteer Data form. This value is discounted. The Volunteer Activity Score is the sum of the individual scores from the above. Volunteer Activity is assessed by butChkVolAct when the end user clicks on instructions are found in Check Volunteer Activity. . End user The Volunteer Activity Scores are stored in tblVolActAssessment. The query Email All Home or Work includes the Volunteer Activity Scores, so that Volunteers can be organized by activity. Volunteer Identification Badge The Volunteer Identification Badge is one type of Badge. The attributes of Badge are: Front of Card o Alameda CERT logo o “Alameda CERT” o Volunteer Name. If Nickname is available, use the Nickname and Last Name Otherwise, use the First Name, Middle Initial, if available, and Last Name. o “Team Leader” or “Volunteer.” Use “Team Leader,” if the Volunteer is the leader of a neighborhood CERT team. Otherwise, use “Volunteer.” o Name of Team. Use the name of the Volunteer’s primary team, such as “Fernside Area,” etc. Do not list “Alameda CERT Executive Committee” or other committees here. o Service Date. Use the Service Date field from Table: contacts. This should be the date the Volunteer completed Basic CERT training. o Expiration Date, the date the badge expires. Use phrase: “Valid to:” o Photograph of the Volunteer. Document1 Photographs of Volunteers are kept in tblCERTPhotos. 101 Back of Card o Badge Number, a sequential number assigned to each Badge. Use the ID from tblBadgesIssued. o Volunteer Number, use the ID field from Table: contacts. Data about Badges is kept in tblBadgesIssued. Volunteer Opportunity Something that the Fire Department needs Volunteers to help with. Examples are: 1) 2) 3) 4) 5) 6) Create a neighborhood team of CERT volunteers. Participate in a neighborhood team of CERT volunteers. Volunteer as a "Disaster Registry" worker. Assist with CERT hands-on training and drills. Represent CERT at public events, street fairs, booths, etc. Assist as a production team member to support CERT classes. a) Print class and event handout materials. b) Assemble printed materials for classes and events. c) Assist in the class room. 7) Assist with Disaster Preparedness office (clerical needs). 8) Join the "Alameda HAM Radio Club" and learn to be a HAM. A list of tracked Volunteer Opportunities is kept in: tblVolActivity. End user instructions are found at: Enter Data from Alameda CERT Volunteers Request Form. Data flow and relationships between tables, queries and reports can be found at: Alameda CERT Volunteers Request Form. Volunteer Type Volunteer Type defines the kind of volunteer, such as someone from a neighborhood group, or someone sent from a governmental agency, etc. Some types that might be interesting are: ACPAAA – A CERT Volunteer who is also associated with the Alameda Citizens Police Academy Alumnai Association. ARRL-ARCA – A CERT Volunteer who is also associated with the Amateur Radio Club of Alameda. ARRL-ARESA – CERT Volunteers who are also associated with Alameda ARES. CERT-NBH – A CERT Volunteer associated with a neighborhood team. Volunteer Type is found on Form: contacts_tab_frm, contacts_frm, “Volunteer Data” on Tab “CERT, Skills, Training, and Teams.” Note: one continuing question is how to include Volunteers who have not completed the CERT training. Volunteer Type has two possible values that could apply th this situation: CERT-CAN (CERT Candidate). CERT-TNG (CERT in Training). Document1 102 There are several reports listing Volunteers by Volunteer Type. Some of them are implemented as queries. Examples are: All Volunteers by Type, which is implemented as Query: All Volunteers by Type. Volunteers for Selected Type, which is implemented as Query: All Volunteers for One Type. The kinds of Volunteer Types that can be found in the data base are stored in Table: cert_type. Data Model Volunteer Data Training Data See also: Training Processes. Curriculum Contains [1:?] Contains S[1:?] Course Comptency Consists of S[1:?] Training Event (Course Instance) has students [1:?] cont-course Volunteer Sign Up for B[1:?] Has [1:?] role_name [1:1] Class (Training Event Session) role_name [1:?] Contains S[1:1] Attendance Covers Many [1:?] Topic Teaches S[1:1] Skill Drawn by Tom Schweich Date Last Revised: 13:36 06 12 06 C:\CERT - Non-DB\Training 2006 12 06.vsd, Page-1 Document1 103 Document1 104 Software Evaluation Name of Software 6 How Did We Get It? Hosted Solution, such as eCoordinator Found at through http://www.techsoup.org. http://www.samaritan.com Volunteer Impact Software Demonstration http://www.volunteer2.com/demo2/intro1.asp Community Hub Volunteer Matching Software http://www.volunteer2.com/demo-CH/intro.asp Volunteer Reporter http://www.volsoft.com/products/features.htm Vision Link http://www.visionlink.org/Products.htm CERT FE for All.mde Version 1.01 Available from multiple sources Does it Meet Member Process Requirements Does it Meet Training Process Requirements? Does it Meet Team Management Requirements? Does It Meet Human Interface Requirements? Does It Meet Other Requirements? TBD TBD TBD TBD TBD Yes Yes. Training events can be defined, volunteers assigned to Yes. Individuals can be assigned to multiple teams. Unattractive, complex, and possibly difficult to use, interface.6 No. Not available in Design mode. Available only as an It’s a little unfair to judge this interface negatively, since it’s version 1 of an application that is significantly more complex than the other CERT data bases. 105 Name of Software How Did We Get It? Does it Meet Member Process Requirements Does it Meet Training Process Requirements? events, and attendance at event sessions can be recorded. Does it Meet Team Management Requirements? Does It Meet Human Interface Requirements? Does It Meet Other Requirements? executable. We are attempting to get in touch with the author. GymAssistant Via Steve Zegas 2.0 No. Some required fields missing. No, training events, training event sessions, and attendance not tracked. Does track visits. No. Very nice end user interface. Data model, data base, and application interface will require significant revision. cert-db.mdb FLORIDACERT via Jerry Juhala Yes, looks like it would meet most requirements. No, Only tracks CPR certification. Training events cannot be defined or tracked. Allows up to five “positions” per member, and allows for assignment of members to “zones” but there are no teams. Mostly. No Opinion. CERT1.mdb CERT-GEN via Jerry Juhala No, required fields missing. No, Only tracks CPR certification. Do not permit definition of teams or assignments of volunteers to teams. Mostly. No Opinion. CERT DB2.mdb These data bases are very similar. 106 Data Base Documentation Tables Common Field Definitions. Some fields are commonly used in many tables. Name Defined In Type: Size Description cont_id Table: contacts Number, long integer ID Many Tables AutoNumber tblAFDBadgesIssued Purpose: Provide a staging area and a record of Employee Badges that have been printed. Records are added to this table by subroutine Private Sub butrptBadge_Click(). Source of Data: Uses of Data: rptAFDBadgeV01. rptAFDBadgeV02. Notes: This table is fully denormalized, so that all of the data on the Badge is fully contained within the table. Name Type: Size Description ID AutoNumber Printed on the Badge as the Card Number. 107 Name Type: Size logPrintBadgeNow Yes/No Description Identifies that the Certificate should be printed when the Print button is pushed. Badge Data datBadgePrinted Date/Time System time when the badge was last printed. datBadgeValid Date/Time Date the badge is valid. datBadgeExpire Date/Time Date the badge expires. strTrack1 Text, length: 76. strTrack2 Text, length: 37. strTrack3 Text, length: 104. Volunteer Data cont_id Number: Long Integer Contact ID, identifies the Employee. strEmpName Text, length: 128 Name of the Volunteer, assembled from title, first name, nick name, middle initial, and last name. strContNickName Text, length: 30. Nickname of the Volunteer cont_first Text, length:30 First name of the Volunteer Cont_sworn Yes/no Is this person a sworn employee of the employer? Cont_occupation Text, length: 50. Your current or prior occupation, such as "Fire Captain," goes on ID card. Cont_hgt_txt Text, length: 12. Employee height, text field, print exactly as entered. Cont_wgt Number, long integer Employee weight (pounds) Cont_hair_color Text, length: 16. Employee hair color. Cont_eye_color Text, length: 16. Employee eye color. Cont_sex Text, length: 1. M or F Cont_dob Date/Time Employee date of birth. olePhoto OLE Object Photograph of the CERT Volunteer. oleSignature OLE Object Signature of the CERT Volunteer. 108 Name Type: Size Description tblAFDPhotos Purpose: Contains photographs and signatures of Alameda Fire Department employees. Location: This table is kept in AFDPhotos.mdb. Source of Data frmAFDPhotos in AFDPhotos.mdb. Use of Data: Notes: 1) A link is established to tblAFDPhotos when either of the following two buttons are clicked on the Main menu, Update Employee Information Print Employee Badges 2) The link to tblAFDPhotos is deleted when exiting the application by clicking Quit Application on the Main menu. tblBadgesIssued Purpose: Provide a staging area and a record of Volunteer Identification Badges that have been printed. Records are added to this table by subroutine Private Sub butrptBadge_Click(). Source of Data: Uses of Data: qryBadgesPrintedLast5Days – prepare a list of recently printed badges for mailing labels. qryVolBadgeExpire – Expiration date of most recent badge, if Volunteer has a badge. qryVolDSWStatus – whose DSW badge is expiring and have they been active enough to renew? Notes: This table is fully denormalized, so that all of the data on the Badge is fully contained within the table. 109 Name Type: Size Description ID AutoNumber Printed on the Badge as the Card Number. logPrintBadgeNow Yes/No Identifies that the Certificate should be printed when the Print button is pushed. datBadgePrinted Date/Time System time when the badge was last printed. datBadgeValid Date/Time Date the badge is valid. datBadgeExpire Date/Time Date the badge expires. cont_id Number: Long Integer Contact ID, identifies the Volunteer. Printed on the Badge as the Member Number. strVolName Text, length: 128 Name of the Volunteer, assembled from title, first name, nick name, middle initial, and last name. strContNickName Text, length: 30. Nickname of the Volunteer cont_first Text, length:30 First name of the Volunteer strTeam1Nbr Text, Length: 16 Number of the highest priority team for this Volunteer strTeam1Name Text, length: 50. Name of the highest priority team for this Volunteer strTeam2Nbr Text, length: 16. Number of the second priority team for this Volunteer. strTeam2Name Text, length: 50. Name of the second priority team for this Volunteer logACECMember Yes/No Is this person on ACEC, team 000? logSDWS Yes/No Is this Volunteer a sworn Disaster Service Worker? logTeamLdr Yes/No Is this Volunteer a Team Leader for their highest priority team? logICSQual Yes/No Is this Volunteer qualified for Incident Command Services (ICS)? logRadioQual Yes/No Is this Volunteer qualified for Radio? Badge Data Volunteer Data 110 Name Type: Size Description strAmateurCallSign Text, length: 8 Call sign for Amateur Radio Licensees. While call signs are maximum 6 characters long, the length of 8 permits entry of “Multiple” if the data base contains multiple entries for Ham Radio Operator. logEMSQual Yes/No Is this Volunteer qualified for EMS Services? olePhoto OLE Object Photograph of the CERT Volunteer. oleSignature OLE Object Signature of the CERT Volunteer. tblCERTGradHist Notes: ' As a manual operation I combined all the spreadsheet data into a single spreadsheet. ' There was a CERT_Grads_092705.xls that I found on Erin's disk. ' Olga and I made up spreadsheets of the 2005 and 2006 grads. ' I combined the three spreadsheets into one, and standardized the data format. ' The graduation date is a little off for the pre-2005 CERT grads. ' This means the Service Date will be a little off. ' Imported the spreadsheet as a new table in the data base: tblCERTGradHist. ' Let's call the table with the current Volunteer data tblVolunteer. ' Remember though, that it's really called "contacts." tblCERTGradHistUpdated Purpose: Source of Data: butInsertPastCERTGrads Use of Data: rptCERT GradHistUpdated. 111 tblCertificatesIssued Purpose: Source of Data: Use of Data: qryVolRecentCertificate. Name Type: Size ID AutoNumber Description logPrintCertificateNow Yes/No datCertificatePrinted Date/Time Volunteer Data (cont_id) strVolName Text, strContNickName Text, length: 30. cont_first Text, length:30 Volunteer Skill Data (cont_skill) skill_val_date Date/Time Course Data (intCurrID) Number, Long Integer skill_id Number, Long Integer (Course_name) Text, length: 50. Aka intSkillID 112 Course_hours Number, Long Integer Skill Data (skill_id) Number, Long Integer (skill_descr) Text, length: 80. Table: cert_type Purpose: defines the Volunteer Type in the Volunteer Data form. Use of Data: qryVolType, provides a means to edit the table of Volunteer Types. Name Type: Size Description type_id Long Integer, length: 4 type_name Text, length: 10 type_descr Text, length: 50 Order Long Integer, length: 4 Relationships (25-Oct-06, mapped into data base) Table Field Table: Type_id cert_type type_id Relationship Table 1 to Many Table: type_id cert_type_cont CERT Type 1 CERT-NBH 2 CERT-SCH 3 CERT-FBO 4 5 6 7 8 CERT-BUS CERT-GOV CERT-UN CERT-CAN CERT-Y Field Type Description Neighborhood CERT School or College CERT Faith Based Organization CERT Business CERT Government Agency CERT Unaffiliated CERT CERT Candidate Youth CERT Attributes Enforced, Cascade Updates, Cascade Deletes Display Order 1 2 3 4 5 6 7 8 113 type_id 9 10 11 12 13 14 15 CERT Type CERT-TNG MRC-YES MRC-CAN ARC SEN-CTR RBARI Other Type Description CERT in Training Medical Reserve Corps MRC Candidate American Red Cross Senior Center RBARI Dog Cat Shelter Display Order 9 10 11 12 13 14 15 Table: cert_type_cont Purpose: This table relates Volunteers to Volunteer Types. Source of Data: Use of Data: qryVolVolType. Columns Name Type: Size Caption Description type_id Long Integer: 4 cont_id Long Integer: 4 other Text: 50 When type_id is 21, meaning Alameda ARES, then the values indicate ARES level as 1, 2, 3, or 4. check Yes/No Unknown: appears on Form: contacts_tab_frm, contacts_frm, “Volunteer Data”: but otherwise function unknown at this time. Relationships Table Field Relationship Table Field Attributes: cert_type type_id 1to Many cert_type_cont type_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many cert_type_cont cont_id Enforced, Cascade Updates, Cascade Deletes 114 tblCERTPhotos Purpose: Contains photographs of CERT Volunteers for use on Volunteer Identification Badges. Location: This table is kept in AFDCERTBackEnd.accdb. At one time it was kept in AFDPhotos.mdb. That’s why you may see some references to that data base in the documentation. Source of Data: frmEnterPhotos in AFDPhotos.mdb Use of Data: srptOlePhoto. Puts photo in rptDSWForm. Notes: 1) The link to tblCERTPhotos is established when the application is started by Form: start. 2) The link to tblCERTPhotos is deleted when exiting the application by Button Command3 “Quit Application” in Form: main_form “Main Menu.” Table: cont_course “Training Event Registration” Provides information about Specialized Training (Past and Future Needs) This table defines which Volunteers have signed up for which Training Events, which Class Sessions were attended, whether the Course was completed, and whether a Course Certificate was sent. See: also Training Process for description of how this table is used. Uses of Data: qryBasicCERTGrad. qryVolConfEHdr. qryVolCourseEnrolled. Name Type: Size Caption Description cont_id Long Integer:4 Key into Table: contacts to identify the Volunteer that is taking this Training Event. course_id Long Integer: 4 Key into Table: courses to identify the Training Event. course_date Date/Time Date that Course was taken or completed compl_status Text: 20 The contact's completion status for the course course_cert Text: 50 The certification received for this course C01 Yes/No Class 1 115 Name Type: Size Caption Description C02 Yes/No Class 2 C03 Yes/No Class 3 C04 Yes/No Class 4 C05 Yes/No Class 5 C06 Yes/No Class 6 C07 Yes/No Class 6 C08 Yes/No Class 8 C09 Yes/No Class 9 C10 Yes/No Class 10 C11 Yes/No Class 11 C12 Yes/No Class 12 C13 Yes/No Class 13 C14 Yes/No Class 14 C15 Yes/No Class 15 Relationships (26-Oct-06, mapped into data base) Table Field Relationship Table Field Attributes Table: courses. course_id 1 to Many cont_course course_id Enforced, Cascade Updates, Cascade Deletes 1 to Many cont_course cont_id Enforced, Cascade Updates, Cascade Deletes Table: cont_id contacts Table: cont_equip “Volunteer-Offered Equipment” For example, “Steve has offered to let us use his back hoe in an emergency.” Name Type, Size cont_id Long Integer, 4 equipmt_id Long Integer, 4 equipmt_amt Text, 20 Description equipmt_avail_date Date/Time, 8 Relationships (25-Oct-06, relationships mapped into data base) 116 Table Field Relationship Table Field Attributes equipment equipmt_id 1 to Many cont_equip equipmt_id Enforced, Cascade Updates, Cascade Deletes contacts 1 to Many cont_equip cont_id Enforced, Cascade Updates, Cascade Deletes cont_id Table: Table: cont_fac “Volunteer-Offered Facility” Name Type, Size cont_id Long Integer, 4 facility_id Long Integer, 4 fac_capacity Text, 20 Description fac_avail_date Date/Time Relationships (25-Oct-06, mapped into data base) Table Field Relationship Table Contacts cont_id facilities 1 to Many Field Attributes cont_fac Enforced, Cascade Updates, Cascade Deletes facility_id 1 to Many cont_fac facility_id Enforced, Cascade Updates, Cascade Deletes Table: cont_mat “Volunteer-Offered Material” Columns Name Type, Size cont_id Long Integer, 4 material_id Long Integer, 4 mat_amt Text, 20 Description mat_avail_date Date/Time, 8 Relationships Table Field Relationship Table contacts cont_id 1 to Many materials material_id 1 to Many Field cont_mat cont_id Attributes Enforced, Cascade Updates, Cascade Deletes cont_mat material_id Enforced, Cascade Updates, Cascade Deletes Table: 117 Table: cont_skill “Volunteer Skill” Use of Data: qryBasicCERTAvail – identify Basic CERTs who are available for dispatch. qryBasicCERTCompletions. Query: Find Skills V2. qryVolBasicCERT – Make a list of people with Basic CERT. qryVolSkill. For use on Disaster Service Worker Registration form. qryVolSkillCourse. Form: contacts_tab_frm, contacts_frm, “Volunteer Data” o Tab: CERT Skills, Training, and Teams Subform: cont_skill Name Type: Size Description cont_id Long Integer: 4 Contact or Volunteer ID. This is just a sequential number used to refer to Volunteers as they are entered into the data base. skill_id Long Integer: 4 skill_level Text: 20 Skill Level (Expert, Experienced, Beginner, Trainee) skill_val_date Date/Time Date that Skill was Last Acquired or Validated skill_avail_timefrm Text: 50 Availability: Times and Days contact is typically and willingly available to assist. Possible Values: "Not Available";"Any Day - Any Time";"Any Day - Daytime Only";"Any Day - Eves and Night Only";"MTWTF - Any Time";"MTWTF - Daytime Only";"MTWTF - Eve and Night Only";"Weekend - Anytime";"Weekend - Daytime Only";"Weekend - Eve and Night Only" skill_license Text: 50 Licenses or certifications held for this skill skill_offer_stat Text: 2 Y (Yes) or M (Maybe) or F (Future) skil_lic_nj Yes/No Has a NJ License Course_date Date that Course was taken or completed Compl_status The contact's completion status for the course course_cert The certification received for this course logReqdSessCompl Are all the required sessions completed? 118 C01 C02 C03 C04 C05 Relationships (25-Oct-06, mapped into data base) Table Field Relationship Table Field Attributes Table: skills skill_id 1 to Many cont_skill skill_id: Enforced, Cascade Updates, Cascade Deletes Table: cont_id contacts “Volunteer” 1 to Many cont_skill cont_id: Enforced, Cascade Updates, Cascade Deletes Course attendance data is a copy of data in tblTrainingEventSessionAttendance and should be validated. Table: contacts Purpose: …This is the table of Volunteers or Members … Volunteers may be Active or Inactive, see: Handling of Inactive Volunteers. Source of Data Form: contacts_frm (contacts_tab_frm) Use of Data: Query: All CERT Members -- ? Query: All Volunteers by Type -- ? Query: All Volunteers for One Type -- ? qryAttendanceByName. qryBadgesPrintedLast5Days. qryBasicCERTGrad -- List the Volunteers who are Graduates of the Basic CERT Training Event, fulfillment of a Reporting Requirement. Query: Contact Details. Query: Contact Details All -- ? Query: Contact Intown Details -- ? Query: Contacts Courses -- ? qryDRAuthInfo -- ? qryDREMContact -- ? qryDRPhysician -- ? Query: Email All at Home -- ? Query: Email All at Home Class -- ? Query: Email All at Home Team -- ? Query: Email All at Work -- ? Query: Email All at Work Class -- ? 119 Notes: Query: Email All at Work Team -- ? Query: Email All Home or Work. Query: Find Equipment -- ? Query: Find Facilities -- ? Query: Find Materials -- ? Query: Find Skills -- ? Query: Find Skills V2. qryGISExtract -- ? qryInvalidEMailAddress -- ? Query: List by City -- ? Query: Mailing Lables (All Volunteers). Query Mailing Lables (Class Members) -- ? Query: Mailing Lables (Team Members) -- ? Query: MP CERT Members -- ? Delete?? Query: MRC Team List -- ? Query: Paramus Enrollment -- ? qrySpecVolsAndActs. – List a specific Volunteer and what Volunteer Opportunities are available to them. Query: Team Contacts and Courses -- ? Query: Team Contacts and Courses -- ? qryTeamListing -- Prepare rptTeamListing. qryVolByName -- ? Query: Vol Count by City -- ? qryVolCourseSessionNeeds -- ? qryVolDSWStatusList – list DSWs and whether they have enough activity to renew. qryVolOpptySpecVol -- ? qryVolOpptyVoledFor -- ? qryVolOpptyVoledFor. List of Volunteers and What They Volunteered For. qryVolRecentCertificate – List of recent certificates issued. qryVolSvcDate. qryVolSkillCourse. qryVolTrainingEvent -- Prepares a list of one record per Volunteer per Training Event, summarizing which Class Sessions were attended by the Volunteer. Query: Volunteer Incident Tasks -- ? Query: Volunteer Incident Tasks (All) -- ? Query: Volunteer Incident Tasks (One). Query: Volunteers For An Incident -- ? frmInactiveVol. List of Inactive Volunteers. frmVolActivity. Active Volunteers by Activity Score. frmVolTrainingNeededEmail. 1. See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. 120 Name Type: Size Caption Description cont_id Long Integer: 4 Contact ID Contact Unique ID cont_type Text, length 20 Location Zone CERT Location Zone (for use when CERT locations are divided into zones) cont_first Text, length 30 First Name Contact First Name strContNickName Text: length: 30. Nick Name Contact Nick Name. cont_last Text, length 30 Last Name Contact Last Name cont_mi Text, length 1 Middle Initial Contact Middle Initial cont_title Text, length 10 Title Contact Title (e.g. Mr. Mrs. Dr. Chief) cont_day_ph Text, length 50 Daytime Phone Contact Day Phone cont_eve_ph Text, length 50 Evening Phone Contact Evening Phone cont_cell_ph Text, length 50 Cell Phone Contact Cell Phone cont_street Text, length 30 Street Address Contact Street Address cont_apt Text, length 10 Apartment Contact Apartment cont_city Text, length 30 City Contact City cont_state Text, length 2 ST Contact State cont_zip Text, length 10 ZIP Contact ZIP Code cont_email Text, length 50 Email Contact Email cont_fax Text, length 50 FAX Contact Fax Number cont_limits Text, length 100 Major Physical Limitations Contact Major Physical Limitations cont_age_brkt Text, length 20 Age Bracket Contact Age Bracket (Under 18, 18-40, 40-65, Over 65) Used when creating Badges. 121 Name Type: Size Caption Description cont_bus_org Text, length 50 Bus / Org Contacts Business or Organization name if being offered by a Business cont_mrc Text, length 1 MRC (Y/N/P) Indicates whether contact is also an MRC volunteer (Yes/No/Possible) cont_sex Text, length 1 Sex M or F cont_work_email Text, length 50 Work Email Workplace Email address cont_alt_city Text, length 50 Alt Res City Alternate Residence City cont_alt_state Text, length 2 Alt Res ST Alternate Residence State cont_alt_phone Text, length 50 Alt Res Phone Alternate Residence Phone cont_occupation Text, length 50 Occupation Your current or prior occupation cont_employer Text, length 50 Employer Name Name of employer cont_work status Text, length 50 Work Status Full Time, Part Time, Retired, Student, Unemployed cont_employer_city Text, length 50 Emplyer City City where you work for employer cont_work_phone Text, length 50 Work Phone Work Phone number cont_work_ext Text, length 5 Ext Work Phone Ext cont_work_fax Text, length 50 Work Fax Fax number at work cont_emerg_cont Text, length 50 Emerg Contact Name of emergency contact person cont_emerg_phone Text, length 20 Emerg Cont Phone Phone number of emergency contact cont_emerg_ext Text, length 10 Ext Extension of emergency contact cont_emerg_rel Text, length 50 Relationship Emergency contact’s relationship cont_edu_level Text, length 50 Education Hight School, College, Grad School, Other 122 Name Type: Size Caption Description cont_beeper Text, length 20 Beeper Beeper Number cont_comments Memo Comments Misc. comments provided by contact cont_access_day Text, length 50 Access Weekday Indicates contacts weekday, daytime accessibility to central command post cont_access_night Text, length 50 Access Weeknight Indicates contacts weekday, nighttime accessibility to central command post cont_acces_end Text, length 50 Access Weekend Indicates contacts weekend, day/night accessibility to central command post cont_id_number Text, length 50 cont_waver_signed Yes/No Waiver Signed Indicates whether CERT member has signed the training liability waiver form datSvcDate Date/Time Service Date The date that a Volunteer became a CERT member. Typically, this will be the date that the Basic CERT Class was completed and the Volunteer was assigned to a Team. An alphanumeric number assigned by the CERT unit to this individual Added at Version 1.02. datLastUpdate Date/Time Date Last Updated The date that this information about the Volunteer was reviewed and updated, if necessary. olePhoto OLE Photo Photograph of the Volunteer, used when creating Badges. cont_spare1 Text, length 200 cont_spare2 Text, length 200 cont_spare3 Text, length 200 cont_spare4 Memo - Relationships (25-Oct-06, relationships mapped in data base) Table Field Type of Relationship Table Field Attributes contacts cont_id 1 to Many cont_mat cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many incid_equip cont_id Enforced, Cascade Updates, Cascade Deletes 123 Table Field Type of Relationship Table Field Attributes contacts cont_id 1 to Many cont_equip cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many cont_fac cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many cert_type_cont cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many incid_fac cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many team_cont cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many incid_cont cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many cont_course cont_id Enforced, Cascade Updates, Cascade Deletes contacts cont_id 1 to Many incid_material cont_id Enforced, Cascade Updates, Cascade Deletes Table: contacts “Voluntee r” cont_id 1 to Many Table: cont_skill “Volunteer Skill” cont_id Enforced, Cascade Updates, Cascade Deletes Changes: 1) Version 1.02 Table: courses Purpose: Describes a Training Event. This table is really a table of course-instances, i.e., the list of instantiated Courses. When a Course is instantiated it is called a Training Event. There will be an entry in this table for every course taught. A course-instance is also a Training Event. A Training Event has one or more Training Event Sessions, for which data is kept in tblTrainingEventSession. Uses of Data: qryAbsVolAttendTE qryAttendanceByName qryBasicCERTGrad. qryConfLtr. 124 qryVolConfEHdr. qryVolConfEMail. qryVolCourseEnrolled. frmEnroll, “Enroll Volunteer in Training Event.” frmInstantiateCourse, fields can be edited. frmVolTrainingNeededEmail, Name Type: Size Caption Description course_id Long Integer: 4 Training Event ID course_id. course_id. Primary Key. Sequential number assigned to Training Events as they are defined. course_name Text: 50 Name of a training course course_descr Text: 200 The description of a traning course course_hours Long Integer: 4 The total number of hours required to complete this course course_time_pd Text: 50 The season or month/year this course was (will be) offered course_insructors Text: 200 The key instructors for this course course_location Text: 1287 The location where this course was (will be) offered course_spare1 Text: 200 course_spare2 Text: 200 course_spare3 Date/Time course_spare4 Currency Relationships (25-Oct-06, mapped into data base) 7 Table Field Relationship Table Field courses course_id 1 to Many empl_course_map course_id Attributes Enforced, Cascade Updates, Cascade Deletes 15-Mar-07: field length increased to 128 characters to accommodate complete Training Event Location. 125 Table Field Relationship Table Field Attributes courses course_id 1 to Many Table: cont_course course_id Enforced, Cascade Updates, Cascade Deletes courses course_id 1 to Many team_course course_id Enforced, Cascade Updates, Cascade Deletes dis_equip Columns Name Type, Size Description dis_type_id Long Integer, 4 equipmt_id Long Integer, 4 Relationships (25-Oct-06, mapped into data base) Table Field disasters dis_type_id 1 to Many equipment equipmt_id Relationship Table Field Attributes dis_equip dis_type_id Enforced, Cascade Updates, Cascade Deletes 1 to Many dis_equip equipmt_id Enforced, Cascade Updates, Cascade Deletes dis_fac Columns Name Type, Size Description dis_type_id Long Integer, 4 facility_id Long Integer, 4 Relationships Table Field facilities facility_id Relationship Table 1 to Many disasters dis_type_id 1 to Many Field dis_fac facility_id Attributes Enforced, Cascade Updates, Cascade Deletes dis_fac dis_type_id Enforced, Cascade Updates, Cascade Deletes 126 dis_mat Columns Name Type, Size Description dis_type_id Long Integer, 4 material_id Long Integer, 4 Relationships Table Field disasters dis_type_id 1 to Many materials material_id Relationship Table 1 to Many Field Attributes dis_mat dis_type_id Enforced, Cascade Updates, Cascade Deletes dis_mat material_id Enforced, Cascade Updates, Cascade Deletes Table: dis_skill … identifies the Skills, Experience, and Vaccinations that might be needed for a particular type of Disaster … Source of Data: Query: Update Blank Disaster With Skills. Use of Data: Query: Find Skills V2. Name Type, Size Caption dis_type_id Long Integer: 4 skill_id Long Integer: 4 Description Relationships Table Field Relationship Table Field Attributes disasters dis_type_id 1 to Many dis_skill dis_type_id Enforced, Cascade Updates, Cascade Deletes skills dis_skill skill_id skill_id 1 to Many Enforced, Cascade Updates, Cascade Deletes 127 Table: disasters Use of Data: Query: Find Skills V2. Columns Name Type, Size dis_type_id Long Integer, 4 Description dis_type_descr Text, 50 dis_spare1 Text, 200 dis_spare2 Text, 200 Relationships (25-oct-06, mapped into data base) Table Field Relationship Table Field Attributes Enforced, Cascade Updates, Cascade Deletes disasters dis_type_id 1 to Many dis_skill dis_type_id disasters dis_type_id 1 to Many incidents incid_type_id Not Enforced disasters dis_type_id 1 to Many dis_equip dis_type_id Enforced, Cascade Updates, Cascade Deletes disasters dis_type_id 1 to Many dis_mat dis_type_id Enforced, Cascade Updates, Cascade Deletes disasters dis_type_id 1 to Many dis_fac dis_type_id Enforced, Cascade Updates, Cascade Deletes Notes: Disaster Type 1 is a special case for all types of disasters. Provides a list of all Skills, Equipment, Materials, and Facilities that are tracked by the data base. C:\CERTDataBase\AFDCERTBackEnd.mdb Monday, January 11, 2010 Table: tblDRAuthInfo Page: 1 128 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: False Left-to-Right 15 True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer intAICont_ID 4 Long Integer strAIRelationship 50 Text strAIComments 128 Text datUpdated 8 strUpdatedBy 18 C:\CERTDataBase\AFDCERTBackEnd.mdb Date/Time Text Monday, January 11, 2010 Table: tblDRConditions Page: 2 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: RecordCount: False Left-to-Right 40 129 Updatable: True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer intCondition_ID 4 Long Integer strComments 128 datUpdated 8 strUpdatedBy 18 C:\CERTDataBase\AFDCERTBackEnd.mdb Text Date/Time Text Monday, January 11, 2010 Table: tblDRConditionsList Page: 3 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: True Left-to-Right 39 True Columns Name Size ID 4 Type Long Integer strCondCat 64 Text strCondName 64 Text 130 strCondDesc 255 datUpdated 8 strUpdatedBy 24 C:\CERTDataBase\AFDCERTBackEnd.mdb Text Date/Time Text Monday, January 11, 2010 Table: tblDREMContact Page: 4 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: False Left-to-Right 17 True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer intEMCont_ID 4 Long Integer strEMRelationship 50 logEMKey 1 strComments 128 datUpdated 8 strUpdatedBy 50 Text Yes/No Text Date/Time Text 131 C:\CERTDataBase\AFDCERTBackEnd.mdb Monday, January 11, 2010 Table: tblDRMeds Page: 5 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: False Left-to-Right 55 True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer strMedName 50 Text strMedDose 50 Text strMedNbr 50 Text strMedTimes 50 Text strComments 128 Text datUpdated 8 strUpdatedBy 50 C:\CERTDataBase\AFDCERTBackEnd.mdb Date/Time Text Monday, January 11, 2010 Table: 132 tblDRPerson Page: 6 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 1/11/2010 11:33:44 AM Long binary data OrderByOn: Orientation: False Left-to-Right RecordCount: Updatable: 38 True Columns Name Type Size Comments ID Long Integer 4 strPriority Text 8 strLastName Text 50 strFirstName Text 50 strMI Text 4 strStreetAddress Text 50 strApt Text 16 strCity Text 50 strState Text 2 strZip Text 9 strFireDistrict Text 8 strFireStn Text 6 datDOB Date/Time 8 strAgeRange Text 8 strHomePhone Text 50 strCellPhone Text 50 strMedPlan Text 32 strEMRelation Text 32 strEMLastName Text 50 strEMFirstName Text 50 strEMMI Text 4 Added 1/11/10. Added 1/11/10. Added 1/11/10. Validation rule is must be “0-18” or “1964” or “65+” 133 Name Type Size Comments strEMStreetAddress Text 50 strEMApt Text 16 strEMCity Text 50 strEMState Text 2 strEMZip Text 9 strEMHomePhone Text 10 strEMWorkPhone Text 10 strEMCellPhone Text 10 logEMkey Yes/No 1 strEMComments Text 64 logKeyOutside Yes/No 1 strOutsideKeyLocation Text 128 logAuthSigned Yes/No 1 logSvcAnimal Yes/No 1 strSvcAnimalComments Text 128 logInfoAuthSigned Yes/No 1 strDRComments Text 255 datInfoMailed Date/Time 8 datApplRecd Date/Time 8 datUpdated Date/Time 8 strUpdatedBy Text 50 C:\CERTDataBase\AFDCERTBackEnd.mdb Monday, January 11, 2010 Table: tblDRPhysician Page: 7 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:11 PM Long binary data OrderByOn: Orientation: False Left-to-Right 134 RecordCount: Updatable: 19 True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer intPhyCont_ID 4 Long Integer datUpdated 8 strUpdatedBy 24 C:\CERTDataBase\AFDCERTBackEnd.mdb Date/Time Text Monday, January 11, 2010 Table: tblDRServices Page: 8 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:10 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: False Left-to-Right 21 True Columns Name Size Type ID 4 Long Integer intDRPerson_ID 4 Long Integer intService_ID 4 Long Integer strComments Text 135 128 datUpdated 8 strUpdatedBy 24 C:\CERTDataBase\AFDCERTBackEnd.mdb Date/Time Text Monday, January 11, 2010 Table: tblDRServicesList Page: 9 Properties DateCreated: DefaultView: 4/7/2009 3:25:10 PM Datasheet LastUpdated: NameMap: 4/7/2009 3:25:10 PM Long binary data OrderByOn: Orientation: RecordCount: Updatable: False Left-to-Right 3 True Columns Name Size ID 4 Type Long Integer strSvcCat 64 Text strSvcName 64 Text strSvcDesc 64 Text datUpdated 8 Date/Time strUpdatedBy 24 Text 136 empl_course_map Columns Name Type, Size Description course_id Long Integer, 4 empl_id Long Integer, 4 more_about Text, 50 check Yes/No Relationships (25-oct-06, mapped into data base) Table Field courses course_id 1 to Many employees cont_id Relationship Table 1 to Many Field Attributes empl_course_map course_id Enforced, Cascade Updates, Cascade Deletes empl_course_map empl_id Enforced, Cascade Updates, Cascade Deletes empl_exp_map Columns Name Type, Size Description trn_exp_id Long Integer, 4 empl_id Long Integer, 4 last_taught Text, 50 more_about Text, 50 check Yes/No Relationships (25-oct-06, mapped into data base) Table Field train_exp tng_exp_id 1 to Many employees cont_id Relationship Table 1 to Many Field Attributes empl_exp_map trn_exp_id Enforced, Cascade Updates, Cascade Deletes empl_exp_map empl_id Enforced, Cascade Updates, Cascade Deletes empl_inst_goal_map 137 Columns Name Type, Size Description inst_goal_id Long Integer, 4 empl_id Long Integer, 4 more_about Text, 50 check Yes/No Relationships (25-Oct-06, mapped into data base) Table Field Relationship Table Field Attributes instr_goals instr_goal_id 1 to Many empl_inst_goal_map inst_goal_id Enforced, Cascade Updates, Cascade Deletes employees cont_id 1 to Many empl_inst_goal_map empl_id Enforced, Cascade Updates, Cascade Deletes Table: employees Employees are also known as “Trainers & Other OEM Contacts” Name Type Size cont_id Long Integer 4 cont_type Text 20 cont_first Text 30 cont_last Text 30 cont_mi Text 1 cont_day_ph Text 50 cont_eve_ph Text 50 cont_cell_ph Text 50 cont_street Text 30 cont_apt Text 10 cont_city Text 30 cont_state Text 2 cont_zip Text 10 cont_email Text 50 Description 138 Name Type Size Description cont_fax Text 50 cont_limits Text 100 cont_age_brkt Text 20 cont_bus_org Text 50 cont_mrc Text 1 cont_sex Text 1 “M” or “F” cont_eth Text 16 Employee ethnicity (for use on identification card). cont_dob Date/Time cont_hgt Number cont_hgt_txt Text, length: 12. cont_wgt Number Long Employee weight (pounds) Integer cont_hair_color Text 16 Employee hair color cont_eye_color Text 16 Employee eye color cont_comp Text 16 Employee complexion cont_work_email Text 50 cont_alt_city Text 50 cont_alt_state Text 2 cont_alt_phone Text 50 cont_occupation Text 50 Such as “Fire Captain,” goes on ID card. cont_dept Text 50 Department, such as “Fire Department.” Employee date of birth Long Employee height (inches) Integer Employee height, in text, exactly like you want it printed on Employee Badges. For example, Alameda uses “5’8”.” (Added 19-Jun-07.) Cont_sworn Yes/No Is this person a sworn Employee of the employer. cont_dept_emp_nbr Text, Length: 12. Departmental Employee number, if any. For the Alameda Fire Department, this is the “F” number. cont_employer Text cont_emp_nbr Text, length: 12. cont_work status Text 50 Employee number, such as city employee number for Alameda Fire Department employees. 50 139 Name Type Size cont_employer_city Text 50 cont_work_phone Text 50 cont_work_ext Text 5 cont_work_fax Text 50 cont_emerg_cont Text 50 cont_emerg_phone Text 20 cont_emerg_ext Text 10 cont_emerg_rel Text 50 cont_edu_level Text 50 cont_beeper Text 20 cont_comments Memo - cont_access_day Text 50 cont_access_night Text 50 cont_acces_end Text 50 cont_title Text 10 cont_train Text 1 oleEmpSig Ole Object empl_spare1 Text 200 empl_spare2 Text 200 empl_spare3 Text 200 empl_spare4 Text 200 Description Employee Signature Relationships (25-Oct-06, mapped) Table Field Relationship Table Field Attributes employees cont_id 1 to Many empl_exp_map empl_id Enforced, Cascade Updates, Cascade Deletes employees cont_id 1 to Many empl_inst_goal_map empl_id Enforced, Cascade Updates, Cascade Deletes employees cont_id 1 to Many empl_course_map empl_id Enforced, Cascade Updates, Cascade Deletes employees cont_id 1 to Many incid_empl empl_id Enforced, Cascade Updates, Cascade Deletes 140 equipment Columns Name Type, Size equipmt_id Long Integer, 4 Descrption equipmt_descr Text, 30 Relationships (25-Oct-06, mapped) Table Field Relationship Table Field Attributes equipment equipmt_id 1 to Many cont_equip equipmt_id Enforced, Cascade Updates, Cascade Deletes equipment equipmt_id 1 to Many incid_equip equip_id equipment equipmt_id 1 to Many dis_equip Enforced, Cascade Updates, Cascade Deletes equipmt_id Enforced, Cascade Updates, Cascade Deletes facilities Columns Name Type, Size facility_id Long Integer, 4 Description facility_descr Text, 30 Relationships (25-Oct-06, mapped) Table Field Relationship Table Field facilities facility_id 1 to Many cont_fac facilities facility_id 1 to Many incid_fac fac_id facilities facility_id 1 to Many dis_fac Attributes facility_id Enforced, Cascade Updates, Cascade Deletes Enforced, Cascade Updates, Cascade Deletes facility_id Enforced, Cascade Updates, Cascade Deletes incid_casualty Columns Name Type Size inc_casualty_id Long Integer 4 141 incid_id Long Integer 4 casualty_item_name Text 50 casualty_item_descr Text 250 street_address Text 50 casualty_type Text 50 casualty_extent Text 50 casualty_estimate Currency 8 casualty_assess_date Date/Time 8 casualty_assessor Text cont_id Long Integer 4 loc_id Long Integer 4 50 Relationships (25-Oct-06, mapped) incidentsincid_casualty incidents incid_casualty incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: incid_cont Purpose: Use of Data: qryAbsVolAttendIncid Query: Volunteer Incident Tasks (One). Columns Name Type:Size Caption Description incid_id Long Integer:4 cont_id Long Integer cont_task_date Date/Time Task Date This is defined as a key field. cont_task_name Text: 50 Task Name cont_task_descr Text: 250 Task Description cont_task_hours Single Daily Hours 142 cont_task_expense Currency: 8 Daily Exp exp_descr Text: 50 Exp Description cont_task_miles Single POV Mileage miles_descr Text: 50 Mileage Reason cont_task_done Yes/No Done? Relationships (25-Oct-06, mapped) Table Field Relationship Field Table Attributes incidents incid_id 1 to Many incid_cont incid_id Enforced, Cascade Updates, Cascade Deletes contacts 1 to Many incid_cont cont_id Enforced, Cascade Updates, Cascade Deletes cont_id incid_damage Columns Name Type Size inc_damage_id Long Integer 4 incid_id Long Integer 4 damaged_item_name Text 50 damaged_item_descr Text 250 street_address Text 50 damage_type Text 50 damage_extent Text 50 damage_estimate Currency 8 damage_assess_date Date/Time 8 damage_assessor Text cont_id Long Integer 4 loc_id Long Integer 4 50 Relationships (25-Oct-06, mapped) Table Field Field Relationship Description Table incidentsincid_damage incidents incid_damage 143 incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: incid_empl Columns Name Type Size incid_id Long Integer 4 empl_id Long Integer 4 empl_mgmt_resp Text 50 empl_role Text 50 assign_date Date/Time 8 Relationships 25-Oct-06 Table Field Field Relationship Description Table incidentsincid_empl incidents incid_empl incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many employeesincid_empl employees incid_empl cont_id empl_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: incid_equip Columns 144 Name Type Size incid_id Long Integer 4 cont_id Long Integer 4 equip_id Long Integer 4 cont_equip_descr Text cont_equip_date Date/Time 8 cont_equip_qty Long Integer 4 cont_equip_value Currency 8 cont_equip_return Yes/No 1 cont_equip_return_date Date/Time 8 250 Relationships (25-Oct-06) Table Field Field Relationship Description Table equipmentincid_equip equipment incid_equip equipmt_id equip_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many contactsincid_equip contacts incid_equip cont_id cont_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many incidentsincid_equip incidents incid_equip incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: 145 incid_fac Columns Name Type Size incid_id Long Integer 4 cont_id Long Integer 4 fac_id Long Integer 4 cont_fac_descr Text cont_fac_date Date/Time 8 cont_fac_qty Long Integer 4 cont_fac_value Currency 8 cont_fac_return Yes/No 1 cont_fac_return_date Date/Time 8 250 Relationships (25-Oct-06) Table Field Field Relationship Description Table incidentsincid_fac incidents incid_fac incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many contactsincid_fac contacts incid_fac cont_id cont_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many facilitiesincid_fac facilities incid_fac facility_id fac_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many 146 Table: incid_material Columns Name Type Size incid_id Long Integer 4 cont_id Long Integer 4 mat_id Long Integer 4 cont_mat_descr Text cont_mat_date Date/Time 8 cont_mat_qty Long Integer 4 cont_mat_value Currency 8 250 Relationships (25-Oct-06) Table Field Field Relationship Description Table materialsincid_material materials incid_material material_id mat_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many contactsincid_material contacts incid_material cont_id cont_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many incidentsincid_material incidents incid_material incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes 147 RelationshipType: One-To-Many Table: incid_team Page: 65 Columns Name Type Size incid_id Long Integer 4 team_id Long Integer 4 team_status Yes/No 1 team_active_date Date/Time 8 team_deactive_date Date/Time 8 Relationships (25-Oct-06) Table Field Field Relationship Description Table teamsincid_team teams incid_team team_id team_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many incidentsincid_team incidents incid_team incid_id incid_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: Table: incidents Use of Data: 148 qryAbsVolAttendIncid Query: Volunteer Incident Tasks (One). Name Type: Size Caption Description incid_id Long Integer:4 incid_name Text: 50 Incident Name Brief name given to the incident incid_descr Text: 200 Incident Description Narrative description of the incident incid_type_id Long Integer incid_start_date Date/Time Started The official starting date and time for the incident incid_end_date Date/Time Ended The official ending date and time for the incident incid_loc_id Long Integer incid_spare1 Text: 200 incid_spare2 Text: 200 incid_spare3 Text: 200 incid_spare4 Memo The type of incident (foreign key) The id of the location of this incident Relationships (25-Oct-06) Table Field Relationship Table Field Attributes Incidents incid_id 1 to Many incid_casualty incid_id Enforced, Cascade Updates, Cascade Deletes Incidents incid_id 1 to Many incid_fac incid_id Enforced, Cascade Updates, Cascade Deletes Incidents incid_id 1 to Many incid_damage incid_id Enforced, Cascade Updates, Cascade Deletes Incidents incid_id 1 to Many incid_cont incid_id Enforced, Cascade Updates, Cascade Deletes Incidents incid_id 1 to Many incid_equip incid_id Enforced, Cascade Updates, Cascade Deletes Disasters dis_type_id 1 to Many incidents incid_type_id Not Enforced Incidents incid_id 1 to Many incid_empl incid_id Enforced, Cascade Updates, Cascade Deletes Incidents incid_id 1 to Many incid_team incid_id Enforced, Cascade Updates, Cascade Deletes 149 Table Field Relationship Table Field Attributes Incidents incid_id 1 to Many incid_id Enforced, Cascade Updates, Cascade Deletes incid_material instr_goals Page: 71 Columns Name Type Size instr_goal_id Long Integer 4 instr_goa_descr Text 75 order Long Integer 4 Relationships Table Field Field Relationship Description Table instr_goalsempl_inst_goal_map instr_goals empl_inst_goal_map instr_goal_id inst_goal_id 1 Attributes: Enforced, Cascade Updates, Cascade Deletes RelationshipType: One-To-Many Table: Links Columns Name Type Size link_id Long Integer 4 link_name Text link_address Anchor 70 - locations Purpose: 150 Source of Data: Use of Data: 1) Form: locations_frm “Locations” “Volunteer Locations” Name of Field Properties Description loc_id Long Integer, length: 4 loc_name Text, length: 50 loc_geo_code Text, length: 50 loc_post_code Text, length: 50 loc_post_code_2 Text, length: 50 loc_county Text, length: 50 loc_state Text, length: 2 map_link Anchor loc_spare1 Text, length: 200 loc_spare2 Text, length: 200 Relationships ??????? Materials Name Type: Size material_id Long Integer, length: 4 material_descr Text, length: 30 Relationships Table Field Relationship Table Field materials material_id 1 to Many cont_mat materials material_id 1 to Many incid_material mat_id materials material_id 1 to Many dis_mat Description material_id Enforced, Cascade Updates, Cascade Deletes Enforced, Cascade Updates, Cascade Deletes material_id Enforced, Cascade Updates, Cascade Deletes 151 Table: skills Purpose: … defines the entries available for Skills, Experience, and Vaccinations …. Use of Data: qrySkillCourseSession Query: Find Skills V2. qryLocalBasicCERT – Make a list of locally taught Basic CERT skills. qryVolSkill. For use on the Disaster Service Worker Registration form. qryVolSkillCourse. Module Form_cont_skill subform. Some Courses in the Curriculum may teach a specific Skill. See tblCurriculum. Name Type: Size skill_id Long Integer, length: 4 skill_descr Text, length: 30 skill_class Text, length: 20 logLocalCERTSpecificSkill Yes/No Is this a specific skill taught by the local CERT agency? This is important to track training of Alameda CERTSpecific Skills. See section on Check Training. logCertificateIssued Yes/No Does the local CERT agency issue a Certificate for this Skill? logShow Yes/No Indicates whether this Skill should be shown in forms. Allows a Skill to be suppressed without deleting the record. Relationships Table Field Relationship Table Field Attributes skills skill_id 1 to Many dis_skill skill_id Enforced, Cascade Updates, Cascade Deletes skills skill_id 1 to Many Table: skill_id cont_skill Enforced, Cascade Updates, Cascade Deletes 152 Some examples of Skills are: Skill ID 58 129 22 9 110 37 12 111 29 35 24 57 3 124 90 107 108 109 49 Skill Description Accounting / Bookeeping AED Basics Attorney Aviator Blood Born Pathegens Camping Carpenter CERT & Disaster Training Child Care Clothes Cleaning Computer (Data Entry) Computer (PC End User) Computer (Professional) Confined Space Counselor CPR (Adult) CPR (Child) CPR (Infant) Crowd Control Skill Class Office Emergency Law Transportation Med Health Preparedness Construction Emergency Human Service Domestic Office Office Office Emergency Human Service Emergency Emergency Emergency Emergency Notes: 1. Skill ID = 34 is “Ham Radio Operator.” The code to create badges, butrptBadge_Click, uses the literal value of 34, rather than joining cont_skill to skills and searching for “Ham Radio Operator. Changes: 1) Version 1.02 – Add field: logShow so that Skills can be suppressed without deleting the records from Table: skills. tblCourseSession Purpose: Lists the Course-Sessions to be scheduled for Courses in a Curriculum Sources of Data: frmCurriculum, sfrmCourseSession can edit data and add records. Uses of Data qrySkillCourseSession. sfrmCourseSession, data is populated from tblCourseSession. Name Type: Size ID AutoNumber intCourseID Number Caption Description Course to which this CourseSession belongs. 153 Name Type: Size Caption Description intCourseSessionID Integer: Long Course Session A unique ID for each Course Session. Once defined, this number should always be associated with Course Sessions of similar content. This is the key the data base uses to equate Training Event Sessions across multiple Training Events. intSortOrder Integer: Long Preferred Sort Order. The order in which the Course-Sessions should be listed and, presumably, the order in which they are taught. The Sort Order can be changed at will. strName Text: 64 Name of a Course in the Curriculum. strDesc Memo Description. timLength Date/Time Typical length in hours (fractional days) of this Course-Session. datLastUpdated Date/Time Date and time this record was last updated. strUpdatedBy Text: 24 Name or initials of person who last updated this record. Relationships: Table Field Relationship Table Field Attributes 154 tblCurriculum Purpose: Lists the Courses in a Curriculum Uses of Data: frmCurriculum can edit data and add records. qrySkillCourseSession. Private Sub butTrainingNeeds_Click. Module Form_cont_skill subform. Name Type: Size ID AutoNumber intSkillID Integer: Long Caption Description Indicates what Skill is taught by this class. Important for training CERT-specific training for Volunteers. Key into Table: skills. intSortOrder Integer: Long Order Preferred Sort Order strName Text: 64 Course Name Name of a Course in the Curriculum. strTitle Text, length: 96. strDesc Memo logCurrent Yes/No Is this the current description of the course? logCertificateIssued Yes/No Is this a Course that we offer a certificate for? course_hours Integer: Long Number of Hours Required to Complete this Course. Entered on Certificate datLastUpdated Date/Time Name of the Course -to be put on the certificate. Description Date Updated Description. Time and Date this records was last 155 updated. strUpdatedBy Text: 24 Updated By Name or initials opf person who last updated this record. Relationships: Table Field Relationship Table Field Attributes tblGISExtract Purpose: Volunteer data for export to a GIS application. Used to map trained Volunteers and Teams. Source of Data: qryGISExtract. Name cont_id cont_last cont_first Type: Size Long Integer: 4 Text: 30 Description If the cont_id is 4, then the data is excluded. Text: 30 156 Name Type: Size Description strContNickName Text: 30 cont_mi Text: 1 VolunteerName Text: 255 logGrad Integer: 2 strYrGrad Text: 255 cont_title Text: 10 cont_day_ph Text: 50 cont_eve_ph Text: 50 cont_cell_ph Text: 50 VolunteerName: IIf(IsNull([strContNickName]),[cont_first] & " " & IIf(IsNull([cont_mi]),"",[cont_mi] & " ") & [cont_last],[strContNickName] & " " & [cont_last]) strYrGrad: IIf([logGrad],[varYrGrad],"") cont_time_to_call Text: 24 cont_street Text: 30 If null, the record is excluded. cont_apt Text: 10 City Text: 255 City: IIf([cont_city]="Alameda","Alameda",IIf([cont_city]="Alameda Bay Farm","Alameda",[cont_city])) Data with “Alameda” is included, all other data is excluded. cont_city Text: 30 cont_state Text: 2 cont_zip Text: 10 cont_email Text: 50 cont_work_email Text: 50 team_id Long Integer: 4 cont_role Text: 50 team_name Text: 50 team_descr Text: 200 strTeamNbr Text: strTeamNbr: IIf(IsNull([team_fire_district]),"",[team_fire_district] & 157 Name Type: Size 255 team_fire_district Text: 1 team_group Text: 1 team_nbr Text: 1 Description [team_group] & [team_nbr]) tblSysLog Purpose: Provide a System Log file of data base activity. Source of Data: Records are written into this table by WrSyslog. Field Type Caption Description Id datSysLog Date/Time Date and time syslog entry was made. Dependent upon the system clock. intOper Number: Long Integer Initials or name of Operator. strLog Text, length: 255 Freeform text of System Log entry. Changes: 1) Version 1.02 – Table added to data base. 2) Form: start trims tbSyslog so that only 10 days of SysLog are kept. 158 tblTrainingEmailIndex Use of Data: frmVolTrainingNeededEmail, tblTrainingEventSessionAttendance Purpose: Lists scheduled Training Event Sessions. Sources of Data Uses of Data: qryAbsVolAttendTE qryAttendanceByName Private Sub butTrainingNeeds_Click. Name Type: Size Description ID AutoNumber intContactID Number: Long Integer The Volunteer who attended the Training Event Session, key into Table: Contacts. intTrainingEventID Number: Long Integer Identifies the Training Event to which the current session and attendance applies. Field added to denormalize for performance. intCourseID Number: Long Integer Identifies the Course in tblCurriculum that this Training Event Session Attendance Record applies to. Field added to denormalize for performance. intSkillID intCourseSessionID Number: Long Integer Skill being taught by this course. Key into Table:skills. Number: Long Integer Identifies the Session within the Curriculum that this Training Event Session Attendance Record applies to. Field added to denormalize for performance. Field added to denormalize for performance. intTrainingEventSessionID Number: Long Integer logAttend Yes/No Did the Volunteer actually attend? 159 Name Type: Size Description datLastUpdated Date/Time “Date Updated” Time and Date this records was last updated. strUpdatedBy Text: 24 “Updated By” Name or initials of person who last updated this record. logKilled Yes/No Provides a means to indicate that we no longer care that a Volunteer did not attend a particular Training Event Session. For example, Erin registered herself in Basic CERT and attended only one Session. Since she is grandfathered into Basic CERT, there are no attendance records for her previous attendance at all sessions. Therefore, Training Assessment would indicate that she needs to take the un-attended sessions of the recent class she registered for. This field indicates that we don’t need to worry about her nonattendance. Relationships: Table Field Relation- Table ship Field Attributes tblTrainingEventSession Attendance intContactID, intTrainingEventID Many to 1 cont_course cont_id, course_id Enforce Referential Integrity, Cascade Update, Cascade Delete tblTrainingEventSession Attendance intTrainingEventSessionID Many to 1 tblTrainingEventSession ID Enforce Referential Integrity, Cascade Update, Cascade Delete tblTrainingEventSession Purpose: Lists scheduled Training Event Sessions of a Training Event. There may be one or more Training Event Sessions for each Training Event. Data about Training Events is kept in Table: courses. Sources of Data qryAttendanceByName qryConfLtr. frmInstantiateCourse, fields can be edited. Uses of Data: qryAbsVolAttendTE 160 qryVolConfEMail frmVolTrainingNeededEmail, Name Type: Size Description ID AutoNumber Key intTrainingEventID Number: Long Integer “Training Event ID” The Training Event (instantiated Course) to which this Training Event Session applies. Key into Table: courses. intCourseSessionID Number: Long Integer The Course-Session in the Curriculum to which this Training Event Session applies. Key into tblCourseSession. ???? intCourseID Number: Long Integer The Course in the Curriculum to which this Training Event Session applies, key into tblCurriculum. This field is added to tblTrainingEventSession to denormalize for performance. intSortOrder Integer: Long “Order” Preferred Sort Order. The order in which the training event sessions will be presented. This is initially populated from tblCourseSession when the Course is instantiated, but may be changed. datOrigSchedule Date/Time Date and time for which this Training Event Session was originally scheduled. datCurSchedule Date/Time Date and time for which this Training Event Session is currently scheduled. strName Text: 64 “Name” Name of the Training Event Session. strDesc Memo “Description” Description of the Training Event Session. . datLastUpdated Date/Time “Date Updated” Time and Date this records was last updated. strUpdatedBy Text: 24 “Updated By” Name or initials of person who last updated this record. 161 Relationships: Table Field Relationship tblTraining- intTraining- Many to 1 EventEventID Session Table Field Attributes Table: courses course_id Enforce Referential Integrity, Cascade Update, Cascade Delete tblTraining- intCourseEventSessionID Session Indeterminate tblCourseSession intCourseSessionID tblTraining- ID EventSession 1 to Many intTraining- Enforce Referential EventIntegrity, Cascade SessionID Update, Cascade Delete tblTrainingEventSession Attendance tblTrainingNeedsAssessment Source of Data: Created by butTrainingNeeds_Click. Use of Data qryVolCourseSessionNeeds frmVolTrainingNeededEmail, Name Type, Size ID AutoNumber skill_id Number, Long Integer cont_id Number, Long Integer course_id Number, Long Integer Description 162 Name Type, Size Description intCourseSessionID Number, Long Integer datEnrolled Date/Time If the Volunteer is enrolled for a future session of this Training Event Session, then this date will be greater than 1/1/1900. datLastUpdated Date/Time strUpdatedBy Text, length: 24 team_cont Use of Data: qryHiPriorityTeam. qryLeadTeamRole. qryTeamListing qryVolHighestPriority. qryVolTeam. Columns Name Type, Size team_id Long Integer, 4 cont_id Long Integer, 4 cont_role Text, 50 Description cont_priority Long Integer, 4 Relationships Table Field teams team_id 1 to Many contacts cont_id Relationship Table 1 to Many Field Description team_cont team_id Enforced, Cascade Updates, Cascade Deletes team_cont cont_id Enforced, Cascade Updates, Cascade Deletes team_course Columns 163 Name Type, Size team_id Long Integer, 4 course_id Long Integer, 4 Description course_rqd Text, 50 Relationships Table Field Relationship Table teams team_id 1 to Many courses course_id 1 to Many Field team_course team_id Description Enforced, Cascade Updates, Cascade Deletes team_course course_id Enforced, Cascade Updates, Cascade Deletes Table: teams Purpose: Identify the Teams. Source of Data: Use of Data: Query: Email All Home or Work. qryTeamListing qryVolTeam. Columns Name Type: Size Description team_id Long Integer: team_name Text, length: 50 “Name” The name of the Team. team_descr Text, length: 200 A brief description of the purpose of this team. team_fire_district Text: length: 1. A Fire District to which this team belongs. Use zero for islandwide committees. Team_group Text, length: 1. Groups within Fire Districts. team_nbr Text, length: 1. Team number. Altho' it takes district, group, and number to really form a Team Number. team_spare1 Text, length: 200 164 Name Type: Size Description team_spare2 Text, length: 200 team_spare3 Text, length: 200 team_spare4 Date/Time Relationships Table Field Relationship Table Field Description teams team_id 1 to Many team_cont team_id Enforced, Cascade Updates, Cascade Deletes teams team_id 1 to Many team_course team_id Enforced, Cascade Updates, Cascade Deletes teams team_id 1 to Many incid_team team_id Enforced, Cascade Updates, Cascade Deletes Table: train_exp Columns Name Type, Size Description tng_exp_id Long Integer, 4 tng_exp Text, 75 order Long Integer, 4 Relationships Table Field Relationship Table train_exp tng_exp_id 1 to Many Field Description empl_exp_map trn_exp_id Enforced, Cascade Updates, Cascade Deletes tblVolActAssessment Purpose: Determine Volunteer Activity, provide an assessment of how active a Volunteer has been. Used in weeding out Inactive Volunteers. See: Handling of Inactive Volunteers. Source of Data: Private Sub butChkVolAct_Click(). o o o o Contacts cont_skill incid_cont Skills 165 o o o o o o o o tblBadgesIssued tblDRAuthInfo tblDREMContact tblDRPhysician tblTrainingEventSession tblTrainingEventSessionAttendance teams team_cont Use of Data: qryVolAllListing frmVolActivity. Name Type, Size Description ID AutoNumber Cont_id Long integer Contact ID sngActScore Number, Single Composite Activity Score. sngBasicCERTCourse Number, Single Zero or one, not discounted. sngBasicCERTCourseHrs Number, Single Total hours of Basic CERT training, discounted. sngOtherCourseHrs Number, Single Total hours of other training, discounted. sngVolunteerHrs Number, Single Total volunteer hours, discounted. sngNbrTeams Number, Single Total number of Teams. sngNbrDRCnt Number,Single Number of Disaster Registry relationships. sngNbrEmailAddrs Number, Single Number of e-mail addresses we have for this person. sngValidCPR Number, Single Valid CPR, zero or one. sngValidBadge Number, Single Valid CERT badge, zero or one. sngValidDSW Number, Single Valid DSW, zero or one. sngRecentUpdate Number, Single Recent update, discounted. strComments Text, length: 255 Hopefully, something helpful. 166 tblVolOppty Purpose: List of Volunteer Opportunities that Volunteers might volunteer to perform. Source of Data: Form: contacts_frm (contacts_tab_frm) Use of Data: qryVolOpptyVoledFor. List of all Volunteers and all possible Volunteer Opportunities. qryVolOpptySpec. All of the possible Volunteer Opportunities for a Specific Volunteer. Notes: 1) See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. Name Type, Size ID AutoNumber intSortOrder Number,Single Description Order to present these activities on the Volunteer Activity form (frmVolActivity). strVolAgency Text, length 50. Agency that needs the Volunteer service. Could be ARCA, CERT, Disaster Prep Office, etc. strActivity1 Text, length: 96. Activity Description. strActivity2 Text, length: 96. (optional) header for the Activity Description. strComments Text, length: 50 Anything else you would like to say. tblVolOpptySelected Purpose: Intersection table in many-to-many relationship between Volunteers and Volunteer Opportunities. Source of Data: This table is updated by the Volunteer Data form (contacts_tab_frm), on the Volunteer Tasks page, subform: sfrmActsVoledFor. Use of Data: qryAllVolsWhoVolToAct. List of all Volunteers who have volunteered for a Volunteer Opportunity, and which opportunity they volunteered for. qrySpecVolActStat. The possible Volunteer Opportunities for a specific Volunteer and which of those the Volunteer has volunteered for. 167 Notes: 1) See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. Name Type, Size Description ID AutoNumber cont_id Number, Long Integer Volunteer who will perform this Volunteer Activity. volact_id Number, Long Integer Activity that the Volunteer is willing to perform. datLastUpdated Date/Time Date that this record was last updated. strComments Comments that the Volunteer made about performing this Volunteer Activity. Text, length: 96. Queries qryAbsVolAttend – Abstract of DSW Volunteer-attended Training and Community Events Purpose: Union of qryAbsVolAttendTE and qryAbsVolAttendIncid. Source of Data: qryAbsVolAttendIncid qryAbsVolAttendTE Use of Data: qryVolDSWStatus 168 qryAbsVolAttendIncid Purpose: Build a list of Incidents attended by a Volunteer. Source of Data: Incidents Incid-cont Use of Data qryAbsVolAttend – Abstract of Volunteer-attended training and community events. 169 qryAbsVolAttendTE Creates an abstract of Volunteer attendance at Training Events, similar to qryAttendanceByName. Source of Data Courses tblTrainingEventSession tblTrainingEventSessionAttendance Use of Data: qryAbsVolAttend Notes: “Basic CERT” courses are excluded. qryActsVoledFor 170 Query: All CERT Members Purpose: Provides a list of all CERT Members in spreadsheet form. Source of Data: Table: contacts. Use of Data: Invoked by: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Notes: 1) This is an query from the original data base. I’m not sure we are using it. 2) For Handling of Inactive Volunteers, this query shows current data, should select only Active Volunteers. Query: All Volunteers by Type Purpose: Invoked by: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Source of Data: Table: Cert_type Table: Cert_type_cont Table: Contacts Use of Data: not used by any queries, forms, or reports. Notes: 1) See entity definition for Volunteer_Type (CERT_Type). 2) Alameda CERT is not using CERT type. 3) For Handling of Inactive Volunteers, this query shows current data, should select only Active Volunteers. Query: All Volunteers for One Type Purpose: This query is intended as a report showing all the Volunteers for a specified Volunteer Type. Invoked by: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” 171 Notes: 1. See entity definition for Volunteer_Type (CERT_Type). 2. Alameda CERT is not using CERT type. 3. For Handling of Inactive Volunteers, this query shows current data, should select only Active Volunteers. qryAttendanceByName Purpose: Provides a complete list of every Volunteer who has attended any Class Session. Source of Data Table: contacts Table: courses tblTrainingEventSession tblTrainingEventSessionAttendance Use of Data: qryAttendees – candidate for deletion? rptTrainingEventRoster rptTrainingOverview Notes: 1) For Handling of Inactive Volunteers, this query selects all Volunteers regardless of Active/Inactive status. Query results also include a field containing the string “Active” or “Not Active.” qryAttendees Source of Data: qryAttendanceByName Use of Data: qryAttendees_Crosstab Notes: 1) Candidate for Deletion? qryAttendees_Crosstab Source of Data: qryAttendees Use of Data: None Notes: 1) Candidate for Deletion? 172 qryBadgesPrintedLast5Days Purpose: Prepare a list of recently printed badges so that mailing labels can be prepared. Source of Data: Table: contacts. tblBadgesIssued. Use of Data: rptBadgesPrintedLast5Days. qryBasicCERTAvail Purpose: Identify those Volunteers who have completed Basic CERT and have indicated they are available for dispatch in some way. Source of Data: cont_skill Use of Data: Query: Find Skills V2. Criteria: The Volunteer record is not the empty record (cont_id <> 4). The Skill is Basic CERT (skill_id = 131). The Availability is specified and is not “Not Available.” The Basic CERT class has been completed. Notes: This query does not check for DSW Status. qryBasicCERTCompletions Purpose: Source of Data: cont_skill Use of Data: qryBasicCERTGradCount. qryBasicCERTGrad Purpose: List the Volunteers who are Graduates of the Basic CERT Training Event, fulfillment of a Reporting Requirement. Source of Data: Table: contacts. Table: cont_course. Table: courses. 173 Use of Data: rptBasicCERTGrad. Added to data base in Version 1.02. qryBasicCERTGradCount Purpose: Count the number of Basic CERT graduates by year. Screen Shot: Source of Data: qryBasicCERTCompletions. Use of Data: srptBasicCERTGradCount. Query: Blank Disaster All Skills Purpose: Prepares a list of Skills (by skill_id) with the Disaster Identification (dis_type_id) equal to 1. Source of Data: Table: skills, Use of Data: Query: Update Blank Disaster With Skills, qryConfLtr Purpose: Prepare a listing of Training Events and their Training Event Sessions. This list can be filtered to prepare Training Event Confirmation Letters. Source of Data: Courses. tblTrainingEventSession. 174 Use of Data rptTrainingEventConfirmationLtr… Query: Contact Details Purpose: Provides all fields for a single Volunteer as listed in Table:contacts. Source of Data: Table: contacts. Use of Data: rptBadge, prepare a Badge for a Volunteer. Report: CERT Member Personal Information. rptDSWForm, Disaster Service Worker form. Report : Resources “Volunteer Training & Resources Offered.” Notes: 1) For Handling of Inactive Volunteers, this query shows data for a single Volunteer as requested, should select all Volunteers. Query: Contacts Courses Purpose: Provides a list of Training Event enrollments along with the Volunteer’s name. Source of Data: Use of Data: frmEnrollContacts Courses. Notes: 1. For Handling of Inactive Volunteers, this query selects all Volunteers, Active and not Active. 2. Queries, forms and reports that use this query should filter for Active Volunteers or not as appropriate. Query: Email All At Work Deleted. Query: Email All Home or Work Purpose: Prepare a list of Volunteer E-Mail addresses, preferring Home E-Mail Addresses, but using Work E-Mail Addresses if that is all that is available. Over time this query has morphed to become the input table into iContact. Source of Data: 175 Contacts. qryHiPriorityTeam, to list the primary team of a Volunteer. qryLeadTeamRole, to identify those Volunteers who are Team Leaders. Teams, to give the name of the primary Team for a Volunteer. qryVolBadgeExpire. Use of Data: Displayed for end user choice of action. Query: Find Skills V2 Purpose: Provide data for Report: Find People with Skills V2 to pepare a list of people who are available for dispatch in a local emergency. Source of Data: Table: Contacts. Table: Cont_skill. Table: Dis_skill. Table: Disasters. Table: Skills. qryBasicCERTAvail. Use of Data: Report: Find People with Skills V2. Notes: qryGISExtract Definition of Volunteer Class for Mapping Purposes Purpose: Create an extract of the Volunteer data for use in a GIS system. This is a Make-Table query. Start Source of Data: contacts. qryHiPriorityTeam. teams. Use of Data: tblGISExtract. On team? Basic CERT Graduate ? No No Yes Role: 1, 2, 3, 4, or 5 ? No Yes Yes Basic CERT Graduate ? No Yes qryHiPriorityTeam Class 1 Use a team symbol with a bold border. Class 2 Use a team symbol with a light border. Start Drawn by Tom Schweich C:\CERT\Training 2008 08 30.vsd, Page-1 Date Last Revised: 13:58, 9/1/2008 Class 3 Use a “Star” symbol. Class 4 Use a little man symbol. 176 Purpose: Prepare a list of the highest priority Team for each Volunteer who is on a Team. Source of Data: qryVolHighestPriority team_cont. teams Use of Data: Query: Email All Home or Work qryGISExtract. qryVolAllListing Notes: 1) Uses the DMIN domain aggregate function to find the highest priority Team. 2) Priority of zero is excluded. Priority of one is highest priority, greater than one is lesser priority. qryiContactList Purpose: Transfer the CERT distribution list to iContact from Microsoft Access. Source of Data: 1. Query: Email All Home or Work. Notes: 1. Standard fields and merge values Thu, 09/17/2009 - 10:20 — dokeefe The standard fields are database fields available in every iContact account for storing a contact's information. These fields can be merged by typing the merge code into the body of your email. These allow you to personalize your emails for individual customers. The standard fields are: Field name Merge value prefix [prefix] First name [fname] Last name [lname] suffix [suffix] Business name [business] Email [email] Phone [phone] 177 Field name Merge value Fax [fax] Address1 [address1] Address2 [address2] City [city] State [state] Zip [zip] Note: The only required field for a contact is the email address field. 2. Custom fields are Field Name Public Name Public Type Comments badgestatus Badge Status Yes Text Values are: Current – the volunteer has a badge which is current, i.e., not expired. Expired – the Volunteer had a badge but it has now expired. No – the Volunteer has never had a badge. callsign Call Sign Yes Text exerassist Exercise Assistant Yes Text leadership Leadership Position Yes Text representcert Represent CERT Yes Text teamname Team Name Yes Text qryLeadTeamRole Purpose: Identify those Volunteers who have a leadership role in any Team. It is then used to create a mailing list of Team Leaders. Source of Data: team_cont. Use of Data: Query: Email All Home or Work 178 qryLocalBasicCERT Purpose: Get a list of skill_ids for locally taught Basic CERT skills. Source of Data: Table: skills Use of Data: qryVolBasicCERT Notes: 1. Criteria: Skill_descr = “Basic CERT” and logLocalCERTSpecificSkill is True. Query: Mailing Lables (All Volunteers) Purpose: Source of Data: Table: contacts. Use of Data: Report "Labels Mailing Lables (All Volunteers)" Notes: 1. Selects only Active Volunteers as described in Handling of Inactive Volunteers. Query: List by City Purpose: Source of Data: Table: contacts Table: cert_type_cont Table: cert_type Use of Data: Report: CERT Volunteers by City Notes: 1. Selects only Active Volunteers as described by Handling of Inactive Volunteers. 179 qryNbrhdTeams Purpose: qrySkillCourseSession Purpose: Provides a cross-reference between the Skills, and the Courses and Course-Sessions that teach those Skills. Source of Data skills tblCurriculum. tblCourseSession. Use of Data: qryVolCourseSessionNeeds. Joins on skill_id and intCourseSessionID qryTeamListing Purpose: Provide a list of Active Volunteers who are on Teams for a report. Source of Data: Table: contacts Table: team_cont Table: teams qryVolAlamedaARES – Identifies CERT Volunteers who are in Alameda ARES by looking at the CERT Type. 180 qryVolBasicCERT – Get a list of Volunteers who have the locally taught Basic CERT skill. qryVolDSWStatus – Check the Volunteer’s DSW status. qryVolHamOperator – Get a list of Volunteers who are licensed Amateur Radio Operators. Use of Data: rptTeamListing. Notes: 1. This query shows only Volunteers who are on Teams. Table: team_cont is the controlling table; if a Volunteer, then they won’t be selected by the query. 2. Volunteer cont_id = 4 is excluded. 3. For Handling of Inactive Volunteers, this query reports only Active Volunteers. 4. Prospects, i.e., Volunteers with team_cont: cont_role = “6 Prospect” are not selected. Query: Update Blank Disaster With Skills Purpose: Executed by clicking button Command7 on Form:skills_frm. Source of Data: 1. Query: Blank Disaster All Skills, Use of Data: 2. Table: dis_skill, records are inserted by this query. qryVolAlamedaARES Purpose: Prepare a list of CERT Volunteers who are also members of Alameda ARES. Source of Data: cert_type_cont Use of Data: qryTeamListing Notes: 1. The data comes from the Volunteer Type subform on the CERT Skills Training and Teams tab of the Volunteer Data form. 2. Selects for type_id = 21, which is defined in Table: cert_type as “Alameda Amateur Radio Emergency Services (ARES).” That field is then renamed strAlamedaARES. 3. The Other field is renamed strARESLevel. qryVolAllListing Purpose: Create a spreadsheet of all Volunteers that can be used as a dispatch list. This query sorts data by: 1. Availability, both day and night first, then day availability only, then night availability only. 181 2. DSW Status. Current status first, then expired, then none. 3. ARES Status. In descending order of ARES training level, i.e., the highest ARES training level appears at the top 4. Call Sign. This will cause Amateur Radio Licensees who are not ARES registered to appear before non-licensees. 5. Last Name. Source of Data: Table: contacts qryHiPriorityTeam tblVolActAssessment qryVolAlamedaARES – Identifies CERT Volunteers who are in Alameda ARES by looking at the CERT Type. qryVolBasicCERT – Get a list of Volunteers who have the locally taught Basic CERT skill. qryVolDSWStatus – Check the Volunteer’s DSW status. qryVolHamOperator – Get a list of Volunteers who are licensed Amateur Radio Operators. Use of Data: qryVolBadgeExpire Purpose: Determine when the Volunteers last Badge expired. Source of Data: tblBadgesIssued. Use of Data: Email All Home or Work. Notes: 1. To date, 6 Feb 2011, the primary use of this query is to build a segment of people with expired badges in iContact. qryVolBasicCERT Purpose: 182 Source of Data: Table: cont_skill qryLocalBasicCERT Use of Data: qryTeamListing. Notes: 1. Checks the skill_val_date for not Null. qryVolConfEHdr Purpose: Provides a list of Volunteers and the Courses they have signed up for, intended to supply data when confirming a course enrollment via electronic mail and for sending Training Event confirmation emails and letters to all the students. Source of Data: cont_course – defines which Volunteers have signed up for which Training Events, which Class Sessions were attended, whether the Course was completed, and whether a Course Certificate was sent. contacts – the Volunteer table courses -- table of course-instances, i.e., the list of instantiated Courses. When a Course is instantiated it is called a Training Event. There will be an entry in this table for every course taught. A courseinstance is also a Training Event. Use of Data: frmConfLtr (filtered by Course ID) frmVolConfEMail (filtered by Volunteer ID and by Course ID). qryVolConfEMail Purpose: Provides a list of Training Event Sessions for all Volunteers and Training Events for which they are enrolled. Intended to be filtered for a specific Volunteer and Training Event. Source of Data cont_course – defines which Volunteers have signed up for which Training Events, which Class Sessions were attended, whether the Course was completed, and whether a Course Certificate was sent. contacts – the Volunteer table Courses – table of course-instances, i.e., the list of instantiated Courses. When a Course is instantiated it is called a Training Event. There will be an entry in this table for every course taught. A courseinstance is also a Training Event. tblTrainingEventSession – attendance records for each Class Session. Use of Data 1. frmVolConfEMail, used in two instances: 183 1. Find the first date of the Training Event Sessions in a Training Event, by: DMin("[datTESSch]", "[qryVolConfEMail]", "[course_id]=" & [course_id]) 2. List the dates and times of all the Training Event Sessions in a Training Event. qryVolCourseEnrolled Purpose: Source of Data: Table: cont_course. Table: courses. Use of Data: srptVolCourseEnrolled. qryVolDSWStatus Purpose: For each Volunteer who is a sworn DSW, figure out when their most recent badge expires, which their most recent badge was issued, and how many activities have been attended since the last badge was issued. Source of Data: Contacts tblBadgesIssued qryAbsVolAttend Use of Data: qryVolDSWStatusList Notes: 1. The SQL statements include a Select DISTINCT: SELECT DISTINCT contacts.cont_id AS cont_id, Date(DMax("[datBadgeExpire]", "tblBadgesIssued","[cont_id]=" & contacts.cont_id)) AS datLastBadgeExpires, CDate(DMax("[datBadgeValid]","tblBadgesIssued","[cont_id]=" & contacts.cont_id)) AS datLastBadgeValid, CInt(DCount("[cont_id]","qryAbsVolAttend","[cont_id]=" & [cont_id] & " AND [datOccur] > #" & [datLastBadgeValid] & "#")) AS intCount FROM contacts INNER JOIN tblBadgesIssued ON contacts.cont_id = tblBadgesIssued.cont_id ORDER BY contacts.cont_id; 184 2. Only Active Volunteers are selected. Inactive Volunteers are excluded. 3. Three Domain Aggregates are employed: a. Calculate the date that the most recent badge will expire. b. Calculate the date that the most recent badge was issued. c. Calculate the count of activities participated in since the most recent badge was issued. 4. A text field with values of “Valid” or “Expired” indicates status of the Volunteer’s badge. qryVolDSWStatusList Purpose: Prepares a list of each Volunteer with a DSW badge, showing when the badge expires, and how many activities are recorded for the Volunteer. Also included is a list of each activity, and whether it is still valid for badge renewal purposes, or whether the activity is too old. Source of Data: 1. Contacts 2. qryVolDSWStatus 3. qryAbsVolAttend Uses of Data: rptDSWVolStatusList. qryVolHamOperator Purpose: Source of Data Use of Data: Notes: qryVolHighestPriority Purpose: Prepares a list of the highest priority Team for each Volunteer. Source of Data: Team_cont. Use of Data: qryHiPriorityTeam. Notes: 1. The smallest non-zero value is the highest priority. 2. Priority One is the highest priority Team. 185 3. Priority Zero is ignored. qryVolOpptySpec Purpose: For a specific single Volunteer lists all the Volunteer Opportunities. Source of Data: Table: contacts. List of Volunteers. tblVolOppty. List of Volunteer Opportunities. Use of Data: 1. qryVolOpptySpecSel. Notes: 1. Field cont_id has a criteria of [Forms]![contacts_tab_frm]![cont_id]. Therefore, it will only work from within Form: contacts_tab_frm. 2. See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. qryVolOpptySpecSel Purpose: List all the Volunteer Opportunities available to a specific Volunteer and which of them, if any, that the Volunteer has signed up for. Source of Data: tblVolOpptySelected. – Intersection Table in a many-to-many relationship between Volunteers and Volunteer Opportunities. qryVolOpptySpec. – All of the possible Volunteer Opportunities for a Specific Volunteer. Use of Data: rptVolUpdateForm. – Alameda CERT Volunteers Request Form. Notes: 1) See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. qryVolOpptyVoledFor Purpose Source of Data Table: contacts. Table of Volunteers. tblVolOppty. List of Volunteer Opportunities. tblVolOpptySelected. Intersection table in many-to-many relationship between Volunteers and Volunteer Opportunities. 186 Use of Data: rptAllVolsWhoVolToAct. Notes: 2) See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. 3) For Handling of Inactive Volunteers, this query selects only Active Volunteers. qryVolRecentCertificate Purpose: Prepare a list of recent Certificates so that Mailing Labels can be printed. Source of Data: Contacts. tblCertificatesIssued. Use of Data: qryVolSkill Purpose: Simple join of cont_skill and skills, provides the skill description for skills that Volunteers have. Source of Data: Table: cont_skill. Table: skills. Use of Data: srptqryVolSkill. ? qryVolSkillCourse Source of Data: contacts “Volunteer.” cont_skill “Volunteer Skill” skills. tblCurriculum. Use of Data: rptVolSkillTraining: “Trained Volunteers Across The Curriculum” Module Form_cont_skill subform. 187 Notes: 1) strQualStatus, were all the course-sessions completed: IIf([logReqdSessCompl],"Qualified","In Training") 2) strVolNameCity, name of volunteer qualified by city: IIf(IsNull([cont_title]),"",[cont_title] & " ") & IIf(IsNull([strContNickName]),[cont_first] & " " & [cont_mi],[strContNickName]) & " " & [cont_last] & " -- " & [cont_city] 3) Volunteer Name optionally includes: (1) Title, and (2) Nick Name or First Name with Middle Initial, using the following code: strVolName: IIf(IsNull([cont_title]),"",[cont_title] & " ") & IIf(IsNull([strContNickName]),[cont_first] & " " & [cont_mi],[strContNickName]) & " " & [cont_last] 4) tblCurriculum.logCurrent = True -- protects against multiple records in the curriculum when the skill has been taught by multiple versions of the same Course. 5) For Handling of Inactive Volunteers, this query selects only Active Volunteers. Inactive Volunteers are excluded. qryVolSkillCourseCertPend Purpose: prepare a list of Volunteers who should be issued a Certificate for completion of a Course. Source of Data: qryVolSkillCourse. o Table: cont_skill “Volunteer Skill” o … Use of Data: rptVolSkillCourseCertPend “Volunteers with Training Certificates Pending” Notes: 1. Completed a Course (logReqdSessCompl = True) and there is no indication that a certificate was sent (skill_val_date = null). 2. For Handling of Inactive Volunteers, … qryVolCourseSessionNeeds Purpose: Provide Volunteer information such as name, and Course-Session name information to the Training Needs Assessment in tblTrainingNeedsAssessment. Sources of Data: Table: contacts. qrySkillCourseSession. tblTrainingNeedsAssessment. Use of Data: rptVolCourseSessionNeeds. 188 Notes: 1. For Handling of Inactive Volunteers, this report shows only Active Volunteers. Inactive Volunteers are excluded. qryVolSvcDate Purpose: Source of Data: Table: Contacts. Use of Data: srptVolSvcDate. qryVolTeam Purpose: Source of Data: Table: team_cont. Table: teams. Use of Data: srptVolTeam. qryVolTrainingEvent Purpose: Prepares a list of one record per Volunteer per Training Event, summarizing which Class Sessions were attended by the Volunteer. Sources of Data: Cont_course Table: Contacts. Courses Skills tblCurriculum Uses of Data: 189 rptVolTrainingEvent, “Training Event Attendance by Training Event” Notes: 1. For Handling of Inactive Volunteers, this query selects all Volunteers whether Active or Not Active. Active or not Active status is included in the results of the query. qryVolType Purpose: provides a listing of Table: cert_type in ascending Display Order. Provides a means to edit the table of Volunteer Types. qryVolVolType Purpose: provides a listing of Volunteer Types for all Volunteers for use in a report. Source of Data: Table: cert_type. Table: cert_type_cont. Use of Data: srptVolVolType. Query: Volunteer Incident Tasks Invoked from: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Example: Na me incid _nam e in ci d_ id co nt _i d con t_ta sk_ date cont_tas k_name cont_ta sk_des cr cont_task_h ours cont_tas k_expen se exp_ desc r cont_ta sk_mile s miles _desc r cont_t ask_do ne 190 Na me incid _nam e Mo ney , Ge ral d Train Crash near Mill Gard ens Mo ney , Ge ral d Train Crash near Mill Gard ens in ci d_ id 4 co nt _i d 11 con t_ta sk_ date 2/2/ 200 3 cont_tas k_name cont_ta sk_des cr cont_task_h ours Evacuati on of Mill Gardens Evacuat ion of resident s at Mill Garden s Nursing Home 6 4 11 2/3/ 200 3 Revacua tion of Mill Gardens Return individu als to their rooms in Mill Garden s 6 cont_tas k_expen se exp_ desc r cont_ta sk_mile s miles _desc r cont_t ask_do ne $0.00 30 Trans port peopl e to altern ate sites TRUE $0.00 20 Trans port peopl e back to Mill Garde ns TRUE Query: Volunteer Incident Tasks (One) Source of Data: Table: contacts. Table: incid_cont. Table: incidents. Use of Data: Report: Volunteer Resources for Incidents. Query: Volunteers for an incident. 191 Source of Data: Table: contacts Table: incid_team Table: incidents Table: teams Table: team_cont Forms Style Elements for Forms 192 Form Title: Times Roman, 20 pt., Black Back button: Width=0.4271" Height=0.2813" Fore Color=255 (Red) Font Name=”Arial” Font Size=8 Font Weight=Bold Drawn by Tom Schweich C:\CERT\Training 2007 05 15.vsd, Page-1 Date Last Revised: 09:39, 5/21/2007 193 frmCheckSkills Purpose: Subform: sfrmqryVolSkillCourse2. Source of Data: Skills. Use of Data: 194 frmClassRoster frmConfLtr Purpose: Permit selection of a Training Event for which confirmation letters are desired. Screenshot: at right. Source of Data: qryVolConfEHdr – filtered by course_id Use of Data: After Update Private Sub Combo0_AfterUpdate() is run. This code opens a form and one of two reports. Notes: 1. For all Volunteers who have an e-mail address, frmTrainingEventConfirmationEmail is opened. 2. At the same time, for Volunteers who don’t have an e-mail address, one of the following reports is opened: a. rptTrainingEventConfirmation LtrBasicCERT, for Basic CERT classes. b. rptTrainingEventConfirmationLtrCPR, for CPR classes. It is possible that all students will have an e-mail address, rendering the need for a hard-copy confirmation unnecessary. In that case, there will be a message box stating “All students have email addresses. No printed letters required.” Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Caption : contacts_frm Source of Data : 195 « SELECT contacts.* FROM contacts ORDER BY contacts.cont_last, contacts.cont_first; » Button: Vol Profile, launches Report : Resources “Volunteer Training & Resources Offered” Button: Vol Tasks Done, opens Query: Volunteer Incident Tasks. Button: FEMA Form, launches: Report: CERT Member Personal Information. Button: Create Badge, launches report rptBadge. Button added with Version 1.02. Tabs Basic Contact Information Button: Inactivate, executes the Private Subroutine butInactivate_Click() ???? Button: Email Home, launches the query: Email All Home or Work. Button: Email Work, has been deleted. Button: Print Mailing Labels, opens a Report called “"Labels Mailing Lables (All Volunteers)." Button: List All Volunteers, opens Query: All CERT Members. Button: List by Type & Town, launches Report: CERT Volunteers by City. 196 CERT Skills, Training, and Teams Button: All Volunteers by Type, opens Query: All Volunteers by Type. Button: Volunteers for Selected Type, opens Query: All Volunteers for One Type. Subform: Subform: cont_skill, taken directly from Table: cont_skill “Volunteer Skills.” Equipment, Materials and Facilities Offered Volunteer Tasks This page of the Volunteer Data form will update: Table: contacts – primary table of Volunteers. 197 tblVolActivity – listing of which tasks a Volunteer is willing to do. Alameda CERT Volunteers Request Form Alameda CERT Volunteers Request Form The flow chart at right shows some of the data flows, and relationships between tables, queries, and reports related to the Alameda CERT Volunteers Request Form. Contacts_tab_form Volunteer Data Form Volunteer Opportunities Page Tables involved in this little process: qryVolOppty sfrmVolOpptySelected Tables: contacts. tblVolOppty. List of possible Volunteer Opportunities. tblVolOpptySelected. Intersection table between Volunteers and Volunteer Opportunities. Edit the list of Volunteer Opportunities tblVolOppty List of Volunteer Opportunities Contacts Table of Volunteers Queries: qryVolOpptyVoledFor. qryVolOpptySpec. qryVolOpptySpecSel. tblVolOpptySelected – Volunteers and Opportunities qryVolOpptySpec All of the possible Volunteer Opportinities for a Specific Volunteer Reports: qryVolOpptySpecSel rptVolOpptyVoledFor. List of Volunteers and What They Volunteered For. rptVolUpdateForm. Alameda CERT Volunteers Request Form. Changes: List of Volunteers and What They Volunteered For The possible Volunteer Opportunities for a Specific Volunteer and which have been volunteered for. rptVolOpptyVoledFor rptVolUpdateForm qryVolOpptyVoledFor List of Volunteers and What They Volunteered For. – “Alameda CERT Volunteers Request Form October 31, 2006 – Version 1.02 Drawn by Tom Schweich C:\CERT\Training 2007 10 19.vsd, Vol Request Form Date Last Revised: 09:14, 10/23/2007 frmCurriculum Purpose: the purposes of frmCurriculum are to define the Courses in the Curriculum, and to create an instance of a Course called a Training Event. Tasks That Use This Form: Define a Course in the Curriculum. Schedule a Training Event. Source of Data: tblCurriculum. tblCourseSession. Use of Data tblCurriculum. Fields can be edited and records added through frmCurriculum. tblCourseSession. Fields can be edited and records added through frmCurriculum. 198 If button Schedule A Training Event is Clicked, records are added to Table: courses and tblTrainingEventSession, and then frmInstantiateCourse is opened. frmDRPerson Text75 is the message that appears on the first page. Form: employees_tab_form “employee_frm” “Trainers & OEM” Purpose: Enter Employee data, see: Fire Fighter Badge Tasks. 199 Screen Shot: Source of Data : SELECT employees.* FROM employees ORDER BY employees.cont_last, employees.cont_first; Tab “Basic Contact Information” o Button Create Badge, executes Private Sub butEmpCreateBadge_Click(). Tab “Training Experience and Classes” frmEnroll “Enroll Volunteers in Training Event” Purpose: 200 Subform: frmEnrollContacts Courses. Source of Data: Table: courses. Use of Data: Notes: frmEnrollContacts Courses Purpose: Used to enroll Volunteers in Courses, a subform to frmEnroll :Enroll Volunteers in Training Event. Source of Data: Query: Contacts Courses. Notes: 1. For Handling of Inactive Volunteers, the subform filters for Active Volunteers only. frmEnterAttendance Purpose: Enter data about who attended a class. sfrmEnterAttendanceSession Allow Additions = No ssfrmEnterAttendanceSessionVolunteer Allow Additions = No frmInactiveVol Purpose: Show the Inactive Volunteers and provide an opportunity to Re-Activate them. Used in Handling of Inactive Volunteers. 201 Source of Data: Table: contacts. Form: incid_team_subfrm Purpose: Provide a means to assign Teams to Incidents. This is a sub form on Form: incident_frm “Incident Management.” Source of Data: Incid_team teams Use of Data: Updates a row in incid_team. 202 Form: incident_cont_datasheet Subform in Form: incident_contacts_frm. Source of Data: Volunteers For An Incident Form: incident_contacts_frm Caption: incident_frm Title: “Team Member Task Assignments for This Incident: Subform: incident_cont_datasheet. Source of data: Table: incidents Form: incident_frm Caption: incident_form Title: “Incident Management” 203 Subform: Incident Command Syste, (Management Structure Used) – incid_empl_subform. Subform: Volunteer Teams – Team Leaders Assigned to this Incident, Form: incid_team_subfrm. Button: Team Member Task Assignments launches Form: incident_contacts_frm. Button: Volunteer Utilization (This Incident) launches Report: Volunteer Resources for Incidents. frmInstantiateCourse Purpose: This form can be opened from the Main Menu or from frmCurriculum. Source of Data: Use of Data: Table: courses, fields can be edited. tblTrainingEventSession, fields can be edited. 204 sfrmTrainingEventSession Allow Additions = No Form: locations_frm “Locations” “Volunteer Locations” Source of Data: Table: locations. Form:locations anchored here. 205 Form:main_frm “Main Menu” Opened by Form: start. Resource References Volunteers Training o Button Edit Curriculum and Create a Training Event opens frmCurriculum. o Button Edit Training Event, opens frmInstantiateCourse. o Button Confirmation E-Mails and Letters opens frmConfLtr. o Button Training Event Roster opens frmClassRoster and eventually rptTrainingEventRoster. o Enter Attendance o Button: Check Training, opens frmCheckSkills, 206 o Assess Training Needs and Send E-Mails. This is butTrainingNeeds, and runs butTrainingNeeds_Click. o Training Events and Registration Teams Incidents Other References o Volunteer Locations o Useful Web Links o Misc Tables o Reports, opens frmReports, “Reports.” o Update Employee Information o Print Employee Badges Hue Lightne ss Saturat ion Red Green Blue 0 80 60 80 # # 144 80 216 80 288 80 360 80 75 75 # 75 75 75 75 243 165 165 10855923 243 243 165 10875891 # # # # 165 243 196 12907429 14875091 165 196 243 15975589 226 165 243 15967714 243 165 165 10855923 Arial 9 One Line 1.4" Wide Two Lines Three Lines 0.3 2147483633 0.45 0.6 frmOneTime Button: butInsertPastCERTGrads 207 frmPrtAFDBadge “Print Employee Badges” Purpose: Form used to Print Employee Badges. Screen Shot: frmPrtCertificate frmReports, “Reports” Purpose: Provide access to additional reports. Opened from Form: main_frm “Main Menu.” 208 Screen Shot: Button: Report of Trained Volunteers Across Curriculum, opens report rptVolSkillTraining, “Trained Volunteers Across The Curriculum.” This report provides the highest level of summary showing the Volunteers that have been trained. Button: Report of Training Event Attendance by Volunteers, opens rptVolTrainingEvent, “Training Event Attendance by Training Event” Report of Volunteers With Training Certificates Pending, opens report rptVolSkillCourseCertPend, “Volunteers with Training Certificates Pending” Report Training Overview Report: Assessment of Training Needs Form: skills_frm “Skills & Readiness” Purpose: List the Skills to be tracked, whether the skill is a specific Skill taught by the local CERT agency, and whether a Certificate is issued for the Skill. Source of Data: Table: skills 209 Use of Data: Table: skills Table: dis_skill, is updated by button Command7 on this form, Private Sub Command7_Click, which runs Query: Update Blank Disaster With Skills. Notes: 1. Clicking Command7 without actually adding a Skill causes many key violation errors, but nothing horrible results. Form: start “Start” Opened from modDB: Public Sub WrSyslog(Operator, LogText) Notes: 1. 9 Jan 07: I made this a PopUp form so that it appears on top when it opens. I also had it close itself before it opens Form:main_frm. 2. 25 Oct 08: Form: start trims tblSysLog at 10 days of age. frmTrainingEventConfirm ationEmail Purpose: Send an e-mail to all Volunteers enrolled in a Training Event to confirm their attendance. Screenshot: Source of Data: qryVolConfEHdr, Use of Data: Notes: frmTrainingNeededEmail 210 frmVolActivity Purpose: List Active Volunteers in inverse order of Activity. Used in processes for Handling of Inactive Volunteers. Source of Data: Table: contacts. tblVolActAssessment. frmVolConfEMail Purpose: Send electronic mail to a volunteer to confirm their enrollment in a Training Event. Source of Data: qryVolConfEHdr – qryVolConfEMail – Use of Data 211 Screen Shot: Notes: frmVolRequest Source of Data: tblVolActivity frmVolTrainingNeededEmail Purpose: Display electronic mail that can be sent to Volunteers inviting them to one or more Training Event Sessions to complete their Basic CERT training. 212 Used by the CERT Coordinator in activity Assess Training Needs – Who Should Be Invited to “Makeup” Classes? Source of Data: Local Query o Table: contacts. o tblTrainingEmailIndex courses, to get the name and time period of the Training Event. tblTrainingNeedsAssessment, to determine which Training Event Sessions the Volunteer needs. tblTrainingEventSession, to locate the next Training Event Sessions that the Volunteer needs. Subform: cont_skill_subform Purpose: Source of Data: Use of Data: Notes: 1. It appears that it is not possible to have multiple entries under “Skills & Readiness.” For example, it is not possible to have “Ham Radio Operator” listed twice. That’s good; but I cannot figure out how it is accomplished. It’s relevant because the code for adding Ham Call Sign to the Volunteer Identification Badge checks for multiple licenses, even though it appears the data base does not permit it. sfrmqryVolSkillCourse2 subform to frmCheckSkills. Source of Data: qryVolSkillCourse. 213 sfrmTrainingEventSession Reports Some Reports are also implemented as Queries. Labels qryVolRecentCertificate rptAFDBadgeVnn Purpose: Fire Fighter Identification Badge, see Print Employee Badges in Fire Fighter Tasks to see how it is produced. There are multiple versions of the AFD badges. As of 9/20/2011, we are using version 4. Sample Badge: Source of Data: tblAFDBadgesIssued. tblAFDPhotos. Notes: 1. Once (9/20/2011) we had a problem with printing multiple badges. The OrderByOn property of rptAFDBadgeV04 was set to False. I changed it to cont_id and the problem went away. At the same time I also changed the AutoResize property to False from True, and the FastLaser Printing property to False from True. 214 rptBadgesPrintedLast5Days Purpose: Prepare mailing labels for recently printed badges. Source of Data: qryBadgesPrintedLast5Days. Use of Data: Notes: The current label size is 1” x 2¾”. This corresponds to an Avery 5351 label. 215 rptBasicCERTGrad “All CERT Graduates” Purpose: This report lists the names of Volunteers who have completed the Basic CERT class. The source of data is qryBasicCERTGrad that joins the Volunteer and Training Events tables and selects records that contain "Basic CERT" in the Training Event Name field and "Graduated" in the Completion Status field. Source of Data: qryBasicCERTGrad. Added to data base in Version 1.02. Report: Casualties for One Incident Purpose: Source of Data: Use of Data: This report is requested by clicking Human Casualties on on the Incident Management form (incident_frm). rptCERTBadgeVn Purpose: Create Badges for Volunteers from the data base. There are multiple versions of the CERT badge. As of 9/20/11, we are using version 5. Invoked using button Create Badge on Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Source of Data: Query: Contact Details. 216 rptCERTCertificate Purpose: Print the CERT Certificate for a Volunteer. Source of Data qryVolSkillCourse. rptCERTGradHistUpdated Purpose: Review how well the CERT graduate import process might have worked. It’s a pretty crude process. Source of Data tblCERTGradHistUpdated. Use of Data: Report: CERT Member Personal Information Also known as the “FEMA Form.” Invoked from Form: contacts_tab_frm, contacts_frm, “Volunteer Data” button “FEMA Form.” 217 Source of Data: Cert_type_cont Cont_course Courses Team_cont Teams Query: Contact_details. o Table: contacts Report: CERT Volunteers by City Caption: CERT Volunteers by City Title: Volunteers by CERT Type and Location Invoked by: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Source of Data: Query: List by City. rptDSWform, “Disaster Service Worker Form.” Source of Data: Query: Contact Details. Subreports: o srptOlePhoto. o srptqryVolSkill. o srptVolCourseEnrolled. o srptVolIncidHrs. o srptVolTeam. o srptVolVolType. 218 Report: Find People with Skills V2 Purpose: Prepare a list of people who are available for dispatch in a local emergency. Source of Data: Query: Find Skills V2. Use of Data: Notes: 1. The criteria for inclusion on this report are: a. Basic CERT skill and required class sessions complete b. Sworn Disaster Service Worker c. Volunteer agreed to be dispatched. 2. … Report "Labels Mailing Lables (All Volunteers)" Source of Data: Mailing Lables (All Volunteers). Report : Resources “Volunteer Training & Resources Offered” Caption : Resources Report providing a profile (i.e. questionnaire response) for the selected Volunteer. May also be used as a blank questionnaire form. Source of Data: Query: Contact Details. … Invoked from: Form: contacts_tab_frm, contacts_frm, “Volunteer Data” Changes 219 Version 1.02, Added Volunteer Service Date and date last updated/ rptStats Purpose: Calculate and display CERT program statistics. 1) Number of People Trained. a) Source of Data: qryBasicCERTGradCount 2) Number of People by Service Date a) srptVolSvcDate. 3) Number of Disaster Service Workers i) By year of Badge Issued 4) Number of Volunteers on Teams a) #BasicCERT, #DSW’s, #Hams 5) Amateur Radio Operators 6) Course Attendence. 220 rptTeamListing, list of all Active Volunteers on Teams Purpose: Provide a list of all Active Volunteers on Teams. Source of Data: qryTeamListing. Notes: 1. The fields on this report from left to right are: a. Role – Comes from the Team Role field in the Team Assignments and Priorities subform on the Volunteer Data form. This report does not show Volunteers with a team-role of “6 Prospect.” b. Volunteer Name – This is the concatenation of the Volunteer’s First and Last Name. Nickname will be used if a nickname is specified for the Volunteer on the Volunteer Data form. c. Address – Street address of the Volunteer. d. Telephone – Up to three telephone numbers for the Volunteer: Home, Work, and Cell. e. Email – One or two email addresses for the Volunteer: Home and Work. f. Basic CERT – Indicates “Y” if the training records show the Volunteer has the Basic CERT skill. g. DSW Stat – Indicates the DSW Sworn Date if the Volunteer has a DSW Sworn Date in the Volunteer Data form, and their last badge has not expired. h. Service Date – The Volunteer’s Service Date as indicated on the Volunteer Data form. i. ARES – Indicates “ARES” if the Volunteer Type includes “ARRL-ARESA” to indicate the Volunteer is a registered member of Alameda Amateur Radio Emergency Services (ARES). j. L – Indicates the Alameda ARES level attained the the Volunteer who is registered with Alameda ARES. Values of 1, 2, 3, or 4. k. Call Sign – Amateur Radio Call Sign for those Volunteers who are licensed Amateur Radio Operators. l. Cl – Class of Amateur Radio license for those Volunteers who are licensed Amateur Radio Operators. m. Callout: Day – Indicates “Y” if the Volunteer has agreed to be dispatched in the day time (8:00 AM to 8:00 PM). n. Callout: Night – Indicates “Y” if the Volunteer has agreed to be dispatched in the night time (8:00 AM to 8:00 PM). 2. This report shows Active Volunteers. Inactive Volunteers are excluded. See: Handling of Inactive Volunteers. Report: Training Events “Training Event Attendance Sheet” 221 rptTrainingEventConfirmationLtr rptTrainingEventConfirmationLtrBasicCERT rptTrainingEventConfirmationLtrCPR Purpose: Creates the Training Event Confirmation Letter. There are several versions of Training Event Confirmation Letters. We had to implement multiple versions because the letters have significantly different formats depending upon the Training Event being confirmed. Source of Data: qryConfLtr. Notes: 1) 21-May-07: Previously, this letter was created from the following code: Private Sub Combo10_AfterUpdate, so that a letter was produced when the Volunteer was enrolled in the Training Event. However, we later determined that Confirmation Letters are produced in a batch about a week before the Training Event. Therefore, the automatic code was removed (commentedout) and a button was added to the Main Menu. See Print Confirmation Letters. 222 rptTrainingEventRoster Purpose: Source of Data: qryAttendanceByName Report : Training Events “Training Event Summary” rptTrainingOverview, “Training Overview” 223 Sample Page: Source of Data: qryAttendanceByName. Notes: 1. For Handling of Inactive Volunteers, this report shown all Volunteers, whether Active or Not Active. rptVolCourseSessionNeeds “Assessment of Training Needs” Purpose: Provide a list of Course Sessions that Volunteers need so that they can qualify for a Local CERT Specific Skill. Administrators might preview this report in Operating Instructions: Assess Training Needs – Who Should Be Invited to “Make-up” Classes? Source of Data: qryVolCourseSessionNeeds. Use of Data: Notes: 224 2. For Handling of Inactive Volunteers, this report shows only Active Volunteers. Inactive Volunteers are excluded. rptVolDSWStatusList “DSW Badge Expiration and Logged CERT Volunteer Activities.” Purpose: Source of Data: qryVolDSWStatusList. Use of Data: srptVolIncidHrs Purpose: Source of Data: Use of Data: rptDSWForm. rptVolOpptyVoledFor Purpose: List the Volunteers who are willing to help with the CERT program. Source of Data: qryVolOpptyVoledFor. Notes: 225 1. See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. Notes: 1. See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. rptVolSkillCourseCertPend “Volunteers with Training Certificates Pending” 226 Sample Page: Source of Data: qryVolSkillCourseCertPend. Use of Data: Notes: 1. For Handling of Inactive Volunteers, this report shows only Active Volunters. 227 rptVolSkillTraining: “Trained Volunteers Across The Curriculum” Purpose: Provide the highest level of summary showing the Volunteers that have been trained. Source of Data: qryVolSkillCourse. Notes: 1. For Handling of Inactive Volunteers, this report shows Active Volunteers only. Inactive Volunteers are excluded. rptVolTrainingEvent, “Training Event Attendance by Training Event” Purpose: This report summarizes Training Event Attendance by Training Event and Volunteer. All Volunteers are shown, whether Active or Not Active. Active status is indicated for each Volunteer. 228 Sample Page: Source of Data: qryVolTrainingEvent. Use of Data: rptVolTrainingNeededEMail Use of Data: Used when inviting Volunteers to Training Event Sessions they need to complete their Basic CERT. See usage instructions in Assess Training Needs – Who Should Be Invited to “Make-up” Classes? 229 Report: Volunteer Resources for Incidents Title: “Volunteer Resources Utilized.” Purpose: Invoked from: Form: incident_frm. Source of Data: Query: Volunteer Incident Tasks (One). Use of Data: rptVolUpdateForm Purpose: Provide an opportunity for Volunteers to update their information and to indicate some tasks they would be willing to perform in support of the CERT program. Source of Data: qryVolOpptySpecSel. Notes: 1. See Alameda CERT Volunteers Request Form about the relationship between tables, queries, and reports. srptBasicCERTGradCount Purpose: Report of Basic CERT graduates by year. Source of Data: 230 Use of Data: rptStats. srptOlePhoto Purpose: Puts the Volunteer photo in the Disaster Service Worker Registration, as shown below: Source of Data: tblCERTPhotos. Use of Data: rptDSWForm. srptqryVolSkill Purpose: Puts the Volunteer Skills in the Disaster Service Worker Registration, as shown below: Source of Data: qryVolSkill. Use of Data: rptDSWForm. srptVolCourseEnrolled Purpose: Prepare a list of Course enrollments for the Disaster Service Worker Registration form, as shown below: 231 Source of Data: qryVolCourseEnrolled. Use of Data: rptDSWForm. srptVolIncidHrs Purpose: Prepare a list of the Volunteer’s hours for the past two years, for use in the Disaster Service Worker Registration form. Source of Data: 232 qryAbsVolAttendIncid. Use of Data: rptDSWForm. Notes: 1. Filtered for Incidents less than 2 years old. srptVolSvcDate Purpose: List the number of Volunteers by Service Date. Source of Data: qryVolSvcDate Use of Data: rptStats. srptVolTeam Purpose: Prepare a list of Teams for a Volunteer for use on the Disaster Service Worker Registration form. Source of Data: qryVolTeam. Use of Data: rptDSWForm. srptVolVolType Purpose: Prepare a listing of Volunteer Type for the Disaster Service Worker paper form. Source of Data: 233 qryVolVolType. Use of Data: rptDSWForm, Disaster Service Worker paper form. Pages Macros Modules modDB Public Sub WrSyslog(Operator, LogText) Checks to make sure that Operator is not Null or Zero. If so, opens Form: start to require login. Creates record in tblSyslog, and writes Date/Time, Operator, and LogText. Module Form_cont_skill subform Private Sub Validated_AfterUpdate() Sources of Data: tblCurriculum. Table: skills. qryVolSkillCourse. 234 Notes: 15-May-07: Module was asking question, “There are no Training records that support Qualification for this Skill. Do you want to ‘grandfather’ this Skill?" but then not following up with “Do you want to queue up a certificate now?” To resolve, I commented out the two Exit Sub statements shown below. rsttblCertsIssued! Constants Local Data Data available from Form Source of Data .AddNew !logPrintCertificateNow !datCertificatePrinted False datNever !cont_id !strVolName cont_id strLocalVolName rsttblVolSkillCourse!cont_id rsttblVolSkillCourse!strVolName !strContNickName strContNickName rsttblVolSkillCourse!strContNickName !cont_first cont_first rsttblVolSkillCourse!cont_first !skill_val_date skill_val_date !intCurrID intLocalCurrID rsttblVolSkillCourse!intCurrID !course_name strLocalCurriculumName rsttblVolSkillCourse!strCurriculumName !course_title strLocalTitle rsttblVolSkillCourse!strTitle !course_hours intLocalcourse_hours rsttblVolSkillCourse!course_hours !skill_id !skill_descr skill_id strLocalskill_descr rsttblVolSkillCourse!skill_id rsttblVolSkillCourse!skill_descr .Update 235 Module Form_cont_skill subform Private Sub Validated_AfterUpdate() Start Initialize some variables IsNull (Validated) No Is this a skill for which we issue a Certificate? Yes Save skill description in case we need it later. Do the training records support a certificate for this volunteer and skill? No Do you want to ""grandfather"" this Skill Yes Yes Save Certificate data in local variables. Construct the Volunteer Name Get the typical title and course hours for this skill Yes No Store certificate data in tblCertificatesIssued No End Sub Drawn by Tom Schweich C:\CERT\Training 2007 05 15.vsd, Page-1 Date Last Revised: 12:55, 5/15/2007 Module Form_contacts_tab_frm 236 Private Sub butrptBadge_Click() This subroutine queues up a Badge for printing later. Table tblBadgesPrinted is updated. Notes: 1. Skill ID = 34 is “Ham Radio Operator.” The code to create badges, butrptBadge_Click, uses the literal value of 34, rather than joining cont_skill to skills and searching for “Ham Radio Operator. Module Form_employees_tab_frm Private Sub butEmpCreateBadge_Click() Private Sub Combo47_AfterUpdate() Private Sub Command49_Click() Private Sub Command50_Click() Private Sub Command133_Click() Private Sub Command279_Click() Private Sub Command282_Click() Private Sub Command283_Click() Private Sub butAFDEmployee_Click() 237 Module Form_frmComposeEMail Private Sub butCEMSend_Click() If the data base cannot create the GroupWise object, then you’ll get a Run-time error ‘429’ with a message of “ActiveX component can’t create object.” Module Form_frmConfLtr Private Sub butclsfrmConfLtr_Click() Private Sub butPrtConfLtr_Click() Private Sub Combo0_AfterUpdate() Opens: frmTrainingEventConfirmationEmail -- rptTrainingEventConfirmationLtrBasicCERT rptTrainingEventConfirmationLtrCPR Module Form_frmEnrollContactsCourses Private Sub Combo10_AfterUpdate intContID = Me!cont_id intLocalTrainingEventID = Me!course_id 238 intLocalSkillID = Me!intSkillID Notes: 1) 21-May-07: The code to create a Training Event Confirmation Letter using rptTrainingEventConfirmationLtr has been commented-out. Module Form_frmOneTime butInsertPastCERTGrads Sources of Data: tblCERTGradHist. Uses of Data: tblCERTGradHistUpdated. Module Form_main_frm Button Command3 “Quit Application” Delete the Link to tblCERTPhotos. Delete the Link to tblAFDPhotos. 239 On Error Resume Next strTest = dbsCurrent.TableDefs("tblCERTPhotos").Name If Err = 3265 Then Else Err = 0 DoCmd.DeleteObject acTable, "tblCERTPhotos" If Err = 0 Then Call WrSyslog(intLoginOper, "The link to tblCERTPhotos was successfully deleted.") Else Call WrSyslog(intLoginOper, "Could not delete the link to tblCERTPhotos, Err = " & Err & ", Description = """ & Err.Description & """") MsgBox ("Error deleting the link to tblCERTPhotos, details in tblSyslog.") End If End If On Error GoTo 0 Private Sub butChkVolAct_Click() Purpose: Build an Index of Volunteer Activity. Source of Data: Start Use of Data: tblVolActAssessment. Blow away the previous assessment. Get a list of unique volunteers, skills and course sessions not attended and not killed. Go through every Event Session the Volunteer did not attend. This subroutine is invoked by clicking Assess Training Needs, button butTrainingNeeds, on Form:main_frm “Main Menu.” Source of Data: tblCurriculum. tblTrainingEventSessionAttendance. Get a list of all this Event Session that the Volunteer attended. Are there any ? Yes No Get a list of future Training Events containing this Event Session for which the Volunteer is enrolled. Do nothing, there is another attendance record for this Event Session. Are there any ? Yes No Do nothing, the Volunteer is enrolled in this Event Session at a later date. This person has some unmet training needs. Use of Data: tblTrainingNeedsAssessment, this table is completely deleted and then recreated by Private Sub butTrainingNeeds_Click. Have we previously figured this out? Yes No Add to table of training needs. Loop Execute "qryTrainingEmailIndex" OpenForm "frmTrainingNeededEmail" Start Do nothing, we’ve previously figured this out. Drawn by Tom Schweich C:\CERT\Training 2008 08 30.vsd, Page-1 Date Last Revised: 16:37, 10/25/2008 Private Sub butTrainingNeeds_Click 240 Note: an Inactive Volunteer will get caught up in this assessment. This process checks all the Skills that are listed as Alameda CERT-Specific skills. For each Alameda CERT-Specific skill, a list is prepared of every Volunteer who ever signed up for a Course that taught that skill. Each Volunteer is assessed as to whether they completed the training, and if there are any disparities between the Course Sessions they took and the Course Sessions in the Course that currently teaches the skill. A table of assessments is produced. The table of assessments is shown in frmCheckSkills. Module Form_start 241 strPath = CurrentProject.Path On Error Resume Next strTest = dbsCurrent.TableDefs("tblCERTPhotos").Name If Err = 3265 Then Err = 0 DoCmd.TransferDatabase acLink, "Microsoft Access", strPath & "\AFDPhotos.mdb", acTable, "tblCERTPhotos", "tblCERTPhotos" If Err = 0 Then Call WrSyslog(intLoginOper, "Successfully linked to Photos at: """ & strPath & "\AFDPhotos.mdb") Else Call WrSyslog(intLoginOper, "Could not link to Photos at: """ & strPath & "\AFDPhotos.mdb, Err = " & Err & ", Description = """ & Err.Description & """") MsgBox ("Could not link to Photos database, details in tblSyslog. Database functions not requiring photos will still work OK.") End If Else DoCmd.DeleteObject acTable, "tblCERTPhotos" Call WrSyslog(intLoginOper, "tblCERTPhotos was already linked. It was deleted and will be re-linked.") Err = 0 DoCmd.TransferDatabase acLink, "Microsoft Access", strPath & "\AFDPhotos.mdb", acTable, "tblCERTPhotos", "tblCERTPhotos" If Err = 0 Then Call WrSyslog(intLoginOper, "Successfully linked to Photos at: """ & strPath & "\AFDPhotos.mdb") Else Call WrSyslog(intLoginOper, "Could not link to Photos at: """ & strPath & "\AFDPhotos.mdb, Err = " & Err & ", Description = """ & Err.Description & """") MsgBox ("Could not link to Photos database, details in tblSyslog. Database functions not requiring photos will still work OK.") End If End If On Error GoTo 0 Appendix A – Original Application Documentation Getting Started with the CERT Volunteer Database Please Print and read this document carefully before getting started. Use the back arrow button on the MS Word Tool Bar to leave this document and return to the database application menu. 242 NOTE1: You may edit this document at any time and add your own helpful hints as you discover application shortcuts, design your own record keeping procedures and/or get resolutions to any problems and questions that may arise. NOTE2: If you encounter any problems or have any suggestions for improvements, please complete the Feedback Form accessible from the application menu and email a copy to breffelt@aol.com WARNING: DO NOT DELETE the “blank” record that appears on the Volunteer Form and on the Trainers Form. These records permit you print reports that can be used as blank data collection questionnaires. Also DO NOT DELETE the “All Types” disaster record since that is the only disaster type that can be automatically updated to have the full set of skills, equipment, materials and facilities listed. Helpful Hints: Display Settings The application was designed to permit easy viewing on a monitor with an 800 x 600 display setting. When your monitor is set at this resolution the application will utilize the entire area of your display screen and the smaller fonts should be easily viewable by persons with normal vision. If your display setting is set at a higher resolution, the application screen will occupy a smaller space on your monitor and the smaller fonts may be more difficult for some to read. If you have your display set at a lower resolution, the application forms will spill over the sides of your monitor and you will have to use the scroll bars to view all the information on each form. These lower resolution settings are not recommended. What The Buttons Do When you place (i.e. rollover without clicking) your mouse pointer over each button on a form a brief description of the functionality of each button will appear within approximately one second of mouse placement. Also, you need to click buttons only once to launch the function. Closing Things NEVER click the red [X] box at the top right hand corner of your screen unless you want to immediately terminate the entire database application. You may, however, click the smaller black [X] box to close any form, query, and/or report that you are currently viewing. Each of the forms has a red [Back] button that performs this same function. When viewing a formatted report or a query listing (i.e. the things that look like spreadsheet lists) you may close them by using the File – Close option on the pull down menu in the upper right corner of the screen. Printing Things Choose File – Print to print a hard copy of the reports and/or queries. When viewing a data entry form you may select File – Print; however, I strongly recommend that you DO NOT do this since these forms have not been formatted for printing and the system will attempt to print all the records not just the one you are viewing at the time. Selecting Records When viewing a data input / edit / delete form there are a few standard features of MS Access to observe on your screen. On the bottom left hand corner you will see record selector controls that let you advance to the next record >, go back to a previous record <, go to the last record >|, go to the first record |< and create a new blank record >*. In addition most screens include programmed record selection pull down 243 controls near the top right of the screen that allow you to select a specific record based on information contained in the record itself (e.g. volunteer name). When you click on the down arrow of that control, a list will appear. As you start typing (e.g., a last name) the list will automatically move down to the appropriate record to select. Just press the enter key to view the record you have highlighted in this manner. You also may open the selection list and move your mouse down (scroll) the list until you find the record you want. Click on the record you want and it will quickly display on the form. Tabbed Forms The Volunteer form and the Trainer form contain large amounts of data. These forms have tabs on the top that allow you to view different portions of each record. Click on these tabs to view the data in each section of the form. Deleting Records If you want to delete a record, there are a few things to consider. There is a rectangular record bar / box, with an arrow in it, on the left side of the screen which will reverse highlight when you click in the box. Once you highlight the record by highlighting this bar, you can simply press the Delete key on your keyboard to remove the record that you are currently viewing. MS Access will ask you if you really want to do this. If you say, [Yes] the record and all of it’s related records will be permanently deleted from the database. You may also delete a record by using the Edit – Delete Record pull down selection on the main menu bar on the top left of your screen. Since your database has been supplied with several dummy records, eventually you will need to delete them. Exporting Data When viewing any query you may click on the box in the upper left hand corner of the displayed list. This will reverse highlight the entire data content on the screen. After doing this you can copy (Edit – Copy or Ctrl C) the data displayed and subsequently open Excel and paste (Edit – Paste or Ctrl V) the data into a blank spreadsheet. You also may highlight one or more contiguous columns in the query and copy and paste only those columns into a blank spreadsheet or another application (e.g. your email address list). You also may do the same thing with one or more contiguous rows in the query. You also may select and copy contiguous rows and columns in the middle of the query display and paste the data into another application. Importing Data This version of the software does not provide you with any automated tools to import data from other application such as Excel, Outlook, Word, etc. into the MS Access data tables. The full set of MS Access design and development tools permits advanced users to import data from other sources; however, this typically requires a high level of technical expertise needed to properly format the alternative data source(s) as well as detailed knowledge of the relational structure of the receiving database application. If your organization has the need to routinely import data from other sources, please let me know about your requirements. If you would like to import your data from other sources one time as a way to quickly populate your initial database, please contact me and I will try to help you accomplish that effort. Application Functionality And Procedures: Resource References The database allows you to use the Resource Reference lists already defined and it allows you to add or delete items in these lists as needed for your local situation. The items in these lists will appear in various popup selectors throughout out the application so it’s very important to carefully review and define these 244 lists in advance. When you add new items to the Reference Resources lists (i.e. skills, equipment, material and facilities) you should be sure to press the button on the top of the screen to automatically update the “blank” volunteer data and the “All Types” disaster. When you do this MS Access will respond with a bunch of popup dialog box windows, but just ignore the detailed message texts and keep pressing the, [Yes] buttons until it finally stops doing this. Other Resources (Locations and People): This is where you must define the specific locations in your CERT area. You should edit / delete / add the appropriate location records on the dummy list included for demonstration purposes with your start up database. Once you do this you can more efficiently add volunteers to your database by pressing the [Volunteers in Selected Town] button on the top of this form or by going back to the main menu and pressing the [Update Volunteer Information] button. This form also allows you to copy the zip code and go to MapQuest on the Internet to get a local map for that zip code location. Update Volunteer Information: This three-tabbed form allows you to enter, edit and delete all of the volunteer records in your database. Before you can assign any volunteers to any Training Events or Teams those events and teams must be pre-recorded in that portion of the database (See below). You can also record the assignments of volunteers to training events and teams in those forms once the basic volunteer data has been added. Your “volunteers” may include a wide range of human resource contacts in addition to CERT volunteers. For example, you may want to include people who work for merchants, hospitals, schools, etc. who are not fully trained CERT members, but who are willing to offer equipment, materials and facilities during disasters and emergencies. You also may want to include volunteer fire and EMS personnel. Disaster Needs and Resources: This is the part of the application where your team’s prior and evolving knowledge of the typical volunteer resources required for typical disaster situations needs to be captured. Please note that each actual disaster incident may have somewhat different resource needs than those initially identified in your typical disasters. As you gain more experience with your actual disaster resource needs you can further refine the resources identified for your typical disasters. The start up database is not complete with the data needed for all of these disaster types, so you will need to add it for those disasters that apply to your geographical area. You may also experience some disaster types that have not already been identified in the start up database, so you should add them to your list. You may delete those disaster types that are not relevant to your situation; however, that is not necessary. Again please remember that you must predefine the Resource Reference lists (skills, equipment, materials, facilities) to be able to assign those resources to any disaster type. Training Events and Registration: Any training event associated with your volunteer resources should be added to this section of the application. A training event may be defined as a single day session or you may define an event having multiple day sessions (classes, drills, etc.). You may record participant attendance for up to 15 sessions of a single event. You also may record each participant’s completion status and certification received for each event. To include participants in any event they must already be recorded in the Volunteers section of the database. To include instructors for these events they must already be recorded as trainers in the Trainers and OEM Contacts section of the database (See below) 245 Teams and Membership: Any team organizations associated with your volunteer resources should be added to this section of the application. A team may be defined as any group of people with a specific mission for which they have volunteered and have been properly trained. People assigned to teams will have certain roles on the team. In accordance with ICS principles one person must be designated as the team Chief. Some team members may only be potential candidates, trainees in training or alternates. Volunteers may also belong to multiple teams, so you should also determine their relative priorities for participation in these teams during a disaster. This is best done on the Volunteers form where you can view all of the teams for which a person has volunteered. To include participants in any team they must already be recorded in the Volunteers section of the database. Trainers and Other OEM Contacts: This section is used to record individuals usually professionals within your CERT area. It may include the OEM managers and their staffs in your region and it also must include those who are certified trainers. Any volunteers who are also certified trainers should be included separately in this section of the database and all trainers must be identified (in red) on the form as trainers. The trainers must already exist in this section of the database before they can be assigned to any training events Incident Management: This section allows you to record information about the Emergency Management leadership structure for a specific incident. It also allows you to assign volunteer teams to the incident, and to keep track of volunteer tasks performed, equipment / materials / facilities offered, the human victim impact and property damage assessments. At this time it does not keep track of the real time use, inventory, availability and consumption of resources during the active incident, nor does it keep track of the evolving ICS management structure as the incident changes in scope. CERT volunteers probably will need to create incident tracking paper forms for use in collecting the information that subsequently can be entered into the database. It is possible that a person with a portable laptop PC could collect the data in the field; however, that approach has not been tested to date. Appendix B – Alameda CERT-Specific Issues with the Data Base. The Class Sessions are entered as a repeating group, should be an entity for Class Session. Normalization issue. The edit on telephone number failed and got hung. Microsoft Access problem. The table of locations has state and ZIP, but the state and ZIP still have to be entered into the Volunteers form. State cold be populated from the Locations table, but maybe not ZIP code if we need ZIP+4 Some of the ancillary tables such as the CERT teams table need description fields. Requirements issue (?). There are inconsistencies in naming of tables, forms, and reports, and in naming of elements in the logical model, e.g., “Instructors” vs. “Trainers.” There are two tables for people, one for Volunteers and one for Instructors. They could be contained in a single table. This is probably the result of evolving conceptual design during data base construction. 246 Date: Wed, 21 May 2008 20:23:34 -0700 From: Tom Schweich <tomas@schweich.com> To: dhillstrom@infolane.com, Sharon Oliver <soliver@alamedafire.org>, Erin Christ <echrist@ci.alameda.ca.us> Subject: Suggestions for Improvements to the Alameda CERT Data Base Sharon, One of my To-Do's from my meeting with David about the Alameda CERT data base was to talk with Erin about the kinds of improvements she would like based upon her daily use of the data base. Here is the list we came up with: 1) Be able to select Volunteer(s) and send an e-mail directly from the data base. The selection criterion might be a single Volunteer, or a Class roster. The e-mails could be used to send Confirmation Letters, or to advise of changing conditions for a class session, such as the Hazmat class being 3 1/2 hours in length. I could also see that being able to select ACEC members, team leaders, or the members of a particular team might be useful. This would be a piece of cake if Alameda used Outlook/Exchange for e-mail. It still may be do-able with Novell Groupwise. It would be helpful to work with someone who knew groupwise. 2) List everyone who graduated, including those that were grandfathered. Something like the attached spreadsheet, this is the real list that I easily produced from a query, but needs to be preprogrammed for someone not familiar with writing queries. This query could be saved, and a report prepared from it. 3) Be able to look up everyone who has taken the Personal Preparedness class. This one is a little tricky, because you would want to include everyone for whom there were records of having taken the Personal Preparedness class plus everyone who was grandfathered, under the assumption that all previous Basic CERT classes would have included Personal Preparedness. Not difficult, just need to play with a couple of queries and an intersection between them. 4) A way to help weed out inactive Volunteers is needed. We might use a query to find all Volunteers who signed up for a class and never attended any past sessions, are not on any teams, are not grandfathered, and are not sworn in. This query could produce a "Suspect List" that could be reviewed and a decision made whether to delete them. This is grunt work, not rocket science. Probably would want to both mark Volunteers as “Inactive” and leave them in the data base, or move them to a "Deleted Volunteers" table, rather than deleting them outright. 5) Launch an Internet Explorer session to the Alameda CERT Yahoo Group. Not difficult. 6) Be able to send an e-mail to all DSW’s. 7) List of people by graduation Date. 8) E-mail to people who need something. 9) Do not permit Null training dates, when instantiating the curriculum. I think, Sharon, the plan was to combine this list with a list that you would try to elicit from ACEC, and then we would continue the discussion with David. I think you return the day I leave (the 27th). I'll have limited access to e-mail while I'm away for 3-4 weeks stalking the wild Swertia albomarginata in the hinterlands of Nevada and Utah. Best regards, Tom 247 Application Change Log March 13, 2003 – Version 1.01 As received from Bob Reffelt. Version 1.02 1) Table: contacts a) Add the following fields: i) Volunteer service date as datSvcDate -- Done ii) Date Volunteer information was last updated – Done iii) Add strNickname iv) volunteer_status – What was this ???? v) 2) Add tblSysLog – provide a place to log data base activity. 3) Add qryBasicCERTGrad, to give list of Volunteers who have completed the “Basic CERT” Training Event. 4) Form: contacts_tab_frm a) Added a button to create a Badge, by launching rptBadge. b) Add the following fields: i) date last updated as datLastUpdate, -- Done ii) volunteer_status, iii) volunteer_service_date as datSvcDate. -- Done c) Changed the font for variable fields to Times Roman 10 Normal Dark Blue -- Done d) Changed the Background Color to a pastel green: 14811105 -- Done 5) Define Reports to Meet Reporting Requirements 6) Report : Resources “Volunteer Training & Resources Offered” a) Add the following fields: i) date last updated as datLastUpdate, -- Done ii) volunteer_service_date as datSvcDate. -- Done 7) Define rptBasicCERTGrad “All CERT Graduates” to meet Reporting Requirements. January 18, 2011 – Conversion to Access 2010. I had a problem with “Run time error '13': Type mismatch” when converting the CERT data base to Access 2010. This happened on any use of the “OpenRecordSet” method. I did not have this problem when converting any other Access 2003 data base to Access 2010. 248 The fix seems to be one of disabling ActiveX Data Objects (ADO), and forcing the data base to use DAOs objects instead. I did this by entering the VB editor, clicking Tools, References, and unchecking any references to the ActiveX Data Objects (ADO) library. Appendix C -- Miscellaneous Maintaining a CRET Program Step 4: Maintaining Records https://www.citizencorps.gov/cert/start-2-4a.shtm Maintaining CERT Records spreadsheets Maintaining records can be tedious, but without proper recordkeeping, you will quickly fall behind and lose track of your program. Some tips for maintaining records are included below: Identify your information needs and develop your forms from the start. Begin by identifying the potential information requests you will receive as a CERT coordinator. Then design your recordkeeping forms to meet your information needs before your program begins. Next, consider how you will track and organize the information you are collecting. And, finally design simple formats for reporting CERT accomplishments. Collect only the data you need. Some personal information, such as home telephone and Social Security Numbers are protected from release by the Privacy Act. Some States protect driver license numbers and other information. Release of protected information requires the consent of each individual. The safer approach to protecting information is to not collect it unless you really need it. Keep your database simple and backed up. Add information only as you need to. If your database is computerized, backup the database frequently. Keep these backup copies in a safe place (e.g., store the backups at a different location). Don't bury yourself in records. Don't maintain data you won't need or won't use. Think carefully about what you really want to record before developing your forms. Test the forms with your first class. Provide the forms to your first class to ensure that they record the information you need and work the way you want them to work. Set aside time for record maintenance. Don't let recordkeeping get ahead of you. Set aside time every day or every week to input data. Develop a plan for archiving or destroying old records. Be careful about sharing data. Sharing forms is one thing, but sharing personal data may be unlawful. As stated above, certain types of data, such as Social Security Numbers and home telephone numbers is covered under the Privacy Act and may not be released without the individual's permission. If you use a computerized database, it should be password protected. 249 Enlist some help. If you don't have an administrative assistant assigned to the program, try to enlist one of the CERT graduates to help you. CERT graduates are doing much more than response. In many communities, graduates are coordinating newsletter development, coordinating websites, maintaining equipment, and many other jobs. Why not recordkeeping? Other Data Bases Appendix D - SQL Database Normalization Rules SQL-based English Query applications work best with normalized databases. In general, it is easiest to create English Query applications against normalized SQL databases. In addition, the resulting applications are more flexible and powerful than those developed against databases that are not normalized. 250 This topic describes normalization rules as they pertain to English Query SQL applications. It describes problematic database structures that break these rules and how to solve these problems by creating views in Microsoft® SQL Server™, which can be used in English Query just like any other table. Rule 1: There should be a one-to-one relationship between the instances of an entity and the rows of the table. For every table that represents an entity, each and every row in that table should represent one and only one instance of that entity. Conversely, each and every instance of that entity should be represented by one and only one row in the table. In this situation, this rule is not met: Table: Employees Fields: Emp_id, Emp_name, Status, Position, Salary Keys: Emp_id, Status This table stores information about employees. It contains their names, positions, and salaries. But sometimes employees move around from position to position, and when they do, their salaries change. So for some employees, this table also stores information about their projected position and salary. If the value of the Status field is C, the row contains the current information for the employee. If the value is P, it contains the projected information. Thus, an individual employee may appear twice in this table. Because an employee can appear twice, you cannot use this table to represent the employees entity. If you were to associate the employees entity with this table, even simple requests, such as "Count the employees", would give the wrong answer. The solution to this problem is to create a view in the database that contains a single row for each employee and to tell English Query about this view. Here is what the view would look like: CREATE VIEW Emps AS SELECT Emp_id, Emp_name, Position, Salary FROM employees WHERE status = 'C' You now have a view that contains exactly one row per employee. The employees entity can now be represented by this view. Rule 2: A field should have the same meaning in each row of the table. Refer to the Employees table again: Table: Employees Fields: Emp_id, Emp_name, Status, Position, Salary Keys: Emp_id, Status This table violates the second rule as well. Remember, the Position and Salary fields contain current information if the value of the Status field is C, and projected information if the value of Status is P. The Position field really represents two distinct entities: current position and projected position, depending on the value of Status. This is true for the Salary field as well. Notice that you have already extracted the current salary and current position when you created the Emps view. Do the same for the projected salary and projected position: CREATE VIEW Projected_info AS 251 SELECT Emp_id, Position Projected_position, Salary, Projected_salary FROM employees WHERE status = 'P' Now, you can tell English Query that the projected position entity is represented by the Projected_position field in the Projected_info view, and similarly, Projected_salary. Rule 3: Each table should represent at most one entity. Often, if an attribute means one thing for one subset of the rows in the table and something else for another subset, those subsets of rows actually represent two different (but related) entities. For example, consider a table that represents various media productions, either movies or TV programs: Table: Productions Fields: Prod_id, Title, Type, Show_date, Mpaa_rating, Network Keys: Prod_id If the value of the Type field is M, the production is a motion picture. If the value is T, it is a television show. For motion pictures, the Show_date field contains the date it was released; for television shows, it contains the date on which the show was broadcast. The Mpaa_rating field contains the rating of a movie (for example, G, PG, and PG-13), but is meaningless for television shows. Likewise, the Network field is the network on which a television show appears, but this field is meaningless for motion pictures. This structure makes authoring an English Query application difficult in several ways. First, television shows and motion pictures are distinct entities. You can tell this by the fact that they participate in different relationships. Second, the Show_date field has a different interpretation for a movie versus a TV show. Finally, the Mpaa_rating and Network fields are meaningless for certain rows in the Productions table. To define TV shows and movies as distinct entities, you must create views in SQL Server: CREATE VIEW Tv_shows AS SELECT Prod_id, Title, Show_date, Broadcast_date, Network FROM Productions WHERE type = 'T' CREATE VIEW Movies AS SELECT Prod_id, Title, Show_date, Release_date, Mpaa_rating FROM Productions WHERE type = 'M' You can then create the television show entity, which is represented by the Tv_shows view, and the movie entity, which is represented by the Movies view. Note A superficially similar table would not have the same problem. For example, consider a table of employees that contains a Name, a Salary, and a Type field. Type indicates what type of job that person has (for example, engineer, salesperson, receptionist). Because engineers, salespeople, and receptionists have the same kind of information (names and salaries), there is no need to create a view for each of these job types. Instead, use the Type field to define subsets of people. Thus, a user could ask, "How many engineers are there?" and get the right answer. However, if you have the Productions table, use the Type field to define movies and TV shows as subsets of productions. Instead of creating a view for each, users can then ask nonsensical questions, such as "What is television program X rated?" and would get incorrect answers to seemingly valid questions like "When was movie X broadcast?" 252 Rule 4: Multiple instances of an entity should be represented by multiple rows in a table. When there is a many-to-one relationship between two (or more) entities, it should be represented in the database as a many-to-one join between two (or more) tables. There are two ways in which this rule is typically violated: by splitting data among multiple columns, and by splitting data among multiple tables. The solutions to both problems involve creating union views. Rule 4a: Multiple instances of an entity should not be represented as multiple columns. Consider the following database of people and their pets. The designer of this database did not anticipate anyone owning more than three pets, and hard-coded three pet IDs in the People table: Table: People Fields: Person_id, Person_name, Pet_id1, Pet_id2, Pet_id3 Keys: Person_id Table: Pets Fields: Pet_id, Pet_name Keys: Pet_id You can create the person entity, which is represented by the People table, and you can create the pets entity, represented by the Pets table. Unfortunately, when you try to create a relationship between people and their pets, you must specify a join path between the People table and the Pets table. You could arbitrarily choose one of the ID fields on which to join, but this would ultimately create three relationships that would force users to ask questions in awkward ways, for example, "Show the people and their first pets and second pets and third pets". Because there is nothing that distinguishes these three pet IDs from one another, a better database design would have a many-to-many join table containing all pet IDs in a single column. To achieve this, create the following union view: CREATE VIEW Pet_owners AS SELECT Person_id, Pet_id1 AS Pet_id FROM People WHERE Pet_id1 IS NOT NULL UNION SELECT Person_id, Pet_id2 AS Pet_id FROM People WHERE Pet_id2 IS NOT NULL UNION SELECT Person_id, Pet_id3 AS Pet_id FROM People WHERE Pet_id3 IS NOT NULL Because this view contains a direct relationship between pets and their owners, it can now be used as a join table. 253 Rule 4b: Multiple instances of an entity should not be represented as multiple tables. In this financial database, the high-volume budget table is divided into yearly archive tables to avoid having a single table become too large to manage: Table: Branches Fields: Branch_id, Branch_name Keys: Branch_id Table: Budgets_1995 Fields: Branch_id, Budget, Actual Keys: Branch_id Table: Budgets_1996 Fields: Branch_id, Budget, Actual Keys: Branch_id Table: Budgets_1997 Fields: Branch_id, Budget, Actual Keys: Branch_id To create the budget and actual_expense entities, use a union view to create a single database object to represent each one: CREATE VIEW Budgets AS SELECT Branch_id, 1995 AS year, Budget, Actual FROM Budgets_1995 UNION SELECT Branch_id, 1996 AS year, Budget, Actual FROM Budgets_1996 UNION SELECT Branch_id, 1997 AS year, Budget, Actual FROM Budgets_1997 The Budget and Actual fields in the Budgets view can now represent the budget and actual_expense entities. Rule 5: Joins should be based only on primary and foreign-key equality. Sometimes, a relationship between two entities is represented in the database with a nonstandard join. Because English Query recognizes only joins based on the equality of primary and foreign keys, any nonstandard join must be translated, by using a view, into a standard join. For example, this database contains information about people's heights, as well as a description of the ideal weight for people who fall into a certain height range: Table: People Fields: Person_id, Height, Weight Keys: Person_id Table: Ideal_weights 254 Fields: Min_height, Max_height, Ideal_weight Keys: Min_height Because ideal weight depends on height, it is easy to learn the ideal weight for any given person. However, there is no way for English Query to make the connection between the People table and the Ideal_weights table because there is no primary- and foreign-key join between the two tables. You must make this join explicit by creating a view that contains the ideal weight of each person. CREATE VIEW Ideal_weights AS SELECT Person_id, Ideal_weight FROM People, Ideal_weights WHERE Height >= Min_height AND Height <= Max_height This view can then be used as the join table for the relationship between the person entity and the ideal weight entity (which is represented by the Ideal_weight field). Rule 6: Make sure keys are linked correctly. An English Query compile error will occur if a field that represents an entity is joined to the key of another table. The entity should be represented by the other table rather than this field. For example, if a Branch entity is created from the Branch ID field in the Employee table, an error occurs. The error occurs because a join exists from the Branch ID field of the Employee table to the ID field of the Branch table. The entity should be made a table entity and should point to the Branch Table table. Likewise, foreign keys must point in the right direction. The subentity hierarchy cannot be circular. It must go in one direction from the subentity to the parent entity. The following examples show an incorrect hierarchy: * Enlisted is a subentity of Military Personnel. * Officer is a subentity of Enlisted. * Military Personnel is a subentity of Officer. To correct this problem, change the join for Enlisted to point to Military Personnel, and delete the join from Enlisted to Officer. Then, make Military Personnel a subentity of both the Enlisted and Officer entities. Appendix E – Sending E-mail Through Groupwise from Microsoft Access Following is the example that I followed in implementing GroupWise e-mail from the data base. 255 http://forums.devx.com/archive/index.php/t-59737.html Unless you have the SDK from Novell the only way to control GroupWise is via the "Token Commander" system. This will allow you to send emails. It is possible to use GroupWise via MAPI, but I've never managed to get that to work reliably (or without prompting the user with system dialogues). Novell's documentation (for Delphi, unfortunately) is available at http://developer.novell.com/ndk/doc/docui/index.htm#../gwtoken/gwtokens/data/hbb8qgpc.htm The downside of this system is that it does require GroupWise to be running. If it is not running it will start up automatically (including asking for the user's password if they have one set) before the email is sent. The routine below uses the GroupWise Token Commander to send an email with multiple recipients and attachments. ---- SNIP ---Dim GWCom As Object ' GroupWise Commander object Dim GWrv As String ' Return value from calls to the GWCommander Dim GWRecipients As String ' List of recipients Dim GWSubject As String ' Subject for email Dim GWBodyText As String ' Body text of email Dim GWAttachments As String ' List of files to attach Dim GWSend As String ' Compiled Token command Dim Quotes As String Quotes = """" GWRecipients = "GW Recipient 1,GW Recipient 2,internet:internet.recipient@internet.com" ' Comma separated list of recipients GWSubject = "This is the subject of the email" ' Subject line for the email GWBodyText = "This is the body text of the email" ' Body text of the email GWAttachments = "c:\TextFile.txt,c:\ImageFile.bmp" ' Comma separated list of paths to files to attach to the email GWSend = "SendMail(" + Quotes + GWRecipients + Quotes + ";" + _ Quotes + GWSubject + Quotes + ";" + Quotes + GWBodyText + _ Quotes + ";" + Quotes + GWAttachments + Quotes + ")" Set GWCom = CreateObject("GroupWiseCommander") GWCom.Execute GWSend, GWrv ' If GWrv = "" then the send was successful. Otherwise it will contain an error description ---- SNIP ---Hope this helps. 256 Huw Wilkins Senior Development Analyst SJ Berwin & Co SendMail()8 Schedules a mail item. Token ID AFTKN_SEND_MESSAGE or 578 Syntax DWORD SendMail ( ANSISTRING To; [ANSISTRING Subject]; [ANSISTRING Message]; [ANSISTRING Attach]; [ANSISTRING CC]; [ANSISTRING BC]; [ANSISTRING From]; [ENUM IsRouted]; [ANSISTRING ViewName]; [ENUM AttachListHasDisplayNames]; [ANSISTRING UserID]; [ANSISTRING MessageIDs]; [ENUM MessageIsFile]; [ENUM SubjectIsFile]; [ENUM ViewNameIsFile]; [ENUM AttachmentsArePersonal]; [ANSISTRING OleAttach]; [ANSISTRING SenderID]) Parameters To As ANSISTRING User ID of one or more appointment recipients. Separate multiple recipients with commas. Subject As ANSISTRING Parameter also accepts a filename. (Optional) Message As ANSISTRING Parameter also accepts a filename. (Optional) 8 Excerpt from Novell Developer Kit: GroupWise Tokens, Novell, Inc., June 27, 2007. 257 Attach As ANSISTRING Separate multiple attachments with commas. (Optional) CC As ANSISTRING User ID of one or more carbon copy recipients. Separate multiple recipients with commas. (Optional) BC As ANSISTRING User ID of one or more blind copy recipients. Separate multiple recipients with commas.(Optional) From As ANSISTRING Name of person scheduling the appointment. (Optional) IsRouted As ENUM Route mail item to two or more users in turn. (Optional) 0 No 1 Yes ViewName As ANSISTRING Name of a Mail view. For example, "Expanded Mail", or the name of a custom view. Parameter also accepts a filename. (Optional) AttachListHasDisplayNames As ENUM (Optional) 0 No 1 Yes and the Attach parameter must include the filename and display name for each attachment, respectively. UserID As ANSISTRING Use this parameter to schedule an appointment from a proxy mailbox. (Optional) MessageIDs As ANSISTRING Attach encapsulated items. Separate multiple message IDs with a comma. (Optional) MessageIsFile As ENUM Message parameter contains a filename. (Optional) 0 No 1 Yes SubjectIsFile As ENUM Subject parameter contains a filename. (Optional) 0 No 1 Yes ViewNameIsFile As ENUM ViewName parameter contains a filename. (Optional) 0 No 258 1 Yes AttachmentsArePersonal As ENUM (Optional) 0 No 1 Yes OleAttach As ANSISTRING (Optional) SenderID As ANSISTRING (Optional) Return Values IDforEnvSentMessageID DWORD. Staged message ID for tracking a mail item. Use EnvSentMessageID() token to get actual message ID of the mail item. Remarks The message body field (in the Message View and the Object API) has a limit of 32,000 characters. The Message View will stop accepting data after 32,000 characters. 259