import React, { useState } from 'react';
import { AlertCircle, CheckCircle, Clock, User } from 'lucide-react';
const CheckInKiosk = () => {
const [step, setStep] = useState('welcome');
const [formData, setFormData] = useState({
firstName: '',
lastName: '',
dob: '',
symptoms: [],
severity: 'moderate'
});
const [assignedBand, setAssignedBand] = useState(null);
const symptoms = [
'Chest Pain', 'Difficulty Breathing', 'Severe Headache',
'Abdominal Pain', 'Fever', 'Nausea/Vomiting',
'Dizziness', 'Injury/Trauma', 'Other'
];
const handleSymptomToggle = (symptom) => {
setFormData(prev => ({
...prev,
symptoms: prev.symptoms.includes(symptom)
? prev.symptoms.filter(s => s !== symptom)
: [...prev.symptoms, symptom]
}));
};
const handleSubmit = async () => {
// Simulate API call to backend
const patientId = `P${Date.now().toString().slice(-6)}`;
const bandId = `VitalLink-${Math.floor(Math.random() * 65536).toString(16).toUpperCase().padStart(4, '0')}`;
setAssignedBand({
patientId,
bandId,
station: Math.floor(Math.random() * 8) + 1
});
// In production, send to backend:
// await fetch('/api/checkin', { method: 'POST', body: JSON.stringify({...formData, patientId, bandId}) });
setStep('complete');
};
if (step === 'welcome') {
return (
Welcome to VitalLink
Emergency Room Check-In
What to expect:
Answer a few questions about your condition
Receive a smart wristband to monitor your vitals
Wait comfortably while we track your condition
);
}
if (step === 'form') {
return (
Patient Information
setFormData({...formData, dob: e.target.value})}
className="w-full px-4 py-3 border-2 border-gray-300 rounded-lg focus:border-blue-500 focus:outline-none text-lg"
/>
{symptoms.map((symptom) => (
))}
{['mild', 'moderate', 'severe'].map((level) => (
))}
);
}
if (step === 'complete') {
return (
Check-In Complete!
Your wristband has been assigned
Your Patient ID
{assignedBand?.patientId}
Wristband ID
{assignedBand?.bandId}
Next Steps:
1
Pick up your wristband from Station {assignedBand?.station}
2
Wear it on your wrist - make sure it's snug but comfortable
3
Take a seat in the waiting area - your vitals are being monitored
A nurse will call you when it's your turn
);
}
};
export default CheckInKiosk;