6. ModulB (Barnsjukdomar)
/*
Denna modul är uppdelad i en huvudmodul och sex stycken undermoduler
motsvarande olika barnsjukdomar. Dessa är mässling, röda hund,
scharlakansfeber, vattkoppor, körtelfeber samt tredagarsfeber. Viss redundans är
oundviklig eftersom exempelvis feber ingår som symtom i samtliga diagnoser.
Reglerna i de olika modulerna kommer att bestämma vilka frågor som triggas.
Dessa kan väljas slumpmässigt och sökningen i frågeträdet kan ske både på
djupet och på bredden. Då ett visst antal frågor (eller alla) valts ur trädet
görs en sökning i CBSmodulen efter den diagnos som stämmer in på svarssymtomen.
Innan sökning i slutmodulen kan ske skall ett tillräckligt antal
symtomspecifika frågor ha valts ut för att sökningen skall lyckas.
Sökning
skall fungera för alla lagrade fallbeskrivningarna, det vill säga användaren
får alltid upp ett svarsalternativ då slutmodulen innehåller redan lagrad
kunskap som fallbeskrivningar. De enskilda modulerna innehåller enbart de
symtom som gäller för respektive sjukdom. Frågorna kan vara specade och då
väljer användaren ett av två alternativ, Ja (True) eller Nej (False), vid
skalsvar väljs svar ur ett intervall och detta sker på samma sätt i alla
moduler. Givetvis kan man tänka sig att lägga alla allmänna frågor direkt i
denna modul innan man går vidare, på det sättet undviker man en del av
redundansen.*/
startBarnsjukdomar()
{
private
String mässling, vattkoppor, scharlakansfeber, röda_hund, körtelfeber,
tredagarsfeber;
6.1 Start av Modul B
{
IF (mässling) THEN
moduleM.weight := 600;
}
ELSE /* Starta modul M */
IF (scharlakansfeber) THEN
moduleS.weight := 500; /* Starta modul S */
} ELSE
IF (vattkoppor) THEN
moduleV.weight := 400; /* Starta modul V */
} ELSE
IF (röda_hund) THEN
moduleR.weight := 300; /* Starta modul R */
} ELSE
IF (körtelfeber) THEN
moduleK.weight := 200; /* Starta modul K */
} ELSE
IF (tredagarsfeber) THEN
moduleT.weight := 100; /* Starta modul T */
}
weight
:= 0;
6.2 Arbetsminne
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Variabler:
6.3 Modul M (Mässling)
6.3.1 Regelbas
IF (first_time)
THEN ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga2);
IF (Fråga2) = True THEN ställ_fråga (Fråga3);
IF (Fråga3) AND/OR (Fråga2)=True THEN ställ_fråga (Fråga4);
IF (allmänpåverkan) THEN ställ_fråga (Fråga 5);
IF NOT (allmänpåverkan) THEN ställ_fråga (Fråga 6);
IF (smärttillstånd) AND (ögon) THEN ställ_fråga (Fråga 13);
IF (ögon) AND (irriterad) THEN ställ_fråga (Fråga 14);
IF (ögon) AND (röda) THEN ställ_fråga (Fråga 15);
IF (ögon) AND (ljuskänslig) THEN ställ_fråga (Fråga 16);
IF (rethosta) THEN ställ_fråga (Fråga 12);
IF (snuva) THEN ställ_fråga (Fråga 11);
IF (prickar) AND (insidan av kind) AND (vita) THEN ställ_fråga (Fråga
10);
IF (fläckar) AND (små) AND (röda) AND (upphöjda) THEN ställ_fråga (Fråga
9);
IF (fläckar) AND (börjat) AND (små) AND (upphöjda) AND (bakom öron) THEN
ställ_fråga (Fråga 7);
IF (fläckar) AND (spridning) AND (ansikte) THEN ställ_fråga (Fråga 8);
6.3.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 15 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
mässling:=False;
m:=0;
IF ((Fråga2)=True THEN (m :=m+1) AND
IF (Fråga 3)=True THEN (m :=m+2) AND
IF (Fråga 5)=True THEN (m := m+2)
AND
IF (Fråga 7)=True THEN (m:=m+1) AND
IF (Fråga 8)=True THEN (m:=m+1) AND
IF (Fråga 9)=True THEN (m:=m+1) AND
IF (Fråga 10)=True THEN (m:=m+1) AND
IF (Fråga14) =True THEN (m:=m+1)
IF (Fråga 15))=True THEN
mässling:=True;
IF (mässling) THEN
moduleCBS.weight:=1000;
6.3.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
>= 38.5 grader (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Har barnet små röda upphöjda fläckar? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Började dessa bakom öronen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 9: Har dessa spridit sig till ansiktet, och/eller bål och/eller armar
respektive ben? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 10: Har barnet vita prickar på kindernas insida? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 11: Är barnet snuvigt? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 12: Har barnet rethosta? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 13: Har barnet ont i ögonen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 14: Är barnet irriterat i ögonen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 15: Har barnet röda ögonvitor? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 16: Är barnet extra ljuskänsligt? : alternativ: (…);
·
Ja (T)
·
Nej (F)
6.3.4 Arbetsminne
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler:
6.4 Modul S (Scharlakansfeber)
6.4.1 Regelbas
IF (first_time) THEN
ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga2);
IF (Fråga2) = True THEN ställ_fråga (Fråga3);
IF (Fråga3) AND/OR (Fråga2) =True THEN ställ_fråga (Fråga4);
IF (feber) AND NOT (allmänpåverkad) THEN ställ_fråga (Fråga6)
IF (allmänpåverkan) THEN ställ_fråga (Fråga 5);
IF (utslag) AND (finprickiga) AND (sammanflytande) THEN ställ_fråga
(Fråga 7);
IF (utslag) AND (ansikte) THEN ställ_fråga (Fråga 9);
IF (utslag) AND (börjat) AND ((hals) OR (rygg) OR (bakom öron)) THEN
ställ_fråga (Fråga 10);
IF (utslag) AND (spridning) AND (snabb) THEN ställ_fråga (Fråga 11);
IF (utslag) AND (hudveck) THEN ställ_fråga (Fråga
12);
IF
(fläckar) AND (lätt upphöjda) THEN ställ_fråga(Fråga 8);
IF (hud) AND (torr) AND (fnasig) THEN ställ_fråga (Fråga 13);
IF (hud) AND (blek) AND (runt mun) THEN ställ_fråga (Fråga 15);
IF (ansiktsrodnad) THEN ställ_fråga (Fråga 14);
IF (smärttillstånd) AND (mun) THEN ställ_fråga (Fråga 16);
IF (smärttillstånd) AND (hals) THEN ställ_fråga (Fråga 21);
IF (tunga) AND (beläggning) THEN ställ_fråga (Fråga 17);
IF (tunga) AND ((beläggning) AND (börjat lossna)) THEN ställ_fråga
(Fråga 18);
IF (tunga) AND (starkt röd) THEN ställ_fråga (Fråga 19);
IF (tunga) AND (starkt röd) AND (bleka fält) THEN ställ_fråga (Fråga
20);
6.4.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 19 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
scharlakansfeber:=False;
sf:=0;
IF ((Fråga2)=True THEN (sf :=sf+1)
AND
IF (Fråga 3)=True THEN (sf :=sf+2)
AND
IF (Fråga 5)=True THEN (sf := sf+2)
AND
IF (Fråga 7)=True THEN (sf:=sf+1)
AND
IF (Fråga 8)=True THEN (sf:=sf+1)
AND
IF (Fråga 9)=True THEN (sf:=sf+1)
AND
IF (Fråga 10)=True THEN (sf:=sf+1)
AND
IF (Fråga 11)=True THEN (sf:=sf+1)
AND
IF ((Fråga12)=True THEN (sf :=sf+1)
AND
IF (Fråga 13)=True THEN (sf :=sf+3)
AND
IF (Fråga 16)=True THEN (sf := sf+3)
AND
IF (Fråga 19))=True THEN
scharlakansfeber:=True;
IF (scharlakansfeber) THEN
moduleCBS.weight:=1000;
6.4.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
>= 38.5 (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Har barnet finprickiga, sammanflytande utslag? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Har utslagen inslag av lätt upphöjda fläckar? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 9: Har barnet utslag i ansiktet? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 10: Började dessa på halsen, ryggen eller bakom öronen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 11: Har utslagen spridit sig snabbt? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 12: Har barnet dessa utslag huvudsakligen i hudveck? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 13: Är huden torr och fnasig? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 14: Har barnet en stark rodnad i ansiktet? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 15: Är barnet blekt om munnen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 16: Har barnet ont i munnen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 17: Har barnet en vit beläggning på tungan? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 18: Har beläggningen börjat lossna från tungan? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 19: Är barnets tunga starkt rödfärgad? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 20: Har barnet bleka fält på tungan ("smultrontunga")? :
alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 21: Har barnet ont i halsen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
6.4.4 Arbetsminne
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler:
6.5 Modul V (Vattkoppor)
6.5.1 Regelbas
IF (first_time) THEN ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga 2);
IF (Fråga2) = True THEN ställ_fråga (Fråga3);
IF ((Fråga2) AND/OR (Fråga3)) =True THEN ställ_fråga (Fråga 4);
IF (allmänpåverkan) THEN ställ_fråga (Fråga5);
IF (feber) AND NOT (allmänpåverkan) THEN ställ_fråga (Fråga 6);
IF (smärttillstånd) AND (huvud) THEN ställ_fråga (Fråga 13);
IF (utslag) AND (blåsformiga) THEN ställ_fråga (Fråga 7);
IF (utslag) AND (klåda) THEN ställ_fråga (Fråga 8);
IF (utslag) AND (delvis fallit av) AND (lämnat skorpor) THEN ställ_fråga
(Fråga 9);
IF (utslag) AND (börjat) AND (ansikte) THEN ställ_fråga (Fråga 10);
IF (utslag) AND (spridning) AND ((hårbotten) AND (armar) AND (ben)) THEN
ställ_fråga (Fråga 11);
IF (utslag) AND (spridning) AND ((munslemhinnan) AND (könsorganen)) THEN
ställ_fråga (Fråga 12);
6.5.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 9 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
vattkoppor:=False;
v:=0;
IF ((Fråga2)=True THEN (v :=v+1) AND
IF (Fråga 3)=True THEN (v :=v+3) AND
IF (Fråga 6)=True THEN (v :=v+1) AND
IF (Fråga 7)=True THEN (v:=v+1) AND
IF (Fråga 8)=True THEN (v:=v+1) AND
IF (Fråga 9))=True vattkoppor:=True;
IF (vattkoppor) THEN moduleCBS.weight:=1000;
6.5.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
Fråga 3: Om ja, hur hög är temperaturen? : skal_svar (Välj ett alternativ ur
intervallet);
·
>= 38.5 grader (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Har barnet blåsformiga utslag? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Kliar de? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 9: Har utslagen delvis fallit av och lämnat skorpor? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 10: Började utslagen i ansiktet? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 11: Har utslagen spridit sig till hårbotten, armar och ben? : alternativ:
(…);
·
Ja (T)
·
Nej (F)
·
Fråga 12: Har utslagen spridit sig till munnen och / eller könsorganen? :
alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 13: Har barnet huvudvärk? : alternativ: (…);
·
Ja (T)
·
Nej (F)
6.5.4 Arbetsminne modul V
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler:
6.6 Modul R (Röda
Hund)
6.6.1 Regelbas
IF (first_time) THEN ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga 2);
IF (Fråga 2)=True THEN ställ_fråga (Fråga 3);
IF ((Fråga2) AND/OR (Fråga3))=True THEN ställ_fråga (Fråga4);
IF (allmänpåverkan) THEN ställ_fråga (Fråga 5);
IF (smärttillstånd) AND (hals) THEN ställ_fråga (Fråga 7);
IF (smärttillstånd) AND (nacke) THEN ställ_fråga (Fråga 8);
IF NOT (allmänpåverkan) THEN ställ_fråga (Fråga 6);
IF (smärttillstånd) AND ((led) OR (leder)) THEN ställ_fråga (Fråga 9);
IF (smärttillstånd) AND (huvud) THEN ställ_fråga (Fråga 10);
IF ((utslag) AND (blekröda)) AND ((fläckar) AND (lätt upphöjda)) THEN
ställ_fråga (Fråga 11);
IF (utslag) AND (börjat) AND (ansikte) THEN ställ_fråga (Fråga 12);
6.6.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 11 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
röda_hund:=False;
r:=0;
IF ((Fråga2)=True THEN (r :=r+1) AND
IF (Fråga 3)=True THEN (r:=r+21) AND
IF (Fråga 5)=True THEN (r :=r+2) AND
IF (Fråga 7)=True THEN (r:=r+1) AND
IF (Fråga 8)=True THEN (r:=r+1) AND
IF (Fråga 9)=True THEN (r:=r+2) AND
IF (Fråga 11)=True THEN
röda_hund:=True;
IF (röda_hund) THEN
moduleCBS.weight:=1000;
6.6.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
>= 38.5 grader (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Har barnet ont i halsen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Har barnet ont i nacken? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 9: Har barnet ont i en eller flera leder? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 10: Har barnet huvudvärk? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 11: Har barnet blekröda utslag, med inslag av lätt upphöjda fläckar? :
alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 12: Började utslagen i ansiktet? : alternativ: (…);
·
Ja (T)
·
Nej (F)
6.6.4 Arbetsminne modul R
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler:
6.7 Modul K (Körtelfeber)
6.7.1 Regelbas
IF (first_time) THEN ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga 2);
IF (Fråga 2)=True THEN ställ_fråga (Fråga 3);
IF (Fråga2) AND/OR (Fråga3) = True THEN ställ_fråga (Fråga 4);
IF (allmänpåverkan) AND (trött) THEN ställ_fråga (Fråga 7);
IF (allmänpåverkan) THEN ställ_fråga (Fråga 5);
IF NOT (allmänpåverkan) (trött) THEN ställ_fråga (Fråga 6);
IF (smärttillstånd) AND (hals) THEN ställ_fråga (Fråga 9);
IF (smärttillstånd) AND (huvud) THEN ställ_fråga (Fråga 8);
IF (smärttillstånd) AND (halsont) AND (förstorade mandlar) AND (vit
beläggning) THEN ställ_fråga (Fråga 10);
IF (smärttillstånd) AND (muskler) THEN ställ_fråga (Fråga 12);
IF (snuva) THEN ställ_fråga (Fråga 13);
IF (lymfkörtlar) AND (svullna) AND ((ljumskar) OR (hals) OR armhålor))
THEN ställ_fråga(Fråga 11);
IF ((utslag) AND (blekröda)) AND ((fläckar) AND ((fläckar) AND (lätt
upphöjda)) THEN ställ_fråga (Fråga 15);
IF (fläckar) AND (små) AND (röda) AND (upphöjda) THEN ställ_fråga (Fråga
14);
6.7.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 15 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
körtelfeber:=False;
k:=0;
IF ((Fråga2)=True THEN (k :=k+1) AND
IF (Fråga 3)=True THEN (k :=k+2) AND
IF (Fråga 5)=True THEN (k := k+3)
AND
IF (Fråga 8)=True THEN (k:=k+2) AND
IF (Fråga 10)=True THEN (k:=k+1) AND
IF (Fråga 11)=True THEN (k:=k+3) AND
IF (Fråga 14)=True THEN (k:=k+1) OR
IF (Fråga 15))=True THEN
körtelfeber:=True;
IF (körtelfeber) THEN
moduleCBS.weight:=1000;
6.7.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
>= 38.5 grader (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Verkar barnet onormalt trött? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Har barnet huvudvärk? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 9: Har barnet ont i halsen? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 10: Har barnet förstorade halsmandlar med vita beläggningar? : alternativ:
(…);
·
Ja (T)
·
Nej (F)
·
Fråga 11: Har barnet svullna lymfkörtlar i armhålorna, ljumskar eller på halsen? :
alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 12: Har barnet muskelsmärtor? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 13: Är barnet snuvigt? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 14: Har barnet små röda upphöjda fläckar (Se mässling)? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 15: Är dessa blekröda, med inslag av lätt upphöjda fläckar (Se röda hund)?
: alternativ: (…);
·
Ja (T)
·
Nej (F)
6.7.4 Arbetsminne modul K
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler:
6.8 Modul T (Tredagarsfeber)
6.8.1 Regelbas
IF (first_time) THEN ställ_fråga (initiering);
IF (ålder) THEN ställ_fråga (Fråga1);
IF (feber) THEN ställ_fråga (Fråga 2);
IF (Fråga 2)=True THEN ställ_fråga (Fråga 3);
IF (Fråga2) AND/OR (Fråga3) = True THEN ställ_fråga (Fråga4);
IF (allmänpåverkad) THEN ställ_fråga (Fråga5);
IF (feber) AND NOT (allmänpåverkan) THEN ställ_fråga (Fråga 6);
IF (utslag) AND ((småflammiga) AND (blekröda)) THEN ställ_fråga (Fråga
7);
IF (utslag) AND ((bål) AND (överarmar)) THEN ställ_fråga (Fråga 8);
6.8.2 Fallbeskrivning
/*Frågeträdet gås igenom. Efter fråga 8 görs ett anrop till modulen med
fallbeskrivningar där matchning sker. Nästa fall får närmaste lägre vikt tills
inga diagnoser finns kvar*/
tredagarsfeber:=False;
t:=0;
IF ((Fråga2)=True THEN (t :=t+1) AND
IF (Fråga 3)=True THEN (t:=t+3) AND
IF (Fråga 6)=True THEN (t :=t+1) AND
IF (Fråga 7)=True THEN (t:=t+1) AND
IF (Fråga 8))=True THEN
tredagarsfeber:=True;
IF (tredagarsfeber) THEN
moduleCBS.weight:=1000;
6.8.3 Frågeträd
·
0-3 månader
·
3-6 månader
·
6-12 månader
·
1-2 år
·
2-3år
·
3-6 år
·
6-10 år
·
10-13 år
·
13-16 år
·
Fråga 2: Har barnet feber? : alternativ: (Välj ett alternativ nedan);
·
Ja (T)
·
Nej (F)
·
>= 38.5 grader (T)
·
< 38.5 grader (F)
·
< 1 dygn
·
1 dygn
·
2-3 dygn
·
3-5 dygn
·
5 dygn
·
Fråga 5: Verkar barnet allmänpåverkat? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 6: Verkar barnet opåverkat trots feber? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 7: Har barnet blekröda och småflammiga utslag? : alternativ: (…);
·
Ja (T)
·
Nej (F)
·
Fråga 8: Sitter de huvudsakligen på bål samt överarmar? : alternativ: (…);
·
Ja (T)
·
Nej (F)
6.8.4 Arbetsminne
Variablerna
I arbetsminnet lagras i en hashtabell samt matchas med liknande variabler i
modulerna. En formel räknar ut ett specifikt värde som skickas till
hashtabellen.
Exempel
på variabler: