SDA Tema 2
În medicină, există aplicații software, de tip daemon (rezidente în memorie) care anunță personalul medical dacă detectează, după anumite euristici, că un pacient are risc crescut pentru o anumită afecțiune. Aceste aplicații monitorizează o bază de date care este în permanență actualizată cu rezultate de analize și diagnostice.
Pentru această temă, veți realiza o variantă foarte simplă a acestui sistem.
Cerință
Să se scrie o aplicație software care să poată verifica o listă de pacienți, și să printeze o listă cu toți pacienții care îndeplinesc anumite condiții.
Informații suplimentare
O înregistrare de tip ”pacient” trebuie să conțină următoarele informații:
- nume;
- vărstă;
- CNP;
- telefon;
- o mulțime (set) de fanioane care să specifice dacă pacientul suferă de următoarele afecțiuni:
- presiune arterială mare (PA);
- obezitate (O);
- nivel scăzut al fierului în sânge (Fe-);
- nivel ridicat de glicemie în sânge (Gl+);
- nivel ridicat de acid uric în sânge (UA+);
Se vor face următoarele verificări și se va specifica dacă pacientul prezintă riscul specificat:
- vârsta > 25 și obezitate și presiune arterială mare -> risc de infart;
- nivel scăzut al fierului în sânge -> anemie;
- obezitate și nivel ridicat de glicemie în sânge -> risc de diabet;
- vârsta > 40 și nivel ridicat de acid uric în sânge -> risc de gută;
Date de intrare
În fișierul pacients.csv (Comma Separated Values) se află pe fiecare linie o înregistrare de forma:
nume prenume,varsta,telefon,fanion_1,fanion_2,..,fanion_n
Exemplu:
Vasile Adrian,38,1831111111111,0711111111,O,PA Ghita Marian,20,1831111111112,0711111112,Fe- Vasile Adina,41,2851111111111,0711111111,UA+ Micsunel Ion,7,1901111111111,0712121212,O,Gl+ Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
Date de ieșire
Pentru fiecare afecțiune se va creea un fișier separat în care se vor scrie pacienții suspectați.
Exemplu:
- infart.csv
Vasile Adrian,38,1831111111111,0711111111,O,PA
- anemie.csv
Ghita Marian,20,1831111111112,0711111112,Fe- Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
- diabet.csv
Micsunel Ion,7,1901111111111,0712121212,O,Gl+ Fanel Bosu,18,1881111111111,0712121213,O,Fe-,Gl+
- guta.csv
Vasile Adina,41,2851111111111,0711111111,UA+
Restricții
- Pentru a stoca informațiile despre pacienți, se va folosi o listă simplu înlănțuită.