pragma solidity ^0.4.17; contract MedicalRecord { enum Symptoms {ChestPain, HeadAche, Vomiting, Sprain, Fractures} struct Visit { Symptoms symptoms; uint256 admissionDate; uint256 dischargeDate; } mapping(address => mapping(bytes32 => Visit)) visits; function addAdmissionRecord(bytes32 _fullName, Symptoms _symptoms) external { visits[msg.sender][_fullName].symptoms = _symptoms; visits[msg.sender][_fullName].admissionDate = now; } function addDischargeRecord(bytes32 _fullName) external { visits[msg.sender][_fullName].dischargeDate = now; } function recordExist(bytes32 _fullName) view external returns (bool) { return visits[msg.sender][_fullName].admissionDate != 0; } }