b ===================== Medi 1P =======================================b b^b( Das Programm Medi1 wurde entwickelt von Jochen Haubenreiser unter b2 Mitarbeit von Sylvia Mildner,Karin Silge (alle Poliklinik KWH)b< und Andreas Roehr (KWH Hermsdorf).Es ist - NfD - im Bereich descF Gesundheitswesens.cPcZcd ( )Acn "Spirotest, Stand vom 12.8.88 cx "Bei Eingaben keine Kommata verwenden; jede Eingabe "c "mit ET abschliessen. Danach sind keine Korrekturen "c "moeglich. Verlassen des Programmes mit CTRL-C."d "Wiederstart mit RUN"d_d -------------------- Initialisierung -------------------------------d Steuerfunktion fuer Bildschirmgestaltungd A$(X,Y)()(X)(Y)d B$()dB$()"Messwerteingabe falsch"dA$" "dE$" "eI$(M," ")Ae "Spirotest ohne AGW, 2 Leerzeichen eingebenje "Spirotest mit AGW, 'aa' eingebenweC$$()e C$" " C$"aa" " : e"e,e6 ------------------- aktuelle Tageseingaben ------------------------7f@ A$( ,);: "Datum:",B$(): (B$()) (B$()) IfJA$(,);I$SfT yf^ K1 K1 K2 K2 fh A$( ,);: "Zimmertemperatur :";T: T T2 fr A$(,);I$g| A$( ,);: "Luftdruck in kPa :";P: PF Pn g A$(,);I$@gPH `TR(3"{T)(ty(T))ogBTPS((PPH)(PH))((%)(T))g +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++h ----------- Beginn des Hauptprogrammmes ---------------------------Gh ( ): ====================================================ch A$(,) "SPIROTEST"h C$"aa" A$(,)"(mit AGW)"h A$(,<) "BTPS:"; BTPSh A$(,<) "Dat.:";B$()h A$(,<);: "Arzt:", B$() i A$(,);: "Name: ", B$()/i A$(,);: "Vorn.:",B$()ti A$(,();: "geb.:",B$(): (B$()) (B$()) iA$(,);I$i xi& K3 K3 K4 K4 i0 A$(,) "Alter:";ALT: --------------- in Jahren ---------- j: ALT LjD A$(,);: "Groesse:", GRO: ------- in Metern -------^jNA$(,);I$}jX GROff b : Jjb A$(,2);: "m/w/km/kw/: " ,B$()jlA$(,);I$jv B$()"m" B$()"w" B$()"km" B$()"kw"  : h0k ALT B$()"m" ALT B$()"w" jk ALT  B$()"km" ALT  B$()"kw" k B$()"m" B$()" maennl."k B$()"w" B$()" weibl."k B$()"km" B$()" Kind/Jugendl. maennl."l B$()"kw" B$()" Kind/Jugendl. weibl."Tl B$()"m" B$()"w" B$( )"Diff" : B$( )"Abw.%"l B$()"m" B$()"w" B$()"FEV(%):" : B$()"FEV(l):"l A$(,2) "Werteeingabe:"l A$(, ) "Soll"l A$(,) "Ist"l A$(,!);B$( )m A$( ,4) "FEV | FVC "Am C$"aa" A$( ,A) "| AGW"zm  A$( ,9)"|": C$"aa"  : A$( ,A)"|"m A$( ,9)"|" : C$"aa"   : A$( ,A)"|"m  A$( ,9)"|" : C$"aa" > : A$( ,A)"|"m*;n4 ---------- Eingabe der Messwerte in Litern ---------------------[n> A$( ,4);: "", FEV1.1mnHA$(,);I$nR FEV1.1 \ : rn\ A$( ,<);: "", FVC1nfA$(,);I$np FVC1 z : |nz FVC1FEV1.1  : o A$( ,4);: "", FEV1.2%oA$(,);I$Ao FEV1.2  : _o A$( ,<);: "", FVC2qoA$(,);I$o FVC2  : o FVC2FEV1.2  : o A$( ,4);: "", FEV1.3oA$(,);I$o FEV1.3  : p A$( ,<);: "", FVC3)pA$(,);I$Cp FVC3  : bp FVC3FEV1.3  : hpp C$"aa" A$( ,D);:"",AGWp$A$(,);I$p. C$"aa" AGW p8 AGW C$" "qB ----------- Ende der Eingabe -----------------------------------aqL ----------- Bildgestaltung ------------------------------------xqV A$( ,); "FVC"q` A$( ,); "FEV1"qj C$"aa" A$( ,);"AGW"qt A$(,) "Bewertung FVC:"q~ A$(, ) "FEV:"r C$"aa" A$(, ) "AGW:"Vr ------------- Ermittlung der beiden maximalen Messwerte -------r FEV1.1 FEV1.2 CFEV1.1 : CFEV1.2r CFEV1.3 CFEV1.3r FVC1 FVC2 DFVC1 : DFVC2r DFVC3 DFVC3!s ----------- Kennzeichnung der beiden maximalen Messwerte ------Is FEV1.1C A: FEV1.1C rs FEV1.2C A : FEV1.2C s FEV1.3C As A$( ,8)"*":  s A$( ,8)"*":  s A$( ,8)"*":  s  FVC1D B: FVC1D 2t FVC2D B: FVC2D <1t FVC3D BLt( A$( ,@)"*": Pgt2 A$( ,@)"*": Pt< A$( ,@)"*": PtF ---------------------------------------------------------------uP ----- Nutzerfunktionen FEV und FVC; Sollwerte m/w/km/kw ------uZ fvc,mWud B(ALT,GRO)(vALT`{ALT;N)(GROrH)cun fvc,wux C(ALT,GRO)(yuALT#{ALTQ )(GROVn)u fvc,kmu D(GRO) (+((GRO)( )) #})u fvc,kwv E(GRO) (R.((GRO)( ))Q8})&v fev,mAv F(ALT)Y ALTMv fev,wkv G(ALT)5uALTxv fev,kmv H(GRO)( ((((GRO)( ))~))v fev,kwv I(GRO)( (0((GRO)( ))~))v5w ------------------------ Bewertung ----------------------------PwB$( )"normaler Wert"jwB$()"Grenzbereich"w"B$()"geringgradig restriktive Veraenderungen"w,B$()"mittelgradig restriktive Veraenderungen"x6B$()"hochgradig restriktive Veraenderungen" '2 Leerzeichen'"|: A$(,)"weiter mit AGW --------> 'aa'"G|D A$(,)"weiter nach Medikation > 'ar'"T|NE$$()w|X E$"ar" A$"ar" : A$" "|b E$"aa" C$"aa"|l E$" " A$" ":C$" ": |v E$"aa" E$"ar" E$" "  : 0| A$"ar" } C$" "  : Z} ---------------------------------------------------------------}} : Ende des Hauptprogrammes} ===============================================================}}~ +++++++++++++++ Beginn des Unterprogramms:maennlich +++++++++++_~EMB(ALT,GRO):EMD(EM ) : A$( , );: "###.#"; EMD~FMF(ALT):FMD(FM): A$( , );: "###.";FMD~DKORRDBTPS:DKD(DKORR ) : A$( ,);: "###.#";DKD*CKORRCBTPSdDKORR:CKD(CKORR): A$( ,);: "###.";CKDlDIFFFVCDKORREM:DFVDDKDEMD: A$( ,!);: "###.#";DFVDDIFFFEV1CKORRFM:DFEDCKDFMD: A$( ,!);: "###.";DFED  Bewertung der Istwerte DIFFFVC  B$( )B$( ).  (DIFFFVC) (DIFFFVC) B$( )B$()k* (DIFFFVC ) (DIFFFVC L) B$( )B$()4 (DIFFFVC L) (DIFFFVC  ) B$( )B$()΀> DIFFFVC  B$( )B$()H A$(,);B$( ) R DIFFFEV1 B$( )B$( )C\ (DIFFFEV1) (DIFFFEV1 l) B$( )B$()f (DIFFFEV1 l) (DIFFFEV1 ff>) B$( )B$()p (DIFFFEV1 ff>) (DIFFFEV1 33) B$( )B$()z DIFFFEV1 33 B$( )B$() A$(,);B$( ) Y +++++++++++++ Beginn des Unterprogramms: weiblich +++++++++++++EMC(ALT,GRO):EMD(EM ) : A$( , );: "###.#";EMDقFMG(ALT):FMD(FM): A$( , );: "###.";FMD#DKORRDBTPS:DKD(DKORR ) : A$( ,);: "###.#";DKDiCKORRCBTPSdDKORR:CKD(CKORR): A$( ,);: "###.";CKDDIFFFVCDKORREM:DFVDDKDEMD: A$( ,!);: "###.#";DFVDDIFFFEV1CKORRFM:DFEDCKDFMD: A$( ,!);: "###.";DFED  "Bewertung der Istwerte"0 DIFFFVC B$( )B$( )m (DIFFFVC ) (DIFFFVC L) B$( )B$() (DIFFFVC L) (DIFFFVC ff&) B$( )B$() (DIFFFVC ff&) (DIFFFVC fff) B$( )B$() $ DIFFFVC fff B$( )B$()%. A$(,);B$( )H8 DIFFFEV1 B$( )B$( )B (DIFFFEV1) (DIFFFEV1 l) B$( )B$()L (DIFFFEV1l) (DIFFFEV1 ff>) B$( )B$()V (DIFFFEV1ff>) (DIFFFEV1 33) B$( )B$()&` DIFFFEV1 33 B$( )B$()>j A$(,);B$( )Dt J~ P +++++++++ Beginn des Unterprogramms: Kind/Jugendl. maennlich +++ۆ EMD(GRO):EMD(EM ) : A$( , );: "##.#";EMD FMH(GRO):FMD(FM ) : A$( , );: "##.#";FMDg DKORRDBTPS:DKD(DKORR ) : A$( ,);: "##.#";DKD CKORRCBTPS:CKD(CKORR ) : A$( ,);: "##.#";CKD DIFFFVCDKORREMdd:DFVD(DIFFFVC ) : A$( ,!);: "##.#";DFVD] DIFFFEV1CKORRFMdd:DFED(DIFFFEV1 ) : A$( ,!);: "##.#";DFEDz Bewertung der Istwerte DIFFFVC B$( )B$( )ш ( DIFFFVC )(DIFFFVC ) B$( )B$() DIFFFVC  B$( )B$() DIFFFEV1 B$( )B$( )L (DIFFFEV1 )(DIFFFEV1 ) B$( )B$()n DIFFFEV1 B$( )B$() A$(,) B$( )( A$(,) B$( )2 < F P +++++++++ Beginn des Unterprogramms: Kind/Jugendl. weiblich ++++9Z EME(GRO):EMD(EM ) : A$( , );: "##.#";EMD}d FMI(GRO):FMD(FM ) : A$( , );: "##.#";FMDŊn DKORRDBTPS:DKD(DKORR ) : A$( ,);: "##.#";DKD x CKORRCBTPS:CKD(CKORR ) : A$( ,);: "##.#";CKDa DIFFFVCDKORREMdd:DFVD(DIFFFVC ) : A$( ,!);: "##.#";DFVD DIFFFEV1CKORRFMdd:DFED(DIFFFEV1 ) : A$( ,!);: "##.#";DFEDՋ Bewertung der Istwerte DIFFFVC B$( )B$( )+ (DIFFFVC )(DIFFFVC ) B$( )B$()L DIFFFVC B$( )B$()p DIFFFEV1 B$( )B$( ) (DIFFFEV1 )(DIFFFEV1) B$( )B$()ƌ DIFFFEV1 B$( )B$()݌ A$(,) B$( ) A$(,) B$( )  L ++++++++ Berechnung der Soll-u.Istwerte AGW Erwachsene ++++++++j GMFMEMd:GMD(GM)" A$( , );: "###.";GMD, AGWKORRAGWBTPS :AGWD(AGWKORR)׍6 A$( ,);: "###.";AGWD@ DIFFAGWAGWKORRGM:DAGWDAGWDGMD J A$( ,!);: "###.";DAGWDJT PROAGWAGWKORRGMd:PAGWD(PROAGW)m^ A$(,);: "###.";PAGWDh A$(,) "% Sollwert"r | ㎐ ++++++++++ Berechnung der Soll-u.Istwerte AGW Kinder ++++++++++ GMFM:GMD(GM) A$( , );: "###.";GMDE AGWKORRAGWBTPS :AGWD(AGWKORR)g A$( ,);: "###.";AGWD DIFFAGWAGWKORRGMdd:DAGWDAGWDGMDdd A$( ,!);: "###.";DAGWD PROAGWAGWKORRGMd:PAGWD(PROAGW) A$(,);: "###.";PAGWD+ A$(,);: "% Sollwert"1 7 =  ++++++++++++++++ Beginn des Druckprogrammes ++++++++++++++++++ & Ӑ0 -------------- Initialisierung des Druckers ------------------: () ( );-D -------------- Einstellung linker Rand (zehn Zeichen frei) ---DN ()"l"( );X -------------- Breitdruck fuer eine Zeile --------------------b () ();l --------- Unterstreichen und in 3170 wieder aufheben ---------v );: ()"-" ();: "SPIROTEST";' ()"-" ()l --------- Schmaldruck mit (15) ein und mit (18) aus ---------- A$"ar" );: ();:"( nach Medikation )";: () ();:"Betriebspoliklinik KWH";: (); $);: () "Dat.:";: ();: B$()d ();: "Hermsdorf ";: ();+);: ();: "BTPS:";: BTPS;: () ();: "6530 ";: ();.);: ();: "Arzt:",: ();: B$() ? (): "Name:";: ();: B$();): ();: "Vorn.:";: ();: B$();): ();: "geb.:";: ();: B$()M ();} "Alter:";: ();: ALT; );: ();Ҕ "Groesse:";: ();: GRO;): ();: "Geschlecht:";: ();: B$()ؔ   )"Soll"; )"Ist";  ) B$( ); 2);"Werte"X C$"aa" 0)"FEV";6)"FVC";<)"AGW" : 0)"FEV";6)"FVC" -------------------- 1.Zeile --------------------------------- "FVC(l):";: "######.#";EMD;: "#######.#";DKD;: "+########.#";DFVD;: "#############.#";FEV1.1;:S ---Markierung des groessten Messwertes -----------------------g A "*";:}* A " ";:4 "###.#";FVC1;: B "*";:> B " ";:ݖH C$"aa" "###.#";AGW : "R ------------------- 2.Zeile ----------------------------------\ B$();: "######.#";FMD;: "#######.#";CKD;: "+########.#";DFED;: "#############.#";FEV1.2;:՗f ---Markierung des groessten Messwertes -----------------------p A "*";:z A " ";:# "###.#";FVC2;: B "*"7 B " "w B : --------- 3.Zeile -------------------------------} )"Bewertung FVC:";B$( )  )"FEV:";B$( ) C$"aa"  )"AGW:";PAGWD;"% Sollwert"I A$"ar" "FEV(1) Aenderung :";: "+###.";ID;: "%";: () (f) "0" ();: B$()O j 2)"(Unterschrift)" ();: ()"l"();ϙ ++++++++++++++++ zurueck ins Hauptprogramm +++++++++++++++++++ ::::::::  B$ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++. ---------- noch Unterprogramme des Druckprogrammes -----------̚8 --------------------3.Zeile ----------------------------------B C$"aa" ~ : VL5V () (f) "0" (-);: "###.#";FEV1.3;: A "*";:K` A " ";:oj "###.#";FVC3;: B "*"utț~ "AGW(l):";: "######.";GMD;: "########.";AGWD;: "+#########.";DAGWD; "##############.#";FEV1.3;: A "*";: A " ";:3 "###.#";FVC3;: B "*"9~ +++++++++++++++ Ende des Druckprogrammmes ++++++++++++++++++++Ϝ +++++ wenn Arubendol ja, dann Wiederholung ohne Kopf-Eingabe + ( ): . ++++++++++++++ Unterprogramm Datum +++++++++++++++++++++++++++f Umwandlung des Datums in numerische Variable|K1(,B$(),".") K2(K1,B$(),".") K1 X$(B$(),)͝ K1 X$(B$(),)۝(D1(X$)2 K2K1 Y$(B$(),K1,)#< K2K1 Y$(B$(),K1,)1FD2(Y$)IPZ$(B$(),K2,)WZD3(Z$)]dn ++++++++++++++ Unterprogramm Geburtsdatum ++++++++++++++++++++x Umwandlung des Geburts-Datums in numerische VariableK3(,B$(),".")K4(K3,B$(),".")- K3 U$(B$(),)I K3 U$(B$(),)WG1(U$){ K4K3 V$(B$(),K3,) K4K3 V$(B$(),K3,)G2(V$)şW$(B$(),K4,)ӟG3(W$) ------------ Berechnung des Alters --------------------------&ALT1D3G3: D2G2 "Q D2G2 ALTALT1j D2G2 ALTALT1p" D1G1 ALT ALT1 : ALTALT1,6 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++@*J +++++ Unterprogramme fuer Korrektur falscher Eingaben +++++++xT ..LPRINT CHR$(7).. = Glocke des Druckers; bei Ausfall alle 'L' loeschen^ A$(,)" ": (): A$(,)"Groessenangabe falsch": D h A$(,>)" ": (): A$(,)"Geschlechtsangabe falsch": bEr A$( ,4)" ": ():A$(,);B$(): >~| A$( ,<)" ": ():A$(,);B$(): \ A$( ,4)" | ": ():A$(,);B$(): > A$( ,4)" ": ():A$(,);B$(): , A$( ,<)" ": ():A$(,);B$(): j A$( ,4)" | ": ():A$(,);B$():  A$( ,4)" ": (): A$(,);B$(): ܣ A$( ,<)" ": (): A$(,);B$():  A$( ,4)" | ": (): A$(,);B$(): S A$( ,D)" ": ():A$(,);B$():  A$( ,)" ": (): A$(,)"Datumsangabe falsch;bitte wiederholen !": @ A$( ,)" ": (): A$(,)"Zimmertemperatur falsch;bitte wiederholen": hg A$( ,)" ": (): A$(,)"Luftdruck falsch; bitte wiederholen": |٥ A$(,-)" ": (): A$(,)"Geburtsdatum offensichtlich falsch;bitte neu eingeben": Y A$(,>)" ": (): A$(,)"Alter und Geschlechtsangabe stimmen nicht ueberein; bitte Geschlecht aendern!": b A$(,-)" ": (): A$(,)"Kinder < 3 Jahren sollten keinen Spirotest machen;geben Sie Geb.-Datum ein": ,-)" ": (): A$(,)"Kinder < 3 Jahren sollten keinen Spirotest ma