Documente Academic
Documente Profesional
Documente Cultură
Laborator 2-3
Sisteme bazate pe cunostinte: Reguli de decizie
Sistemele bazate pe cunostinte (Knodlege based sistems) sau sistemele expert (SE) sunt programe de
aplicatie care iau decizii sau rezolva probleme intr-un anumit domeniu, pe baza unor cunostinte
prealabile si a unor regului analitice stabilite de experti umani.
Caracteristicile domeniilor de activitate care utilizeaza SE:
- cunostintele necesare luarii deciziilor sunt bine definite,
- expertii in domeniu gasesc solutii mai repede decat nespecialistii (utilizatorii SE),
- luarea rapida a unei decizii corecte justifica efortul de a creea un sistem capabil sa
automatizeze partial sau total procesul decizional
Elemente obligatorii:
- Baza de cunostinte
- Motorul de Inferenta
Baza de Cunostinte
- Contine “domeniul de cunostinte” furnizate de specialisti umani,
- Este ultraspecializata intr-un anumit domeniu,
- Este reprezentata sub forma de reguli “IF-THEN”,
Figure 1 KBS
1. Scopul lucrarii
Lucrarea prezintă noţiuni introductive privind construirea si implementarea regulilor de inferenta “if-
then”, specifice sistemelor expert. Utilizand pachetul GUIDE (Graphical User Interface Development
Environement) disponibil in MATLAB si elementele medicale definitorii diagnosticarii convulsiilor
febrile la copii, lucrarea descrie implementarea unei interfete grafice utilizator care sa sprijine decizia
medicala finala.
2. Aplicatia medicala- studiu de caz: Diagnosticul diferenţial al
convulsiilor febrile la copii
Convulsiile febrile apar în general la copii cu vârste cuprinse între 6 luni si 5 ani sub forma unor
convulsii tonico-clonice generalizate asociate cu febra (peste 38 ºC), de scurta durata (sub 15 minute),
în absenta unei infectii sau anomalii la nivelul SNC. Nu sunt incluse în aceasta categorie convulsiile
însotite de febra aparute la copii care au avut anterior convulsii afebrile.
1
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
EPIDEMIOLOGIE
Convulsiile febrile reprezinta cea mai comuna afectiune neurologica întâlnita în pediatrie. Ele apar la
2-5% din totalul copiilor sub 5 ani, cu frecventa maxima în jurul vârstei de 2 ani, si sunt mai frecvente
la baieti.
ETIOLOGIE si FIZIOPATOLOGIE
În aparitia convulsiilor sunt implicati 3 factori:
- febra. Cresterea brusca a temperaturii corpului declansaza convulsiile datorita scaderii pragului
convulsivant al neuronilor cerebrali prin cresterea ratei metabolismului. Astfel, convulsiile febrile
survin precoce în cursul unor boli infectioase acute(otite medii, amigdalite, rinofaringite, pneumonii,
viroze, gastroenterite, infectii urinare), în perioada cresterii rapide a temperaturii si pot fi primul semn
al bolii. Convulsiile mai pot aparea si dupa unele imunizari (antipoliomielitica, antirujeoloasa, DTP),
în special la copiii cu convulsii febrile în antecedentele personale sau familiale.
- vârsta. Convulsiile sunt frecvente între 3 luni si 5 ani, când cortexul este mai excitabil, deci mai
susceptibil. Aceasta susceptibilatea este scazuta înainte de 5-6 luni(natura inhibitorie a cortexului) si
dupa 5 ani (datorita maturarii cerebrale).
- factori genetici. Exista o predispozitie genetica transmisa poligenic sau autozomal dominant cu
penetranta incompleta , în unele cazuri regasindu-se convulsii febrile în antecedentele familiale.
MANIFESTÃRI CLINICE
Se descriu doua tipuri de crize convulsive febrile:
- convulsiile simple reprezinta 95% din totalul convulsiilor febrile.De obicei unice, ele sunt convulsii
tonico-clonice generalizate sau clonice, rar hipotonice, de durata scurta (de obicei 5-6 minute,
întotdeauna sub 15 minute), aparute la copii cu dezvoltare psihomotorie normala anterior crizei.
Revenirea la starea neurologica normala se face rapid, fara a lasa sechele.
- convulsiile complexe, 5% din totalul convulsiilor febrile, reprezinta convulsii focale, cu durata peste
15 minute, aparute la copii cu dezvoltare psihomotorie anormala anterioara crizei. Aceste crize se
repeta în 24 de ore si prezinta risc crescut de sechele neurologice. Convulsiile febrile complexe pot fi
urmate de pareza tranzitorie unilaterala (paralizie Todd).
Examinarea clinica trebuie sa urmareasca si detectarea cauzei febrei la copil (otita medie, faringita,
meningita etc.)
DIAGNOSTIC
Diagnosticul convulsiilor febrile se bazeaza pe:
- anamneza
- examen clinic
- investigatii paraclinice
- hemoleucograma, ionograma, glicemia, calcemia, magnezemia, EKG
- sumar de urina, urocultura
- examen al fundului de ochi (pentru eventuala evidentiere a unui edem papilar)
- examen ORL (pentru stabilirea cauzei febrei)
- screening toxicologic în cazurile neclare
2
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
- punctia lombara si examenul LCR au urmatoarele indicatii: copiii sub 18 luni (este
obligatorie la copiii sub 6 luni), întârzierea însanatosirii, suspiciune de meningita,
convulsii febrile complexe sau aparitia crizelor în a doua zi de boala.
- EEG nu prezinta interes în prima saptamâna; poate fi folositoare dupa una sau mai
multe saptamâni în cazurile incerte
- metode imagistice (CT, IRM cerebral) nu se fac de rutina. Indicatii: convulsii febrile
complexe, hipertensiune intracraniana, traumatism în antecedente, anomalii
neurologice.
3
as. dr. ing Angela Lungu
4
Diagnosticarea medicala-elemente fizico-tehnice
Panoul de lucru (având extensia .fig) permite în acest moment adăugarea elementelor grafice de tipul
butoanelor, zonelor de afişare, a câmpurilor de text, etc. Aceste elemente grafice se regăsec în stânga
zonei de lucru. Poziţionarea obiectelor dorite în zona de lucru se va face prin operaţiunea de „drag and
drop”.
1. Plasaţi cursorul deasupra obiectelor din stânga panoului de lucru şi indentificaţi tipul
acestora. Pentru afişarea numelor obiectelor selectaţi din meniul fişierului de lucru
GUIDE: File-> Preferences-> GUIDE şi bifaţi: Show names in component pallet
(OK).
2. Pentru aplicatia curenta vor fi necesare urmatoarele elemente:
Static Text (17)
Edit Text (9)
Push Button (1)
Toggle Button (1)
Button Group (1)
Radio Button (2)
5
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
6
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
7
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
Radio Button NU nu
nume
prenume
varsta
sex
frecventa
tensiunea_sist
tensiunea_diast
durata_convulsii
7. Salvati si rulati aplicatia. Rularea poate fi facuta atat din fisierul .fig (pe care au fost
amplasate obiectele) cat si din cel .m. In acest moment, interfata grafica nu este
8
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
if(str2double(get(handles.temperatura, 'String'))>=38.5)
set(handles.intrebare, 'String','Convulsii prezente?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1 && str2double(get(handles.durata_convulsii, 'String'))>=15)
set(handles.mesaj,'String','Convulsii febrile complexe. Se recomanda spitalizarea.')
elseif(get(handles.da, 'Value')==1 && str2double(get(handles.durata_convulsii, 'String'))<15)
set(handles.intrebare, 'String','Crize anterioare prezente?')
10
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.intrebare, 'String','Crize repetate la un interval <24 de ore?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj,'String','Se recomanda spitalizarea pentru investigatii suplimentare.')
else
set(handles.mesaj,'String','Tulburari electrolitice posibile. Se recomanda investigatii
suplimentare.')
end
elseif(get(handles.da, 'Value')==0)
set(handles.intrebare, 'String','Revenire rapida la starea anterioara?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj,'String','Convulsii simple.')
elseif(get(handles.da, 'Value')==0)
set(handles.intrebare, 'String','Episod de convulsie insotit de pierderea constientei?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj,'String','Investigatii suplimentare.')
else
set(handles.mesaj,'String','Convulsii simple.')
end
end
end
elseif(get(handles.da, 'Value')==0)
set(handles.mesaj,'String','Investigatii suplimentare pentru determinarea cauzei febrile.')
end
else
set(handles.intrebare, 'String','Convulsii prezente?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==0)
set(handles.mesaj,'String','Pacientul nu sufera de convulsii febrile.')
elseif(get(handles.da, 'Value')==1 && str2double(get(handles.durata_convulsii, 'String'))>=15)
set(handles.mesaj, 'String','Se recomanda investigatii suplimentare. Se suspecteaza stari
epileptice.')
elseif(get(handles.da, 'Value')==1 && get(handles.durata_convulsii, 'Value')<15)
set(handles.intrebare, 'String','Criza a avut loc in urma unui episod de plans intens?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj, 'String','Sindromul hohotului de plans.')
elseif(get(handles.da, 'Value')==0)
set(handles.intrebare, 'String','Crizele s-au repetat?')
waitfor(handles.vali,'Value')
11
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
if(get(handles.da, 'Value')==1)
set(handles.intrebare, 'String','Crizele au avut loc intotdeauna in timpul zilei?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj, 'String','Sincopa convulviva.')
else
set(handles.mesaj, 'String','Se recomanda investigatii suplimentare.')
end
else
set(handles.intrebare, 'String','Copilul a consumat medicamente precum Emiteral?')
waitfor(handles.vali,'Value')
if(get(handles.da, 'Value')==1)
set(handles.mesaj, 'String','Intoxicatie cauzata de medicamente.')
else
set(handles.mesaj, 'String','Se recomanda investigatii suplimentare.')
end
end
end
end
end
guidata(hObject,handles);
4. Exercitii
1. Sa se modifice diagrama logica a diagnosticului diferential al convulsiilor febrile astfel incat
urmatorii parametri si valorile lor sa reprezinte criterii decizionale:
- varsta
- tensiunea sistolica
- tensiunea diastolica
- frecventa cardiaca
Sa se introduca modificarile din noua diagrama in codul sursa.
2. Sa se creeze o interfata grafica care sa permita introducerea datelor personale ale unui pacient,
inclusiv inaltime si greutate si sa afiseze valoarea indicelui de masa corporala. Pe baza valorii IMC sa
se indice printr-un mesaj riscul pentru sanatate:
12
as. dr. ing Angela Lungu
Diagnosticarea medicala-elemente fizico-tehnice
- IMC peste 35 Risc pentru sănătate: ridicat Greutatea iți afectează în mod radical
sănătatea. Scapă de surplusul de greutate!
13
as. dr. ing Angela Lungu