Modul Start

 

Systemkod

 

void main()

{

 

 /* Huvudprogrammet */

 

IF ("Starta system") THEN start_module.weight = 1000;

IF ("Lägga in ny diagnos") THEN CBS.weight:=900;

 

WHILE (getNextExpertModule());

 

weight:=0;

 

/*Returnerar och kör den modul med högst vikt. Är vikten 0 returneras NULL och villkoret := FALSE*/

 

showDiagnos()

 

{ /*showDiagnos är en metod som går igenom slutmodulen med alla fallbeskrivningar och matchar dessa med svarsalternativen i de olika symtommodulerna. Skriver ut namnet på den diagnos som satts till TRUE.*/ }

 

exitSytem()

 

{ /*exitSystem() är en metod som avslutar systemet.*/}

 

Regelbas (Start)

 

systemStart()

 

/*Variablerna ålder, feber med mera väljs på skärmen då användaren startat systemet (Se bild ovan). Man kan välja att ange ett, fler eller inget alternativ (AND/OR), gå direkt till en viss modul, avsluta, ångra val med mera.*/

 

private int ålder;

private Boolean påverkan, feber;

private String barnsjukdomar, hudåkommor, förkylningsåkommor, magtarmåkommor, nydiagnos, ångra;

{

IF (first_time) THEN ställ_fråga (initiering);

IF (ålder) THEN ställ_fråga (Frågaålder) AND/OR

IF (allmänpåverkan) THEN ställ_fråga (Frågapåverkan) AND/OR

IF (feber) THEN ställ_fråga (Frågafeber1) AND/OR

IF (Frågafeber1)=True THEN ställ_fråga ((Frågafeber2) AND/OR (Frågafeber3));

 

} ELSE DO {

 

/*Välj symtom nedan.*/

 

IF (ställ_frågor(Frågamage1)=True) THEN kräks:=True;

IF (ställ_frågor(Frågamage 2)=True) THEN diarré:=True;

IF (ställ_frågor(Frågamage 3)=True) THEN buksmärta:=True;

IF (ställ_frågor(Frågamage 4)=True) THEN förstoppning:=True;

IF (kräks, diarré, buksmärta, förstoppning,) THEN ModulM.weight :=900

 

} ELSE {

 

IF (ställ_frågor(Frågaförkylning1)=True) THEN snuva:=True;

IF (ställ_frågor(Frågaförkylning2)=True) THEN hosta:=True;

IF (ställ_frågor(Frågaförkylning3)=True) THEN halsont=:True;

IF (snuva, hosta, halsont) THEN ModulF.weight :=800;

 

} ELSE {

 

IF (ställ_frågor(Frågahud1)=True) THEN klåda := True;

IF (ställ_frågor(Frågahud2)=True) THEN utslag := True;

IF (ställ_frågor(Frågahud3)=True) THEN blåsor := True;

IF (ställ_frågor(Frågahud4)=True) THEN fläckar := True;

IF (ställ_frågor(Frågahud5)=True) THEN prickar := True;

IF (klåda, prickar, blåsor, fläckar, utslag) THEN ModulH.weight :=700;

 

} ELSE {

 

IF NOT (kräks, diarré, förstoppning) AND (ställ_frågor(Frågabarnsjukdom1)=True) THEN barnsjukdom:=True;

IF (barnsjukdom) THEN ModulB.weight :=600;

 

} ELSE DO {

 

/*Välj åkomma för att starta respektive modul M, F, H eller B direkt vid start*/

 

IF (magtarmåkommor) THEN ModulM.weight:=500;

ELSE

IF (hudåkommor) THEN ModulH.weight:=400;

ELSE

IF (förkylningsåkommor) THEN ModulF.weight:=300;

ELSE

IF (barnsjukdomar) THEN ModulB.weight:=200;

ELSE

IF (nydiagnos) THEN ModulCBS.weight:=100;

ELSE

IF (avsluta) THEN GOTO exit_system(); /*Avslutar systemet*/

ELSE

IF (fortsätt) THEN  GOTO startSystem(); /*Repeterar hela tiden till användaren väljer att sluta*/

ELSE

IF (ångra) THEN ("Rensa fältet och gå tillbaka ett steg");

weight :=0;

}}

 

Frågeträd (Start)

 

I frågeträdet skall förutom nedanstående frågor finnas med avsluta program, ångra val med mera. Här har vi endast tagit upp de specifika frågorna.

 

 

·          Frågaålder: Hur gammalt är barnet? : skal_svar (Välj alternativ ur intervallet); 

·         

·        0-3 månader

·        4-6 månader

·        7-12 månader

·        1-2 år

·        2-3år

·        3-6 år

·        7-10 år

·        10-13 år

·        13-16 år

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·          Frågafeber2: Om ja, hur hög är febern? : skal_svar (Välj alternativ ur intervallet);

·        38-39 grader

·        39-40 grader

·        40 grader

 

·          Frågafeber3: Hur länge har barnet haft feber? : skal_svar (Välj alternativ ur intervallet);

·        < 1 dygn

·        1 dygn

·        2-3 dygn

·        3-5 dygn

·        5 dygn

 

·        Frågamage 1: Kräks barnet? : specat_svar (Välj ett alternativ nedan);

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

·        Ja (True)

·        Nej (False)

 

Tillbaka till Hemdoktorn