Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




ATESTAT LA INFORMATICA

Informatica


LICEUL _____ _______ ______ _______ ORASUL______________

PROMOTIA 200_



ATESTAT LA INFORMATICA

CU TEMA:

REALIZATOR:  PROF. COORD.:

_______________

EVIDENTA PACIENTILOR

INTR-O CIRCA MEDICALA

-prezentare-

In ultimul deceniu, informatica din tara noastra a facut un spectaculos salt atat pe plan cantitativ, prin infiintarea de noi centre de calcul si atragerea de noi forte de munca in acest domeniu, cat si pe plan calitativ prin abordarea unor probleme din ce in ce mai subtile.

In etapa actuala de dezvoltare a informaticii se observa o crestere insemnata a importantei sistemelor de operare.

Bazele de date constituie un element des intalnit in viata noastra de toate zilele; un dictionar, o carete de telefoane, etc. sunt baze de date folosite din ce in ce mai des, de aceea este necesara optimizarea folosirii acestora cu ajutorul 22522l111w calculatorului.

O baza de date reprezinta un amsamblu de date integrat anume, structurat si dotat cu o descriere la aceste structuri. Descrierea poarta numele de dictionar de date sau meto-date si creaza o independenta intre datele propriuzise si programe.

Tema acestui atestat, "EVIDENTA PACIENTILOR INTR-O CIRCA MEDICALA", a fost inspirata de necesitatea optimizarii accesului rapid la anumite date despre pacientii si medicii unor clinici medicale, precum si adaugarea rapida de noi pacienti in baza.

Acest program vine in sprijinul medicilor de familie ce doresc o mai buna evidenta a activitatii lor medicale, in cadrul clinicilor. Programul preia de la tastatura numele, varsta, adresa, numele parintilor si boala de care sufera un pacient si le memoreaza intr-o baza de date.Pe baza acestor date programul poate afisa lista celor aflati in evidenta in mai multe moduri cum ar fi : lista alfabetica, dupa diagnostic sau dupa numarul de telefon.

Programul permite cautarea unui pacient in functie de nume, adresa, nume parinti, sau numarul de telefon. O facilitate deosebita acestui program este aceea ca, permite calcularea punctajului aferent unui medic existen

in baza. Punctajul unui medic se foloseste pentru a permite deducerea rapida venitului doctorului in functie de numarul de pacienti. In calcularea punctajului s-au evidentiat 3 categorii de pacienti, cu 3 punctaje diferite in functie de varsta acestora. Astfel:

a) 0-18 ani 10 puncte

b) 19-70 ani 5 puncte

c) peste 71 ani 7 puncte

Programul foloseste o baza de date numita CIRCA .DBF si apeleaza la un meniu orizontal cu diverse optiuni, ce permit la randul lor diverse operatii asupra evidentei pacientilor si verificarea rapida a punctajului medicilor. Campurile acestei baze de date sunt prezentate mai jos. (Aceasta baza de date contine inregistrari fictive.)

NUME

C25

VARSTA

N2

ADRESA

M

BOALA

C25

MEDIC

C25

TELEFON

N6

NUME_

MAMA

C25

NUME_

TATA

C25

Programul cupride urmatoarele optiuni:

Opratii baza:> -Adaugare

-Modificare

-Afisare:> -Nume prenume

-Nr. tel.

-Boli

Cautare:> -Nume prenume

-Nume mama

-Nume tata

-Adresa

-Nr. tel.

Utilitare:> -Calcul punctaj

-Despre

Terminare:> -Foxpro

-Nc

Optiunea "OPERATII BAZA" apeleaza la 3 proceduri pentru a inlesni utilizatorului lucrul cu baza de date.

Prima procedura se numeste 'Adaugare' si cu ajutorul acesteia se pot adauga in baza noi pacienti, luarea acestora in evidenta facandu-se dupa nume, prenume, varsta, adresa, boala, medicul, telefonul si numele parintilor.

Cea de-a doua procedura se numeste 'Modificare' si cu ajutorul acesteia se pot face cu usurinta modificari in interiorul bazei de date.

A treia procedura se numeste 'Afisare' si prin intermediul acesteia se pot efectua cautari rapide ale persoanelor din baza in functie de nume, telefon sau boala acestora.

Optiunea "CAUTARE" permite cautarea rapida a unui pacient in functie de numele si prenumele persoanei, adresa, varsta, medicul, boala, numarul de telefon sau numele parintilor.

Optiunea "UTILITARE" permite utilizatorului sa afle cu usurinta punctajul unui medic din baza, apeland procedura 'Calcul punctaj'. Tot aici apeland 'Despre' utilizatorul, poate afla date despre continutul programului.

Optiunea "TERMINARE" permite iesirea rapida a utilizatorului direct in FOXPRO sau in Nc.

Programul este prezentat in continuare:

set talk off

set safety off

set default to c:\circa

set exact off

set cursor on

clear

DEFI WIND F FROM 0,0 TO 24,79 NONE

DEFI WIND F1 FROM 0,0 TO 6,79 NONE

ACTI WIND F1

@ 0,0,6,79 BOX REPLICATE(CHR(221),9)

TEXT

READ timeout 0.1

MOVE window f1 by 3,0

ENDFOR

MOVE window F1 TO 0,0

READ TIMEOUT 2.0

DEAC WIND F3

DEAC WIND F4

CLOSE ALL

CLEAR

DEAC WIND ALL 

FOR I=1 TO 18

DEFINE WINDOW ECRAN FROM I,7 TO I+3,40

ACTIVATE WINDOW ECRAN

ENDFOR

FOR I=1 TO 30

DEFINE WINDOW ECRAN1 FROM 20,I TO 23,I+45

ACTIVATE WINDOW ECRAN1

ENDFOR

READ TIMEOUT 4.0

DEAC WIND ALL

CLOSE ALL

defi menu CIRCA

defi pad opt1 of CIRCA prompt "\<Operatii baza"

defi pad opt2 of CIRCA prompt "\<Cautare"

defi pad opt3 of CIRCA prompt "\<Utilitare"

defi pad opt4 of CIRCA prompt "\<Terminare"

defi popup BAZA

defi bar 1 of BAZA prompt "\<Adaugare"

defi bar 2 of BAZA prompt "\<Modificare"

defi bar 3 of BAZA prompt "\<Afisare"

defi popup CAUT

defi bar 1 of CAUT prompt "\<Nume prenume"

defi bar 4 of CAUT prompt "\<Adresa"

defi bar 5 of CAUT prompt "Numar \<Telefon"

defi popup afisare

defi bar 1 of afisare prompt "\<Nume prenume"

defi bar 2 of afisare prompt "Numar \<telefon"

defi bar 3 of afisare prompt "\<Boli"

defi popup util

defi bar 1 of util prompt "\<Calcul punctaj"

defi bar 2 of util prompt "\<Despre"

defi popup TER

defi bar 1 of TER prompt "\<Foxpro"

defi bar 2 of TER prompt "\<Nc"

on pad opt1 of CIRCA acti popup BAZA

on pad opt2 of CIRCA acti popup CAUT

on pad opt3 of CIRCA acti popup util

on pad opt4 of CIRCA acti popup TER

on sele bar 1 of BAZA do adaugare

on sele bar 2 of BAZA do modificare

on bar 3 of BAZA acti popup afisare

on sele bar 1 of util do punctaj

on sele bar 2 of util modi file despre.prg

on sele popup CAUT do cautare

on sele popup afisare do afisare

on sele popup TER do terminare

procedure adaugare

hide menu circa

hide popup all

clear

defi wind f from 5,15 to 16,60 title "Adaugare date"

acti wind f

wnume =" "

wvarsta =0

wadresa =" "

wmedic =" "

wtelefon =0

wmama =" "

wtata =" "

wboala =" "

@ 2,10 say "Nume =" get wnume

@ 3,10 say "Varsta =" get wvarsta

@ 4,10 say "Adresa =" get wadresa

@ 5,10 say "Boala =" get wboala

@ 6,10 say "Medic =" get wmedic

@ 7,10 say "Telefon =" get wtelefon

@ 8,10 say "Nume-mama=" get wmama

@ 9,10 say "Nume-tata=" get wtata

read

use circa

append blank

replace nr_tel with wtelefon

replace nume_mama with wmama

replace nume_tata with wtata

replace boli with wboala

deac wind f

clear wind

show menu circa

show popup baza

return

procedure modificare

hide menu circa

hide popup all

clear

defi wind f from 2,2 to 22,78 title "Modificare date"

acti wind f

use circa

brow nodelete noappend nomenu

use

deac wind f

clear wind

show menu circa

show popup baza

return

procedure terminare

hide menu circa

hide popup all

clear

do case

case bar()=1

@ 17,15 TO 23,65 DOUBLE

@ 18,27 SAY 'VA MULTUMESC '

@ 19,30 SAY 'PENTRU '

@ 20,36 SAY 'ATENTIA ACORDATA !'

@ 22,32 SAY 'LA REVEDERE !'

wait ''

clear

cancel

case bar()=2

@ 17,15 TO 23,65 DOUBLE

@ 18,27 SAY 'VA MULTUMESC '

@ 19,30 SAY 'PENTRU '

@ 20,36 SAY 'ATENTIA ACORDATA !'

@ 22,32 SAY 'LA REVEDERE !'

wait ''

clear

quit

endcase

deac menu circa

deac popup all

procedure afisare

hide menu circa

hide popup all

clear

use circa

do case

case bar()=1

defi wind f from 2,2 to 22,78 double title "Afisare alfabetica"

acti wind f

index on nume_p to nume

brow noedit nodelete in window f

deac wind f

case bar()=2

defi wind f from 2,2 to 22,78 title "Afisare dupa telefon" double

acti wind f

index on nr_tel to tel

brow field nume_p,nr_tel,vir,adresa,medic,boli,nume_mama,nume_tata noedit nodelete for nr_tel<>0 in wind f

deac wind f

case bar()=3

defi wind f from 2,2 to 22,78 title "Afisare dupa boli" double

acti wind f

index on boli to boli

nume_p,boli,nr_tel,vir,adresa,medic,nume_mama,nume_tata noedit nodelete in wind f

deac wind f

endcase

clear

use

show menu circa

show popup afisare

return

procedure cautare

hide menu circa

hide popup caut

clear

use circa

do case

case bar()=1

defi wind f from 2,2 to 22,78 title "Cautare nume"

acti wind f

wn=space(18)

@ 1,2 say "Introduceti numele " get wn pict "! ! !!!!"

read

wn=upper(alltrim(wn))

go top

locate for nume_p=wn

brow for nume_p=wn

else

@ 2,2 say "Acest nume nu exista in baza"

wait 'Apasa orice tasta!'

endif

use

deac wind f

case bar()=2

defi wind f from 2,2 to 22,78 title "Cautare nume mama"

acti wind f

wn=space(18)

@ 1,2 say "Introduceti numele " get wn pict "! ! !!!!"

read

wn=upper(alltrim(wn))

go top

locate for nume_mama=wn

if found()

brow for nume_mama=wn

else

@ 2,2 say "Acest nume nu exista in baza"

wait 'Apasa orice tasta!'

endif

use

deac wind f

case bar()=3

use circa

defi wind f from 5,15 to 20,60

acti wind f

use circa

wn=space(10)

@ 1,2 say "Introduceti numele " get wn pict "! !!!"

read

go top

locate for nume_tata=wn

if found()

brow for nume_tata=wn

else

wait window "Acest nume nu exista in baza"

endif

use

deac wind f

clear wind

case bar()=4

use circa

defi wind f from 5,15 to 20,60

acti wind f

use circa

wn=space(20)

@ 1,2 say "Introduceti adresa " get wn

read

go top

locate for adresa=upper(alltrim(wn))

if found()

brow for adresa=alltrim(wn)

else

wait window "Aceasta adresa nu exista in baza"

endif

use

deac wind f

clear wind

case bar()=5

use circa

defi wind f from 5,15 to 20,60

acti wind f

use circa

wn=0

@ 1,2 say "Introduceti numarul de telefon " get wn pict "999999"

read

go top

locate for nr_tel=wn

if found()

brow for nr_tel=wn

else

wait window "Acest numar de telefon nu exista in baza"

endif

use

deac wind f

clear wind

endcase

clear

show menu circa

show popup caut

return

** ** ******

procedure punctaj

use circa

define wind f from 5,5 to 15,75 double title "Calcul punctaj doctor"

acti wind f

@ 1,1 say "Doctor=" get wdoctor default space(25)

read

wdoctor=upper(alltrim(wdoctor))

locate for medic=wdoctor

if found()

count for (vir<=18)and(medic=wdoctor) to p18

count for (vir>=18)and(vir<=70)and(medic=wdoctor) to p33

count for (vir>70)and(medic=wdoctor) to p70

s1=10

s2=5

s3=7

punctaj =s1*p18+s2*p33+s3*p70

clear

@ 1,1 say "pacienti intre 0-18 ani "

@ 1,25 say p18

@ 2,1 say "pacienti intre 18-70 ani "

@ 2,25 say p33

@ 3,1 say "pacienti > 70 ani "

@ 3,25 say p70

@ 4,1 say "punctaj doctor ="

@ 4,25 say punctaj

wait window "Apasa orice tasta!"

else

wait windo "Acest medic nu exista in baza!"

endif

DEAC WIND F

Return

Comenzi si functii

FOXPRO

USE<NUME> -DESCHIDE O BAZA DE DATE CU NUMELE <NUME>;

USE -INCHIDE BAZA DE DATE CURENTA;

APPEND -ADAUGA INREGISTRARI IN BAZA DE DATE CURENTA;

REPLACE -INLOCUIESTE CAMPURI IN BAZA DE DATE;

SET COLOR OF SCHEME -SPECIFICA CULORILE DINTR-O SCHEMA DE . CULOARE;

SET SAFETY ON\OFF -GESTIONEAZA MECANISMUL DE PROTECTIE A  . FISIERELOR;

SET TALK ON\OFF -ACTIVEAZA SAU DEZACTIVEAZA AFISAREA

INFORMATIILOR IN CURSUL PRELUCRARII;

SHOW MENU -AFISEAZA UN MENIU DEFINIT IN PREALABIL;

SHOW POPUP-AFISEAZA UN MENIU POPUP;

SKIP -MUTA INDICATORUL DE ARTICOL;

SORT TO -SORTEAZA O BAZA DE DATE;

DELETE -MARCHEAZA PENTRU STERGERE INREGISTRARI DIN BAZA DE DATE ACTIVA;

DEFINE MENU -CREAZA UN MENIU LINIE;

DEFINE POPUP-CREAZA UN MENIU POPUP;

BIBLIOGRAFIE

"FOXPRO" -MICROINFORMATICA

"COMENZI SI FUNCTII FOXPRO" -TEORA

"CULEGERE DE PROBLEME FOXPRO"

"BAZE DE DATE" -MICROINFORMATICA

CURSURI

CUPRINS:

PREZENTARE

PROGRAM

COMENZI SI FUNCTII FOXPRO


Document Info


Accesari: 1586
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )