[[TOC]] == Incident Command System (United States) == Required in the U.S. for disaster response. Because one of the principles of ICS is that it can be used for all sorts of "incidents," including training, exercises, etc., this model treats everything it possibly can as an incident, using incident types to distinguish. Part of the intent is to encourage teams to use ICS regularly. === ICS / NIMS === FEMA (US Emergency Response) free online training (exam available only for US citizens, or International members of IAEM) * [http://training.fema.gov/EMIWeb/IS/IS100b.asp ICS 100] - Introduction to ICS (Incident Command System) * [http://training.fema.gov/emiweb/is/is700a.asp ICS 700] - Introduction to NIMS (National Incident Management System) * [http://training.fema.gov/emiweb/is/is800b.asp ICS 800] - Introduction to NRF (National Response Framework) * [http://training.fema.gov/EMIWeb/IS/is101a.asp ICS 101] - Deployment Basics (individual preparation) * [http://training.fema.gov/emiweb/is/is701a.asp ICS 701] - NIMS Multiagency Coordination System * [http://training.fema.gov/emiweb/is/is702a.asp ICS 702] - NIMS Public Information Systems * [http://training.fema.gov/emiweb/is/is703a.asp ICS 703] - NIMS Resource Management * [http://training.fema.gov/emiweb/is/is704.asp ICS 704] - NIMS Communications and Information Management * [http://emilms.fema.gov/IS100b/indexMenu.htm ICS 200] - Single Resources and Initial Action Incidents (for supervisors) Forms: * http://training.fema.gov/EMIWeb/IS/ICSResource/ICSResCntr_Forms.htm NB What is called an 'Incident' in ICS is what Eden currently calls an 'Event'. An article on ICS: * http://herbertcole.wordpress.com/2011/06/27/ics-simplified/ ==== Preparedness ==== ''Effective emergency management and incident response activities begin with a host of preparedness activities conducted on an ongoing basis, in advance of any potential incident. Preparedness involves an integrated combination of '''assessment'''; '''planning'''; '''procedures and protocols'''; '''training and exercises'''; '''personnel qualifications'''; '''equipment certification'''; and evaluation and revision.'' * Protocols are rules for knowing what level of delegated authority a trained person has to operate before referring to a superior. * Credentialing involves an objective evaluation and documentation of an individual's: * Current certification, license, or degree * Training and experience * Competence or proficiency * Medical Fitness * Procedural Documents * Standard Operating Procedure or Operations Manual: ''Complete reference document that provides the purpose, authorities, duration, and details for the preferred method of performing a single function or a number of interrelated functions in a uniform manner.'' * Field Operations Guide or Incident Management Handbook: ''Durable pocket or desk guide that contains essential information required to perform specific assignments or functions.'' * Mobilization Guide: ''Reference document used by agencies/organizations outlining agreements, processes, and procedures used by all participating organizations for activating, assembling, and transporting resources.'' * Job Aid: ''Checklist or other visual aid intended to ensure that specific steps for completing a task or assignment are accomplished. Job aids serve as training aids to teach individuals how to complete specific job tasks.'' We should support Exercises easily (prefix on messages, watermark on records). Event data (whether real or Exercise) should be visible only within that Event (filtered out like deletion_status) ==== Communications and Information Management ==== ''Emergency management and incident response activities rely on communications and information systems that provide a common operating picture to all command and coordination sites. NIMS describes the requirements necessary for a standardized framework for communications and emphasizes the need for a '''common operating picture'''. This component is based on the concepts of '''interoperability''', '''reliability''', '''scalability''', and '''portability''', as well as the resiliency and '''redundancy''' of communications and information systems.'' Common operating picture including the '''availability and location of resources''' and the '''status of assistance requests'''. ==== Resource Management ==== ''Resources (such as '''personnel''', '''equipment''', '''supplies''' and '''facilities''') are needed to support critical incident objectives. The flow of resources must be fluid and adaptable to the requirements of the incident. NIMS defines standardized mechanisms and establishes the resource management process to '''identify requirements''', '''order and acquire''', '''mobilize''', '''track and report''', '''recover and demobilize''', '''reimburse''', and '''inventory''' resources.'' [[Image(Resource Ordering.png)]] '''Credentialing''': * entails the objective evaluation and documentation of an individual’s current certification, license, or degree; training and experience; and competence or proficiency to meet nationally accepted standards, provide particular services and/or functions, or perform specific tasks under specific conditions during an incident. Resources are identified by standard: * '''Type''' - specifically defines the level of capability a resource has. Type may vary by power, size, or capacity. Therefore, assigning a Type 1 label to a resource implies that it has a greater level of capability than a Type 2 of the same resource. The National Resource Typing definitions are broken into four distinct types. In some cases, a resource may have less than or more than four types. The type assigned to a resource or a component is based on a minimum level of capability described by the identified metric(s) for that resource. * '''Category''' - describes the function for which a resource would be most useful (list as of June 2007): * Transportation * Communications * Public works and engineering * Firefighting * Information and planning * Law enforcement and security * Mass care * Resource management * Health and medical * Search and rescue * Hazardous materials response * Food and water * Energy * Public information * Animals and agricultural issues * Volunteers and donations * '''Kind''' (broad classes that characterize like resources): * teams * equipment * supplies * vehicles * aircraft * '''Tier''': * Tier-I (Capable of being requested for National responses) * Tier-II (Capable only for Intra-State responses) Although different formats may exist, every '''Resource Order''' should contain the essential elements of information (a good mnemonic is SALTT: Size, Amount, Location, Type, Time): * Incident name * Order and/or request number (if known or assigned) * Date and time of order * Quantity, kind, and type or detailed mission description (Resources should be ordered by Task Forces or Strike Teams when appropriate.) Include any special support needs. * Reporting location (specific) * Requested time of delivery (specific, immediate vs. planned, not ASAP) * Radio frequency to be used * Person/title placing request * Callback phone number or radio designation for clarifications or additional information Mobilization notifications should include: * The date, time, and place of departure. * Mode of transportation to the incident. * Estimated date and time of arrival. * Reporting location (address, contact name, and phone number). * Anticipated incident assignment. * Anticipated duration of deployment. * Resource order number. * Incident number. * Applicable cost and funding codes. '''Resource Tracking''': * The Planning Section is responsible for tracking all resources assigned to the incident and their status: * Assigned – Currently working on an assignment under the direction of a supervisor * Available – Ready for immediate assignment and has been issued all required equipment * Out of Service – Not available or ready to be assigned (e.g., maintenance issues, rest periods) * The Operations Section is responsible for tracking the movement of resources within the Operations Section itself. ==== Command and Management ==== ''The Command and Management component of NIMS is designed to enable effective and efficient incident management and coordination by providing a flexible, standardized incident management structure. The structure is based on three key organizational constructs: the '''Incident Command System''', '''Multiagency Coordination Systems''', and '''Public Information'''.'' * Common Language (plain English) * Facility types (Office Types? Different Icons): * Incident Command Posts, Bases, Camps, Staging Areas, mass casualty triage areas, point-of-distribution sites * Manage by Objectives * Incident Action Plan (Document Library + Wiki?) * Flexible Org charts (predefined optional roles to delegate areas to) * each person has only a single superior * manageable span of control (3-7 subordinates) * Staff need to check-in & check-out (like we do for Shelters) * Provide a 'Public Bulletin' area of the site (frontpage?) '''Incident Action Plan''': * Development of incident objectives and strategy. * Development of tactics and resource assignments. * Detailed incident and resource assessment, including safety concerns. * Required logistical support. * Consideration of public information and interagency issues. * Documentation of assignments and required support on the written IAP. * Monitored implementation. '''Check-In''': * Date and time of check-in. * Name of resource. * Home base. * Departure point. * Order number and resource filled. * Resource Leader name and personnel manifest (if applicable). * Other qualifications. * Travel method. '''Demobilization''': * Performance Rating by Senior (& signed by Individual) [[Image(Demobilization Responsibilities.png)]] '''Requests for assistance''' (outside jurisdiction) should include the following information: * The type of incident * The time that the incident occurred or is expected to occur * The actions already taken * The areas and number of people involved * Estimates of loss of life, injuries, and extent of damage * The type and amount of assistance required * A contact for followup questions '''Public Information''': * Gathering information * Verifying information * Coordinating information (inc key messages, sign-off) * Disseminating information ---- == User Stories == * BluePrintScenario ---- == Design == === Components === 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 * 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 * Keep track of who is active, by neighborhood and city; ping inactive people * 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 * Per-volunteer web pages (wiki) with controls on what to make public, links to social network sites * MORE TBD === Table structures === A brainstorm on possible DB schema: '''person''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||person_title||VARCHAR(40)|| ||first_name||VARCHAR(40)||NOT NULL|| ||last_name||VARCHAR(40)||NOT NULL|| ||nickname||VARCHAR(40)|| ||photo||BLOB|| ||physical_limitations||TEXT|| ||comments||TEXT|| ||gender||ENUM(m,f)|| ||birthdate||DATE|| ||status||ENUM('interested_volunteer,pending_volunteer,active_volunteer,inactive_volunteer,liason,contact')||NOT NULL|| ||emergency_contact||INTEGER(8)||UNSIGNED|| ||credential_id||INTEGER(8)||UNSIGNED|| ||phone_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(person_id)|| ||UNIQUE KEY||IDX_person1(person_id)|| ||KEY||IDX_person2(person_id,credential_id)|| ||KEY||IDX_person3(person_id,phone_id)|| '''role''' ||role_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||ics_level||ENUM('Command,Section,Division,Individual')|| ||ics_role||ENUM('PIO,Safety,Operations,Planning,Logistics,Intelligence,Finance/Admin')|| ||PRIMARY KEY||(role_id)|| ||UNIQUE KEY||IDX_role1(role_id)|| '''equipment''' ||equipment_id||INTEGER(8)||UNSIGNED|| ||equipment_name||VARCHAR(40)||NOT NULL|| ||person_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(equipment_id)|| ||KEY||IDX_equipment1(person_id,equipment_id)|| '''equipment_type''' ||equipment_type_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||equipment_type||VARCHAR(40)||NOT NULL|| ||equipment_category||VARCHAR(40)||NOT NULL|| ||PRIMARY KEY||(equipment_type_id)|| COMMENT='Types include things like handie-talkie,first aid kit,boots,gloves. Categories include things like communications,PPE,medical,SAR.'; '''location''' ||location_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||location_type||ENUM('home,work,incident,organization,company,division,shelter,camp,command post,resource')||NOT NULL|| ||street_address||VARCHAR(100)|| ||street_address2||VARCHAR(100)|| ||city||VARCHAR(50)|| ||county||VARCHAR(50)|| ||postal_code||VARCHAR(40)|| ||longitude||VARCHAR(40)|| ||latitude||VARCHAR(40)|| ||last_update||DATE|| ||organization_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(location_id,location_type)|| ||UNIQUE KEY||IDX_location1(location_id,location_type)|| ||KEY||IDX_location2(organization_id,location_id)|| '''person_location''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||location_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||location_type||ENUM('home,work,other')||NOT NULL|| ||comments||TEXT|| ||PRIMARY KEY||(person_id,location_id,location_type)|| ||KEY||IDX_person_location1(location_id,location_type)|| ||KEY||IDX_person_location2(person_id)|| '''incident''' ||incident_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||planned||BOOL|| ||descriptiion||TEXT|| ||comments||TEXT|| ||activation_code||VARCHAR(10)|| ||incident_primary_contact||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(incident_id)|| ||UNIQUE KEY||IDX_incident1(incident_id)|| COMMENT='planned events,training,emergencies,shelters,etc.'; '''tag''' ||tag_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||description||TEXT|| ||PRIMARY KEY||(tag_id)|| ||UNIQUE KEY||IDX_tag1(tag_id)|| COMMENT='Tags used in Twitter,etc.'; '''incident_tag''' ||incident_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||tag_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||PRIMARY KEY||(incident_id,tag_id)|| ||KEY||IDX_incident_tag1(incident_id)|| ||KEY||IDX_incident_tag2(tag_id)|| '''event''' ||event_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||category_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||event_type_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||description||TEXT|| ||PRIMARY KEY||(event_id,category_id,event_type_id)|| ||KEY||IDX_event1(category_id)|| ||KEY||IDX_event2(event_type_id)|| ||UNIQUE KEY||IDX_event3(event_id,category_id,event_type_id)|| COMMENT='Things that happen before,during,after incidents. Command change,assessment,assignment,relief,demobilize,rehab'; '''event_category''' ||category_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||category_name||VARCHAR(40)|| ||description||TEXT|| ||PRIMARY KEY||(category_id)|| ||UNIQUE KEY||IDX_Entity_11(category_name)|| ||UNIQUE KEY||IDX_event_category2(category_id)|| COMMENT='Categories refer to incident resources - people,communications,equipment,supplies.'; '''event_type''' ||event_type_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||event_type_name||VARCHAR(40)|| ||description||TEXT|| ||PRIMARY KEY||(event_type_id)|| ||UNIQUE KEY||IDX_event_type1(event_type_id)|| COMMENT='Specific things that happen - assign people, make assessment, identify hazard,etc.'; '''incident_event''' ||incident_event_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||incident_id||INTEGER(8)||UNSIGNED|| ||event_id||INTEGER(8)||UNSIGNED|| ||person_id||INTEGER(8)||UNSIGNED|| ||role_id||INTEGER(8)||UNSIGNED|| ||location_id||INTEGER(8)||UNSIGNED|| ||resource_id||INTEGER(8)||UNSIGNED|| ||location_type||ENUM('home,work,incident,organization,company,division,shelter,camp,command||post,resource')|| ||category_id||INTEGER(8)||UNSIGNED|| ||event_type_id||INTEGER(8)||UNSIGNED|| ||starting_time||DATETIME||NOT NULL|| ||authority||INTEGER(8)||UNSIGNED|| ||communications_channel||INTEGER(8)||UNSIGNED|| ||comm_channel_id||INTEGER(8)||UNSIGNED|| ||tactical_name||VARCHAR(40)|| ||ending_time||DATE|| ||PRIMARY KEY||(incident_event_id)|| ||UNIQUE KEY||IDX_incident_event1(incident_id,event_id)|| ||KEY||IDX_incident_event2(person_id)|| ||KEY||IDX_incident_event3(location_id,location_type)|| ||KEY||IDX_incident_event4(event_id,category_id,event_type_id)|| ||KEY||IDX_incident_event5(incident_id)|| ||KEY||IDX_incident_event6(authority)|| ||KEY||IDX_incident_event7(comm_channel_id)|| ||KEY||IDX_incident_event8(role_id)|| COMMENT='Logging'; '''communication_channel''' ||comm_channel_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||channel_type||ENUM('HF,VHF,UHF,FRS')||NOT NULL|| ||tone||ENUM('#1 67.0,#2 71.9,#3 74.4,#4 77.0,#5 79.7,#6 82.5,#7 85.4,#8 88.5,#9 91.5,#10 94.8,#11 97.4,#12 100.0,#13 103.5,#14 107.2,#15 110.9,#16 114.8,#17 118.8,#18 123.0,#19 127.3,#20 131.8,#21 136.5,#22 141.3,#23 146.2,#24 151.4,#25 156.7,#26 162.2,#27 167.9,#28 173.8,#29 179.9,#30 186.2,#31 192.8,#32 203.5,#33 210.7,#34 218.1,#35 225.7,#36 233.6,#37 241.8,#38 250.3)|||| ||repeater_id||VARCHAR(10)|| ||repeater_offset||SMALLINT|| ||PRIMARY KEY||(comm_channel_id)|| ||UNIQUE KEY||IDX_communication_channel1(comm_channel_id))|| COMMENT='Ham and FRS frequencies,PLs,etc.'; '''liaison''' ||liaison_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||organization_id1||INTEGER(8)||UNSIGNED||NOT NULL|| ||organization_id2||INTEGER(8)||UNSIGNED||NOT NULL|| ||when_assigned||DATETIME||NOT NULL|| ||when_relieved||DATETIME|| ||PRIMARY KEY||(liaison_id)|| ||UNIQUE KEY||IDX_Entity_11(person_id,organization_id1,organization_id2,when_assigned)|| ||KEY||IDX_liaison2(person_id)|| ||UNIQUE KEY||IDX_liaison3(organization_id1)|| ||UNIQUE KEY||IDX_liaison4(organization_id2)|| '''organization''' ||organization_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||organization_name||VARCHAR(100)||NOT NULL|| ||organization_phone||INTEGER(8)||UNSIGNED|| ||organization_type||ENUM('business,foundation,elected government,government agency,utility,public works,school,medical care,NGO,law enforcement,fire,EMS,religious,search and rescue,hazmat,agricultural,food,building supplies,demolition,long-term recovery,child care,senior care,human services,logistics,communications,disabled care')|| ||vulnerable||ENUM('no,elderly,child,infant,disabled')|| ||donor||BOOL|| ||parent_organization||INTEGER(8)||UNSIGNED|| ||geographic_scope||ENUM('neighborhood,city,county,region,state,national,global')|| ||geographic_scope_name||VARCHAR(40)|| ||liaison_id||INTEGER(8)||UNSIGNED|| ||page_id||VARCHAR(40)||NOT NULL|| ||location_id||INTEGER(8)||UNSIGNED|| ||phone_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(organization_id)|| ||UNIQUE KEY||IDX_Entity_11(organization_name)|| ||KEY||IDX_organization2(organization_id,page_id)|| ||KEY||IDX_organization3(organization_id)|| ||KEY||IDX_organization4(organization_id,location_id)|| ||KEY||IDX_organization5(organization_id,phone_id)|| '''person_language''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||language_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||fluency||ENUM('mininal,conversational,advanced,native/fluent')||NOT NULL|| ||english_translator||BOOL|| ||PRIMARY KEY||(person_id)|| ||UNIQUE KEY||IDX_person_language1(person_id)|| '''language''' ||language_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||language_name||VARCHAR(50)||NOT NULL|| ||person_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(language_id)|| ||KEY||IDX_language1(person_id)|| '''organization_page''' ||organization_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||page_id||VARCHAR(40)||NOT NULL|| ||PRIMARY KEY||(organization_id,page_id)|| ||UNIQUE KEY||IDX_organization_page1(organization_id,page_id)|| '''page''' ||page_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||url||VARCHAR(255)|| ||description||VARCHAR(100)|| ||page_type||ENUM('Twitter,Facebook,YouTube,Wiki,Personal,Home')||NOT NULL|| ||organization_id||INTEGER(8)||UNSIGNED|| ||person_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(page_id)|| ||KEY||IDX_page1(organization_id,page_id)|| ||KEY||IDX_page2(person_id,page_id)|| '''person_organization''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||organization_id||ENUM('PIO,Safety,Operations,Planning,Logistics,Intelligence,Finance/Admin')||NOT NULL|| ||role_id||INTEGER(8)||UNSIGNED|| ||active||BOOL|| ||leader||BOOL|| ||membership_started||DATE|| ||membership_ends||DATE|| ||PRIMARY KEY||(person_id,organization_id)|| ||UNIQUE KEY||IDX_person_organization1(person_id)|| ||UNIQUE KEY||IDX_person_organization2(organization_id)|| '''person_page''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||page_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||PRIMARY KEY||(person_id,page_id)|| ||UNIQUE KEY||IDX_person_page1(person_id)|| ||UNIQUE KEY||IDX_person_page2(person_id,page_id)|| '''person_equipment''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||equipment_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||needs||INTEGER||UNSIGNED||NOT NULL||DEFAULT||1|| ||has||INTEGER||UNSIGNED||NOT NULL||DEFAULT||0|| ||PRIMARY KEY||(person_id,equipment_id)|| ||UNIQUE KEY||IDX_person_equipment1(person_id)|| ||UNIQUE KEY||IDX_person_equipment2(person_id,equipment_id)|| '''organization_location''' ||organization_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||location_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||PRIMARY KEY||(organization_id,location_id)|| ||UNIQUE KEY||IDX_organization_location1(organization_id,location_id)|| '''phone''' ||phone_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||area_code||INTEGER(4)||UNSIGNED||NOT NULL|| ||country_code||INTEGER||UNSIGNED||NOT NULL|| ||phone_number||INTEGER(8)||UNSIGNED||NOT NULL|| ||extension||INTEGER(6)||UNSIGNED|| ||service_provider||VARCHAR(40)|| ||confidential||BOOL||NOT NULL||DEFAULT||False|| ||primary||BOOL|| ||24_7||BOOL|| ||last_updated||DATE|| ||person_id||INTEGER(8)||UNSIGNED|| ||organization_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(phone_id)|| ||KEY||IDX_phone1(person_id,phone_id)|| ||KEY||IDX_phone2(organization_id,phone_id)|| '''credential''' ||credential_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||credential_name||VARCHAR(50)||NOT NULL|| ||credential_description||TEXT||NOT NULL|| ||credential_type||ENUM('communications,ICS,EMS,SAR,CERT,vaccination')||NOT NULL|| ||person_id||INTEGER(8)||UNSIGNED|| ||PRIMARY KEY||(credential_id)|| ||KEY||IDX_credential1(person_id,credential_id)|| '''person_credential''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||credential_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||issue_date||DATE||NOT NULL|| ||expires||DATE|| ||image||BLOB|| ||verified_by||INTEGER(8)||UNSIGNED||NOT NULL|| ||PRIMARY KEY||(person_id,credential_id)|| ||UNIQUE KEY||IDX_person_credential1(person_id,credential_id)|| '''person_phone''' ||person_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||phone_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||phone_type||ENUM('home,work,organization,other')||NOT NULL|| ||PRIMARY KEY||(person_id,phone_id)|| ||UNIQUE KEY||IDX_person_phone1(person_id,phone_id)|| '''organization_phone''' ||organization_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||phone_id||INTEGER(8)||UNSIGNED||NOT NULL|| ||phone_purpose||VARCHAR(75)|| ||PRIMARY KEY||(organization_id,phone_id)|| ||UNIQUE KEY||IDX_organization_phone1(organization_id,phone_id)|| ||UNIQUE KEY||IDX_organization_phone1(organization_id,phone_id)||