Data handover and drills
UAT 364 Unmanned Aircraft Systems Technology for Public Safety and Emergency Management
Lesson
By the end of this module you will be able to
- Use the item statuses pending, confirmed and closed with evidence
- Separate original, operational and public data versions to protect victims
- Check incident lists before handover for duplicate IDs, wrong coordinates and confirmations without a reviewer
- Design drills, measure results and run after-action reviews with owners for improvements
Why this matters
A pin on a map with no source, no time and no indication of whether it is confirmed can send rescue teams to the wrong place or, worse, let images showing victims’ faces and locations leak to the public. Good data handover tells recipients how far the data can be trusted, and regular drills make the team able to do it on the day.
Item status
The knowledge unit on handing data to the command post defines statuses the team must share: pending means not yet confirmed; confirmed must name the reviewer and time; closed must give a reason. Closing an item does not always mean the area is safe; it may mean it has been passed to another unit.
Example 1. Checking an incident list before handover
A hypothetical CSV of incident items, checked for duplicate IDs, locations outside the area, missing times and confirmations without a reviewer.
import csv
import io
data = """id,time,lat,lon,status,reviewer
EV01,2026-09-20T08:05+07:00,14.052,100.612,confirmed,R02
EV02,2026-09-20T08:20+07:00,14.061,100.598,pending,
EV02,2026-09-20T08:31+07:00,14.049,100.620,pending,
EV03,,14.055,100.605,pending,
EV04,2026-09-20T09:02+07:00,41.055,100.605,pending,
EV05,2026-09-20T09:15+07:00,14.058,100.611,confirmed,
"""
LAT, LON = (14.0, 14.1), (100.55, 100.65) # assumed incident area bounds
seen, problems = set(), []
for row in csv.DictReader(io.StringIO(data)):
rid = row["id"]
if rid in seen:
problems.append((rid, "duplicate id"))
seen.add(rid)
if not row["time"]:
problems.append((rid, "missing time"))
if not (LAT[0] <= float(row["lat"]) <= LAT[1] and LON[0] <= float(row["lon"]) <= LON[1]):
problems.append((rid, "outside incident area"))
if row["status"] == "confirmed" and not row["reviewer"]:
problems.append((rid, "confirmed without reviewer"))
for rid, p in problems:
print(f"{rid}: {p}")
print(f"{len(problems)} problems in {len(seen)} ids -> hold these rows, do not fill in data")
EV02: duplicate id
EV03: missing time
EV04: outside incident area
EV05: confirmed without reviewer
4 problems in 5 ids -> hold these rows, do not fill in data
EV04 probably has its latitude digits swapped (41 instead of 14), but the checker must not correct it; hold the item and ask the source. EV05 claims to be confirmed with no reviewer, so it must be downgraded to pending.
Three data versions
Chapter 7 of the ICRC Handbook on Data Protection in Humanitarian Action (3rd ed., 2024), on drones and remote sensing, points out that drone imagery may disclose personal data and affect community trust. Teams should therefore separate data by recipient.
Removing names from the text alone may not be enough if the images or metadata still reveal locations. Originals are kept with a SHA-256 manifest (FIPS 180-4), as in UAT 361, and victims’ data is never uploaded to public tools just because they are free.
Drills and indicators
Tabletop drills use synthetic data with errors planted in advance, then measure how many the team finds, how many it misses and how long until the recipient understands the report. The knowledge unit on drills warns that these criteria are exercises, not team certification standards; flying skills can be measured with NIST’s standard test methods.
Example 2. Summarising three drill rounds
drills = [ # round, errors planted, found, minutes until recipient confirmed understanding
("D1", 8, 5, 52),
("D2", 8, 6, 41),
("D3", 8, 8, 33),
]
for name, planted, found, minutes in drills:
print(f"{name}: detected {found}/{planted} = {found / planted:.0%}, "
f"missed {planted - found}, report understood in {minutes} min")
first, last = drills[0], drills[-1]
print(f"time to understood report improved by {first[3] - last[3]} min "
f"({(first[3] - last[3]) / first[3]:.0%})")
D1: detected 5/8 = 62%, missed 3, report understood in 52 min
D2: detected 6/8 = 75%, missed 2, report understood in 41 min
D3: detected 8/8 = 100%, missed 0, report understood in 33 min
time to understood report improved by 19 min (37%)
Logs and after-action review
The knowledge unit on logs and debriefing draws on the documentation, records and occurrence handling sections of CAAT’s operations manual guidance. It separates three kinds of record: events (time, source, observation, decision), defects, and improvements with an owner, review date and closing evidence. The review compares what was expected with what happened; it is not a search for someone to blame. Improvements must be checkable: “add a reviewer before items are sent” is clearer than “everyone should be more careful”.
Module lab
Lab: a full flood incident drill
- The instructor prepares a synthetic dataset with planted errors; the team checks it with Example 1 and by eye
- Prepare the three data versions and record what was removed from the public version and why
- Hand over to the “command post” and time how long until the recipient confirms understanding
- Keep event, defect and improvement logs, then run an after-action review
- Repeat the drill at least twice and summarise the results with Example 2
Common mistakes
Watch out
- Filling in missing data yourself instead of holding the item
- Confirming items without a reviewer
- Sending the original to every recipient group
- Using the after-action review to find someone to blame
- Closing improvements without evidence
Summary
- Pending, confirmed and closed statuses need a reviewer, time and reason
- Separate original, operational and public versions to protect victims
- Check lists before handover; hold items lacking evidence rather than filling them in
- Drill with planted errors, measure results, and improve with owners and evidence
Check your understanding
- 10 errors were planted and the team found 7. What is the detection rate?
- What should happen to an item marked confirmed with no reviewer?
- Which version should have victims’ faces and locations removed?
- A coordinate appears to be mistyped. Should the checker correct it?
- What should a good improvement after a review include?
Answers
- Downgrade it to pending until a reviewer confirms it
- The public version
- No; hold the item and ask the source
- An owner, a review date and closing evidence
Key formulas
| Error detection rate |
Key references
- Marelli, M. (Ed.). (2024). Drones/UAVs and remote sensing. In Handbook on data protection in humanitarian action (3rd ed., ch. 7). ICRC; Cambridge University Press. link
- World Food Programme. (2020, January 31). Joining the dots: How AI and drones are transforming emergencies. link
- สำนักงานการบินพลเรือนแห่งประเทศไทย. (2565). รูปแบบคู่มือปฏิบัติการบินของอากาศยานซึ่งไม่มีนักบิน (CAAT-GM-UAS-001, Issue 01 Rev 00). link
- National Institute of Standards and Technology. Standard test methods for small unmanned aircraft systems (aerial drone tests). link
- Rahnemoonfar, M., Chowdhury, T., Sarkar, A., Varshney, D., Yari, M., & Murphy, R. R. (2021). FloodNet: A high resolution aerial imagery dataset for post flood scene understanding. IEEE Access, 9, 89644–89654. link
- National Institute of Standards and Technology. (2015). Secure hash standard (SHS) (FIPS 180-4). link
Further reading
Study the assigned knowledge units in advance, review media and take the module quiz
Delivering data to command centres and protecting victims
Computer-based mission drills and team evaluation
Logs, handover and post-mission debrief
In class / field
Intensive lab and field practice recorded in a lab notebook
Learning evidence: Lab notebook signed by the instructor