Appendix B – Alameda CERT

advertisement
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
Download