| 1 | == Incident Command System == |
| 2 | Required in the U.S. for disaster response. |
| 3 | This is a bit of brainstorming on what is needed to fit into ICS for use by Citizen Corps programs (CERT, Neighborhood Watch, etc.) |
| 4 | Initial version not quite done... |
| 5 | |
| 6 | == Components == |
| 7 | * Location: address, coordinate, postal info |
| 8 | * Person: individual |
| 9 | * Role: hierarchy of structure and command |
| 10 | * Organization: companies, agencies, etc., with inter-relationships |
| 11 | * Membership: relationship of people to organizations |
| 12 | * Incident: deployment, training, exercise, debriefing, etc. |
| 13 | * Credential: training, certification, vaccinations, etc. |
| 14 | * Prerequisite: what credentials needed before a person can participate in an incident |
| 15 | * Event: what happened at a particular time and place; logging |
| 16 | * Equipment: personal and organizational gear |
| 17 | * Resource: supplier of equipment, skills, etc. |
| 18 | * Project: workflow for planning and management |
| 19 | * Email: contact info |
| 20 | * Phone: contact info |
| 21 | * Web page: associated with people, organizations, resources |
| 22 | |
| 23 | |
| 24 | == Functions == |
| 25 | * Add, modify, remove each kind of component |
| 26 | * Alerting - instant messaging, SMS, printed phone tree generation |
| 27 | * Export KML data to maps |
| 28 | * Calendar |
| 29 | * Dashboards for incidents, teams, resources, projects |
| 30 | * ICS/NIMS forms |
| 31 | * Access control |
| 32 | * MORE TBD |
| 33 | |
| 34 | == Table structures == |
| 35 | |
| 36 | '''PERSON''' |
| 37 | ||person_id||PK|| |
| 38 | ||person_login||CHAR|| |
| 39 | ||person_password|| || |
| 40 | ||person_title||CHAR|| |
| 41 | ||first_name||CHAR|| |
| 42 | ||person_nickname||CHAR|| |
| 43 | ||last_name||CHAR|| |
| 44 | ||photo||BLOB|| |
| 45 | ||web_page||FK page_id|| |
| 46 | ||twitter||FK page_id|| |
| 47 | ||facebook||FK page_id|| |
| 48 | ||physical_limitations||TEXT|| |
| 49 | ||comments||TEXT|| |
| 50 | ||gender||ENUM(m, f)|| |
| 51 | ||birthdate||DATE|| |
| 52 | ||status||ENUM(interested, pending, active, related) # related is for people who are in the database but not part of a team|| |
| 53 | ||emergency_contact||FK person_id|| |
| 54 | |
| 55 | '''ROLE''' |
| 56 | ||role_id||PK|| |
| 57 | ||ICS_level||ENUM(Command, Section, Division, Individual)|| |
| 58 | ||ICS_role||ENUM(PIO, Safety, Operations, Planning, Logistics, Intelligence, Finance/Admin)|| |
| 59 | ||manager||ENUM(camp, shelter, etc.)??|| |
| 60 | ||subordinate||ENUM(assistant, deputy)|| |
| 61 | ||team_role||ENUM(division leader, block leader...)|| |
| 62 | ||citizen_corps_role||ENUM(board member, working group, donor)|| |
| 63 | |
| 64 | '''LIAISON''' |
| 65 | # perhaps part of logging? |
| 66 | ||liaison_id||PK|| |
| 67 | ||person_id||FK|| |
| 68 | ||organization_id1||FK|| |
| 69 | ||organization_id2||FK|| |
| 70 | ||when_assigned||DATETIME|| |
| 71 | ||when_unassigned||DATETIME|| |
| 72 | |
| 73 | '''ACCESS_CONTROL''' |
| 74 | TBD |
| 75 | |
| 76 | '''PERSON_ROLE''' |
| 77 | ||person_id||FK|| |
| 78 | ||role_id||FK|| |
| 79 | ||function||ENUM (Command, Operations, Planning, Logistics, Finance/Admin, Intelligence/Investigation)|| |
| 80 | ||role_assigned||DATETIME|| |
| 81 | ||reports_to||FK person_id|| |
| 82 | |
| 83 | '''EQUIPMENT''' |
| 84 | ||equipment_id||PK|| |
| 85 | ||equipment_name||CHAR|| |
| 86 | ||equipment_type||ENUM (HT, mobile radio, antenna, first aid kit, boots, backpack...)|| |
| 87 | ||equipment_category||ENUM (communications, PPE, medical, SAR...)|| |
| 88 | |
| 89 | '''PERSON_EQUIPMENT''' |
| 90 | # Equipment that volunteers have or should have. |
| 91 | ||person_id||PK|| |
| 92 | ||equipment_id||FK|| |
| 93 | ||quantity||INT|| |
| 94 | |
| 95 | '''ADDRESS''' |
| 96 | ||address_id||PK|| |
| 97 | ||address_type||ENUM (home, work, incident, organization, company, division)|| |
| 98 | ||address||CHAR|| |
| 99 | ||address2||CHAR|| |
| 100 | ||city|CHAR||| |
| 101 | ||county||CHAR|| |
| 102 | ||state/province||CHAR|| |
| 103 | ||country||CHAR|| |
| 104 | ||postal_code||CHAR|| |
| 105 | ||longitude|||| |
| 106 | ||latitude|||| |
| 107 | ||last_updated||(DATE)|| |
| 108 | |
| 109 | '''PERSON_ADDRESS''' |
| 110 | ||person_id||FK|| |
| 111 | ||address_id||FK|| |
| 112 | ||organization_id||FK|| |
| 113 | ||address_type||ENUM(home, work, organization)|| |
| 114 | |
| 115 | '''PERSON_ORGANIZATION''' |
| 116 | ||person_id||FK|| |
| 117 | ||organization_id||FK|| |
| 118 | ||active||BOOLEAN |
| 119 | ||leader||BOOLEAN |
| 120 | ||title||CHAR|| |
| 121 | ||membership_started||DATE|| |
| 122 | ||membership_expires||DATE|| |
| 123 | |
| 124 | '''EMAIL''' |
| 125 | ||email_id||PK|| |
| 126 | ||email_address||CHAR|| |
| 127 | ||email_type||ENUM(normal, pager)|| |
| 128 | ||last_updated||DATE|| |
| 129 | |
| 130 | '''PERSON_EMAIL''' |
| 131 | ||person_id||FK|| |
| 132 | ||email_id||FK|| |
| 133 | |
| 134 | '''PHONE''' |
| 135 | # Can belong to person, organization, resource |
| 136 | ||phone_id||PK|| |
| 137 | ||phone_type||ENUM(home, work, mobile, other)|| |
| 138 | ||area_code||INT|| |
| 139 | ||number||INT|| |
| 140 | ||extension||INT|| |
| 141 | ||service_provider||CHAR|| |
| 142 | ||confidential||BOOLEAN|| |
| 143 | ||primary||BOOLEAN|| |
| 144 | ||24_7||BOOLEAN|| |
| 145 | ||last_updated||DATE|| |
| 146 | ||organization_id||FK|| |
| 147 | ||resource_id||FK|| |
| 148 | ||time_of_day||ENUM(any, day, night)|| |
| 149 | ||comments||TEXT|| |
| 150 | |
| 151 | '''PERSON_PHONE''' |
| 152 | ||person_id||FK|| |
| 153 | ||phone_id||FK|| |
| 154 | |
| 155 | '''CREDENTIAL''' |
| 156 | # Any kind of certificate, training, other prerequisite associated with a person |
| 157 | ||credential_id||PK|| |
| 158 | ||credential_name||CHAR|| |
| 159 | ||credential_description||TEXT|| |
| 160 | ||credential_type||ENUM(communications, ICS, EMS, SAR, CERT, vaccination...)|| |
| 161 | |
| 162 | '''PERSON_CREDENTIAL''' |
| 163 | ||person_id||FK|| |
| 164 | ||credential_id||FK|| |
| 165 | ||issuing_organization_id||FK|| |
| 166 | ||completion_date||DATE|| |
| 167 | ||verified_by||FK person_id|| |
| 168 | ||verified_date||DATE|| |
| 169 | ||credential_expires||DATE|| |
| 170 | ||credential_certificate_id||CHAR|| |
| 171 | |
| 172 | '''INCIDENT''' |
| 173 | ||incident_id||PK|| |
| 174 | ||incident_name||TEXT|| |
| 175 | ||planned||BOOLEAN|| |
| 176 | ||incident_description||TEXT|| |
| 177 | ||incident_comments||TEXT|| |
| 178 | ||activation_code||CHAR|| |
| 179 | ||incident_contact||FK person_id|| |
| 180 | ||incident_type_id||FK|| |
| 181 | ||location_id||FK|| |
| 182 | ||address_id||FK|| |
| 183 | ||incident_page||FK page_id|| |
| 184 | ||twitter_hashtag|||| |
| 185 | |
| 186 | INCIDENT_TYPES |
| 187 | ||incident_type_id||PK|| |
| 188 | ||incident_category||ENUM (preparedness, response)|| |
| 189 | ||incident_type||ENUM(fire, flood, earthquake, medical, evacuation, terrorism, other emergency, critical incident debrief, operational debrief, class, seminar, workshop, game, training, table-top exercise, functional exercise, full-scale exercise)|| |
| 190 | ||incident_geography||ENUM(neighborhood, city, county, region, state, national, global)|| |
| 191 | |
| 192 | PAGE |
| 193 | # web pages |
| 194 | ||page_id||PK|| |
| 195 | ||URL||CHAR|| |
| 196 | ||title||CHAR|| |
| 197 | ||description||TEXT|| |
| 198 | ||last_reviewed||DATE|| |
| 199 | |
| 200 | '''PERSON_INCIDENT''' |
| 201 | ||person_id||FK|| |
| 202 | ||incident_id||FK|| |
| 203 | ||notified||DATETIME|| |
| 204 | ||committed||DATETIME|| |
| 205 | ||committed_by||FK person_id || |
| 206 | ||arrived||DATETIME|| |
| 207 | ||departed||DATETIME|| |
| 208 | ||met_requirements||BOOLEAN|| |
| 209 | ||verified_by||FK person_id|| |
| 210 | |
| 211 | '''INCIDENT_EVENT''' |
| 212 | # Logging - most of this will probably happen on paper, then transcribed |
| 213 | ||event_id||PK|| |
| 214 | ||event_type||ENUM(person, resource, objective, assessment, situation report, status_report, strategy, intelligence, incident location, incident command, incident base, joint information center)|| |
| 215 | ||incident_id||FK|| |
| 216 | ||person_id||FK|| |
| 217 | ||person_event||ENUM (notified, en-route, checked_in, assigned, rehab, demobilized, available)|| |
| 218 | ||role_id||FK|| |
| 219 | ||address_id||FK|| |
| 220 | ||resource_id||FK|| |
| 221 | ||authority||FK person_id|| |
| 222 | ||incident_timestamp||DATETIME|| |
| 223 | ||public||BOOLEAN|| |
| 224 | ||incident_communications_primary||CHAR|| |
| 225 | ||incident_communications_secondary||CHAR|| |
| 226 | ||comment||TEXT|| |
| 227 | |
| 228 | '''INCIDENT_PREREQUISITE''' |
| 229 | # qualifications, training, etc. |
| 230 | ||incident_id||FK|| |
| 231 | ||prerequisite_id||FK|| |
| 232 | ||required||ENUM(True, recommended)|| |
| 233 | |
| 234 | '''ASSIGNMENT''' |
| 235 | ||assignment_id||PK|| |
| 236 | ||incident_id||FK|| |
| 237 | ||assignment_description||TEXT|| |
| 238 | |
| 239 | '''ASSIGNMENT_PERSON''' |
| 240 | ||assignment_id||FK|| |
| 241 | ||person_id||FK|| |
| 242 | ||assigned_when||DATETIME|| |
| 243 | ||removed_when||DATETIME|| |
| 244 | |
| 245 | '''ORGANIZATION''' |
| 246 | # Companies, government agencies, etc. - association or group of people with like objectives |
| 247 | ||organization_id||PK|| |
| 248 | ||organization_name||CHAR|| |
| 249 | ||organization_phone||FK|| |
| 250 | ||organization_page||FK|| |
| 251 | ||organization_type||ENUM(company, foundation, government agency, NGO, responder)|| |
| 252 | ||organization_purpose||ENUM(medical, supplies, elder care, child care, church, shelter, school, public works, communications, transportation, firefighting, emergency management, mass care/emergency assistance/housing/human services, logistics, public health, SAR, hazardous materials, agriculture/natural resources, energy, law enforcement, long-term recovery)|| |
| 253 | ||vulnerable_population||ENUM (children, elderly, disabled)|| |
| 254 | ||donor||BOOLEAN|| |
| 255 | ||parent_organization||FK organization_id|| |
| 256 | ||organization_scope||ENUM(neighborhood, city, county, state, national, global)|| |
| 257 | |
| 258 | '''ORGANIZATION_SERVICE_AREA''' |
| 259 | # Geographic description of areas that an organization serves: TBD |
| 260 | |
| 261 | '''RESOURCE''' |
| 262 | ||resource_id||PK|| |
| 263 | ||resource_name||CHAR|| |
| 264 | ||resource_page||FK page_id|| |
| 265 | ||resource_type||ENUM(web site, park, storage, fire station, gas station, atm, water)|| |
| 266 | ||resource_scope||ENUM(neighborhood, city, county, state, national, global)|| |
| 267 | ||category||ENUM(training, operations, discussion, communications)|| |
| 268 | |
| 269 | '''RESOURCE_ADDRESS''' |
| 270 | ||resource_id||FK|| |
| 271 | ||address_id||FK|| |
| 272 | |
| 273 | '''RESOURCE_PERSON''' |
| 274 | ||resource_id||FK|| |
| 275 | ||person_id||FK|| |
| 276 | ||primary_contact||BOOLEAN |
| 277 | |
| 278 | '''RESOURCE_ORGANIZATION''' |
| 279 | ||resource_id||FK|| |
| 280 | ||organization_id||FK|| |
| 281 | |
| 282 | '''PROJECT''' |
| 283 | ||project_id||PK|| |
| 284 | ||project_name||CHAR|| |
| 285 | ||project_category||ENUM(planning, supplies, finance, logistics...)|| |
| 286 | |
| 287 | '''PROJECT_PERSON''' |
| 288 | ||project_id||FK|| |
| 289 | ||project_name||TEXT|| |
| 290 | |
| 291 | '''DIVISION''' |
| 292 | ||division_id||PK|| |
| 293 | ||division_number|||| |
| 294 | ||division_name||CHAR|| |
| 295 | ||division_command_address_id||FK|| |
| 296 | ||primary_frs_channel|||| |
| 297 | ||primary_frs_pl|||| |
| 298 | ||tactical_frs_channel|||| |
| 299 | ||tactical_frs_pl|||| |