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:

 

 

Tillbaka till Hemdoktorn