Exemplo n.º 1
0
Record* RecordFactory::createRecord(QString serializedRecord){
    QStringList temp = serializedRecord.split(Record::RECORD_DELIMITER);
    int recordType = temp.at(0).toInt();
    temp.pop_front();
    switch (recordType){
        case RECORD_TYPES::CONSULTATION:
            return createConsultation(temp);
            break;
        case RECORD_TYPES::PATIENT:
            return createPatient(temp);
            break;
        case RECORD_TYPES::FOLLOW_UP:
            return createFollowUp(temp);
            break;
        case RECORD_TYPES::ASSISTANT:
            return createAssistant(temp);
            break;
        case RECORD_TYPES::PHYSICIAN:
            return createPhysician(temp);
            break;
        case RECORD_TYPES::ADMINISTRATOR:
            return createSysAdmin(temp);
            break;
    }
    return NULL;
}
Exemplo n.º 2
0
Arquivo: main.c Projeto: Pedjo/AED
int entry_MD(MD m, char * reader){
    char name[50];
    patient p;
    
    if(sscanf(reader,"%*s %[^\n]",name) != 1)
        return 0;
    p = createPatient(name);
    if(p == NULL)
        return 0;
    insertPatientMD(m,p);
    return 1;
}
Exemplo n.º 3
0
void PatientManager::readDatabase()
{
    QList<Patient> patients = DatabaseAccess().db()->findPatients();
    emit progressStarted(patients.size());
    QHash<int, int> oldIds = d->patientIdHash;
    QList<Patient::Ptr> newPatientList;
    foreach (Patient data, patients)
    {
        int index = d->patientIdHash.value(data.id, -1);
        oldIds.remove(data.id);
        if (index == -1)
        {
            Patient::Ptr p = createPatient(data);
            loadData(p);
            emit patientAdded(d->patients.size()-1, p);
        }
        else
        {
            loadData(d->patients[index]);
        }
        emit progressValue(d->patients.size());
    }