//SPDX-License-Identifier: MIT pragma solidity ^0.7.0; contract CovidVaccination { // structure for vaccination center struct vaccinationCenter { uint vc_id; string vc_name; string vc_district; string vc_state; } mapping(uint => vaccinationCenter) public vc_data; vaccinationCenter[] centers; // structure for person/patient struct person { uint p_aadhaar; string p_name; string p_dob; string p_address; uint p_contact; uint vc_id; string p_date; string p_time; string p_health; } mapping(uint => person) public p_data; person[] people; // structure for vaccination struct vaccination { uint v_id; uint p_aadhaar; string v_doctor; uint vc_id; string v_date; string v_time; string v_dose; } mapping(uint => vaccination) public v_data; vaccination[] vaccines; // function to add vaccination center function addVaccinationCenter(uint _id, string memory _name, string memory _district, string memory _state) public { vaccinationCenter memory x = vaccinationCenter(_id, _name, _district, _state); centers.push(x); vc_data[_id] = x; } // function to show vaccination center by ID function showVaccinationCenterByID(uint _vcID) public view returns (uint, string memory, string memory, string memory) { return ( vc_data[_vcID].vc_id, vc_data[_vcID].vc_name, vc_data[_vcID].vc_district, vc_data[_vcID].vc_state ); } // function to register person/patient to the portal function register(uint _aadhaarNo, string memory _name, string memory _dob, string memory _address, uint _contact, uint _centerID, string memory _appointmentDate, string memory _appointTime, string memory _healthStatus) public { person memory x = person(_aadhaarNo, _name, _dob, _address, _contact, _centerID, _appointmentDate, _appointTime, _healthStatus); people.push(x); p_data[_aadhaarNo] = x; } // function to show person/patient by aadhaar number function showPersonByAadhaar(uint _aadhaar) public view returns (uint, string memory, string memory, string memory, uint, uint, string memory, string memory, string memory) { return ( p_data[_aadhaar].p_aadhaar, p_data[_aadhaar].p_name, p_data[_aadhaar].p_dob, p_data[_aadhaar].p_address, p_data[_aadhaar].p_contact, p_data[_aadhaar].vc_id, p_data[_aadhaar].p_date, p_data[_aadhaar].p_time, p_data[_aadhaar].p_health ); } // function to add vaccination details after vaccination function addVaccination(uint _id, uint _pAadhaar, string memory _doctor, uint _vcID, string memory _vDate, string memory _vTime, string memory _vDose) public { vaccination memory x = vaccination(_id, _pAadhaar, _doctor, _vcID, _vDate, _vTime, _vDose); vaccines.push(x); v_data[_id] = x; } // function to ashow vaccination details by using vaccination ID function showVaccinationByID(uint _vId) public view returns (uint, uint, string memory, uint, string memory, string memory, string memory) { return ( v_data[_vId].v_id, v_data[_vId].p_aadhaar, v_data[_vId].v_doctor, v_data[_vId].vc_id, v_data[_vId].v_date, v_data[_vId].v_time, v_data[_vId].v_dose ); } }
0.7.0