== Incident Command System == Required in the U.S. for disaster response. This is a bit of brainstorming on what is needed to fit into ICS for use by Citizen Corps programs (CERT, Neighborhood Watch, etc.) Initial version not quite done... still thinking about best way to organize people, roles, incidents, schedules... NDA == Components == * Location: address, coordinate, postal info * Person: individual * Role: hierarchy of structure and command * Organization: companies, teams, agencies, etc., with inter-relationships * Membership: relationship of people to organizations * Incident: deployment, training, exercise, debriefing, etc. * Credential: training, skill, certification, vaccinations, etc. * Prerequisite: what credentials needed before a person can participate in an incident * Event: what happened at a particular time and place; logging * Equipment: personal and organizational gear * Resource: supplier of equipment, skills, etc. * Project: workflow for planning and management * Email: contact info * Phone: contact info * Web page: associated with people, organizations, resources == Functions == * Add, modify, remove each kind of component * Generate lists of each kind of component * Print identification cards/badges * Select individuals by various criteria, then send notifications * Interface to calendar, recurring automatic emails for meeting notifications * Issue training certificate * Alerting - instant messaging, SMS, printed phone tree generation * Export KML data for mapping, with symbols * Dashboards for incidents, teams, resources, projects * Training reports - who needs which courses, what expires soon? * ICS/NIMS forms * Access control * Automatic data dump to forms suitable for laptops, mobile - cache critical data for when network is down. * Data import * MORE TBD == Table structures == '''PERSON''' ||person_id||PK|| ||person_login||CHAR|| ||person_password|| || ||person_title||CHAR|| ||first_name||CHAR|| ||person_nickname||CHAR|| ||last_name||CHAR|| ||photo||BLOB|| ||web_page||FK page_id|| ||twitter||FK page_id|| ||facebook||FK page_id|| ||physical_limitations||TEXT|| ||comments||TEXT|| ||gender||ENUM(m, f)|| ||birthdate||DATE|| ||status||ENUM(interested, pending, active, related) # related is for people who are in the database but not part of a team|| ||emergency_contact||FK person_id|| '''ROLE''' ||role_id||PK|| ||ICS_level||ENUM(Command, Section, Division, Individual)|| ||ICS_role||ENUM(PIO, Safety, Operations, Planning, Logistics, Intelligence, Finance/Admin)|| ||manager||ENUM(camp, shelter, etc.)??|| ||subordinate||ENUM(assistant, deputy)|| ||team_role||ENUM(division leader, block leader...)|| ||reports_to||FK person_id|| ||citizen_corps_role||ENUM(board member, working group, donor)|| '''LIAISON''' # perhaps part of logging? ||liaison_id||PK|| ||person_id||FK|| ||organization_id1||FK|| ||organization_id2||FK|| ||when_assigned||DATETIME|| ||when_unassigned||DATETIME|| '''ACCESS_CONTROL''' TBD '''PERSON_ROLE''' ||person_id||FK|| ||role_id||FK|| ||role_assigned||DATETIME|| '''EQUIPMENT''' ||equipment_id||PK|| ||equipment_name||CHAR|| ||equipment_type||ENUM (HT, mobile radio, antenna, first aid kit, boots, backpack...)|| ||equipment_category||ENUM (communications, PPE, medical, SAR...)|| '''PERSON_EQUIPMENT''' # Equipment that volunteers have or should have. ||person_id||PK|| ||equipment_id||FK|| ||quantity||INT|| '''LOCATION''' ||location_id||PK|| ||location_type||ENUM (home, work, incident, organization, company, division)|| ||street_address||CHAR|| ||street_address2||CHAR|| ||city|CHAR||| ||county||CHAR|| ||state/province||CHAR|| ||country||CHAR|| ||postal_code||CHAR|| ||longitude|||| ||latitude|||| ||last_updated||(DATE)|| '''PERSON_ADDRESS''' ||person_id||FK|| ||address_id||FK|| ||organization_id||FK|| ||address_type||ENUM(home, work, organization)|| '''PERSON_ORGANIZATION''' ||person_id||FK|| ||organization_id||FK|| ||active||BOOLEAN ||leader||BOOLEAN ||title||CHAR|| ||membership_started||DATE|| ||membership_expires||DATE|| '''EMAIL''' ||email_id||PK|| ||email_address||CHAR|| ||email_type||ENUM(normal, pager)|| ||last_updated||DATE|| '''PERSON_EMAIL''' ||person_id||FK|| ||email_id||FK|| '''PHONE''' # Can belong to person, organization, resource ||phone_id||PK|| ||phone_type||ENUM(home, work, mobile, other)|| ||area_code||INT|| ||number||INT|| ||extension||INT|| ||service_provider||CHAR|| ||confidential||BOOLEAN|| ||primary||BOOLEAN|| ||24_7||BOOLEAN|| ||last_updated||DATE|| ||organization_id||FK|| ||resource_id||FK|| ||time_of_day||ENUM(any, day, night)|| ||comments||TEXT|| '''PERSON_PHONE''' ||person_id||FK|| ||phone_id||FK|| '''CREDENTIAL''' # Any kind of certificate, training, other prerequisite associated with a person ||credential_id||PK|| ||credential_name||CHAR|| ||credential_description||TEXT|| ||credential_type||ENUM(communications, ICS, EMS, SAR, CERT, vaccination...)|| '''PERSON_CREDENTIAL''' ||person_id||FK|| ||credential_id||FK|| ||issuing_organization_id||FK|| ||completion_date||DATE|| ||verified_by||FK person_id|| ||verified_date||DATE|| ||credential_expires||DATE|| ||credential_certificate_id||CHAR|| '''INCIDENT''' ||incident_id||PK|| ||incident_name||TEXT|| ||planned||BOOLEAN|| ||incident_description||TEXT|| ||incident_comments||TEXT|| ||activation_code||CHAR|| ||incident_contact||FK person_id|| ||incident_type_id||FK|| ||location_id||FK|| ||address_id||FK|| ||incident_page||FK page_id|| ||twitter_hashtag|||| '''INCIDENT_TYPES''' ||incident_type_id||PK|| ||incident_category||ENUM (preparedness, response)|| ||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)|| ||incident_geography||ENUM(neighborhood, city, county, region, state, national, global)|| '''PAGE''' # web pages ||page_id||PK|| ||URL||CHAR|| ||title||CHAR|| ||description||TEXT|| ||last_reviewed||DATE|| '''PERSON_INCIDENT''' ||person_id||FK|| ||incident_id||FK|| ||notified||DATETIME|| ||committed||DATETIME|| ||committed_by||FK person_id || ||arrived||DATETIME|| ||departed||DATETIME|| ||met_requirements||BOOLEAN|| ||verified_by||FK person_id|| '''INCIDENT_ROLE''' # Volunteer slots to be filled ||incident_id||FK|| ||role_id||FK|| ||shift_id|| ||starting||DATETIME|| ||ending||DATETIME|| ||people_needed||INT|| '''INCIDENT_EVENT''' # Logging - most of this will probably happen on paper, then transcribed ||event_id||PK|| ||event_type||ENUM(person, resource, objective, assessment, situation report, status_report, strategy, intelligence, incident location, incident command, incident base, joint information center)|| ||incident_id||FK|| ||person_id||FK|| ||person_event||ENUM (notified, en-route, checked_in, assigned, rehab, demobilized, available)|| ||role_id||FK|| ||address_id||FK|| ||resource_id||FK|| ||authority||FK person_id|| ||incident_timestamp||DATETIME|| ||public||BOOLEAN|| ||incident_communications_primary||CHAR|| ||incident_communications_secondary||CHAR|| ||comment||TEXT|| '''ROLE_PREREQUISITE''' # qualifications, training, etc. ||incident_id||FK|| ||role_id||FK|| ||prerequisite_id||FK|| ||required||ENUM(True, recommended)|| '''CURRICULUM''' # Series of classes that typically would be taken together # Curriculum itself becomes a prerequisite ||curriculum_id||PK|| ||curriculum_name||CHAR|| ||incident_id||FK|| ||recommended_sequence||INT|| ||required||ENUM(Yes, Recommended|| '''ASSIGNMENT''' ||assignment_id||PK|| ||incident_id||FK|| ||assignment_description||TEXT|| '''ASSIGNMENT_PERSON''' ||assignment_id||FK|| ||person_id||FK|| ||assigned_when||DATETIME|| ||removed_when||DATETIME|| '''ORGANIZATION''' # Companies, government agencies, etc. - association or group of people with like objectives ||organization_id||PK|| ||organization_name||CHAR|| ||organization_phone||FK|| ||organization_page||FK|| ||organization_type||ENUM(company, foundation, government agency, NGO, responder)|| ||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)|| ||vulnerable_population||ENUM (children, elderly, disabled)|| ||donor||BOOLEAN|| ||parent_organization||FK organization_id|| ||organization_scope||ENUM(neighborhood, city, county, state, national, global)|| '''ORGANIZATION_SERVICE_AREA''' # Geographic description of areas that an organization serves: TBD '''RESOURCE''' ||resource_id||PK|| ||resource_name||CHAR|| ||resource_page||FK page_id|| ||resource_type||ENUM(web site, park, storage, fire station, gas station, atm, water)|| ||resource_scope||ENUM(neighborhood, city, county, state, national, global)|| ||category||ENUM(training, operations, discussion, communications)|| '''RESOURCE_ADDRESS''' ||resource_id||FK|| ||address_id||FK|| '''RESOURCE_PERSON''' ||resource_id||FK|| ||person_id||FK|| ||primary_contact||BOOLEAN '''RESOURCE_ORGANIZATION''' ||resource_id||FK|| ||organization_id||FK|| '''PROJECT''' ||project_id||PK|| ||project_name||CHAR|| ||project_category||ENUM(planning, supplies, finance, logistics...)|| '''PROJECT_PERSON''' ||project_id||FK|| ||project_name||TEXT|| '''DIVISION''' ||division_id||PK|| ||division_number|||| ||division_name||CHAR|| ||division_command_address_id||FK|| ||primary_frs_channel|||| ||primary_frs_pl|||| ||tactical_frs_channel|||| ||tactical_frs_pl||||