53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#ifndef PATIENT_HPP
|
|
#define PATIENT_HPP
|
|
|
|
#include "Visit.hpp"
|
|
#include <iostream>
|
|
#include <istream>
|
|
#include <ostream>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
////////////////////////////////////
|
|
// File: patient_files/3.txt //
|
|
// 3 //
|
|
// Amirah //
|
|
// Asaad //
|
|
// F //
|
|
// 26 //
|
|
// 3 1/1/2018 Abdullah Alshareef //
|
|
// 9 4/1/2018 Helen Philips //
|
|
// 14 8/1/2018 Abdullah Alshareef //
|
|
////////////////////////////////////
|
|
|
|
class Patient {
|
|
private:
|
|
// clang-format off
|
|
u_int32_t id;
|
|
std::string first_name;
|
|
std::string last_name;
|
|
bool gender; // true gender = M, false gender = F
|
|
u_int32_t age;
|
|
std::vector<Visit> visits;
|
|
|
|
char gender_char() { return gender ? 'M' : 'F'; }
|
|
|
|
public:
|
|
void write_patient();
|
|
Patient(){};
|
|
Patient(u_int32_t id, std::string first_name, std::string last_name, bool gender, u_int age)
|
|
: id(id), first_name(first_name), last_name(last_name), gender(gender), age(age) {
|
|
// clang-format on
|
|
write_patient();
|
|
}
|
|
Patient(u_int32_t id);
|
|
u_int32_t get_id() const;
|
|
|
|
public:
|
|
void add_visit(Visit const &visit);
|
|
friend std::ostream &operator<<(std::ostream &out, Patient &patient);
|
|
friend std::istream &operator>>(std::istream &in, Patient &patient);
|
|
};
|
|
|
|
#endif
|