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;
  }
}