Creeaza.com - informatii profesionale despre


Evidentiem nevoile sociale din educatie - Referate profesionale unice



Acasa » referate » informatica
Proiect atestat profesional informatica - evidenta spital

Proiect atestat profesional informatica - evidenta spital



COLEGIUL NATIONALI.C BRATIANU PITESTI

PROIECT ATESTAT PROFESIONAL

INFORMATICA

EVIDENTA SPITAL

Programul principal: Spital.prg realizeaza o interfata tipmeniu care ofera posibilitatea de a face internari, externari, cautari, listari, lucrul cu bazele de date in functie de celezeceoptiuni principale (“bar-uri”) pe care le afiseaza dupa cum urmeaza:


1.Internare

2.Listare pacienti

3.Doctori

4.Externare pacient

5.Stergere ecran

6.Vizitare pacient

7.Informatii

8.Despre

9.Iesire

10. Iesire in FoxPro

O alta serie de optiuni se vor deschide in urma actionarii asupra unuia dintre bar-urile principale

Bazele de date cu lucreaza programul sunt dupa cum urmeaza :

1.PACIENT.DBF contine campurile : nume, varsta, camera, medic, camera, data _int, data_ext, etaj

2.DOCTORI.DBFcontine campurile: nume, varsta ,specializarea, grad, beginprg, endprg, npac, disp, pac1

3.CAMERA.DBF contine campurile : numar, disponibil, etaj

4.BOALA.DBF contine campurile: simptoma1, simptoma2, simptoma3,simptoma4, nume, test, timp

Spital.prg

set talk off-impiedica afisarea pe ecran sau intr-o fereastra a conversatiei sistemului

set safety off-cu safety off nu se face avertizarea cand se suprascrie un fisier

clear

close all -inchide toate bazele de date cepot fi active

use pacient in 1-foloseste baza de date “pacient.dbf” in zona 1 de lucru

use boala in 2-foloseste baza de date “boala.dbf” in zona 2 de lucru

use doctor in 3-foloseste baza de date “doctor.dbf” in zona 3 de lucru

use camera in 4-foloseste baza de date “camera.dbf” in zona 4 de lucru

declare a[10]-se declara un vector cu 10 elemente

define popup meniu from 5,20 to 15,60 title 'Spital' color scheme 6

- se defineste un popup „meniuincepand cu linia 5 coloana 20 pana la linia 15 coloana 60

a[1]='1.Internare'

a[2]='2.Listare pacienti'

a[3]='3.Doctori'

a[4]='4.Externare pacient - se initializeaza componentele vectorului „a” cu cate o optiune

a[5]='5.Stergere ecran'

a[6]='6.Vizitare pacient'

a[7]='7.Informatii'

a[8]='8.Despre'

a[9]='9.Iesire'

a[10]='10.Iesire FoxPro'

define bar 1 of meniu prompt a[1]

define bar 2 of meniu prompt a[2]

define bar 3 of meniu prompt a[3]

define bar 4 of meniu prompt a[4]-se definesc 10 bar-uri ale meniului principal meniu” fiecare

define bar 5 of meniu prompt a[5]bar fiind o componenta a vectorului „a”

define bar 6 of meniu prompt a[6]

define bar 7 of meniu prompt a[7]

define bar 8 of meniu prompt a[8]

define bar 9 of meniu prompt a[9]

define bar 10 of meniu prompt a[10]

on selection bar 8 of meniu do despre

on selection bar 7 of meniu do info

on selection bar 1 of meniu do internare

on selection bar 2 of meniu do listare- in cazul selectarii unui bar (optiune) se efectueazauna

on selection bar 5 of meniu do stergecrdin procedurile corespunzatoare

on selection bar 6 of meniu do vizitare

on selection bar 3 of meniu do pdoctor

on selection bar 4 of meniu do extern

on selection bar 9 of meniu do iesire

on selection bar 10 of meniu do qtt

activate popup meniu- activeaza pop-upul deja definit si il afiseaza

deactivate popup meniu- dezactiveaza pop-upul si il indeparteza de pe ecran, dar nu si din memorie

procedure qtt

quitprocedura „qtt” realizeaza iesirea dintr-un sub meniu

return

procedure despre

clear- procedura „despre” ascunde meniul principal si afiseaza autorul lucrari de fata

hide popup meniu

wait''

return

procedure iesire

delete file .spital.err- procedura „iesire” face iesirea din program, dezactiveaza meniul, il

deactivate popup meniuindeparteaza din memorie, inchide toate datele de baze.

release popup meniu

close databases

return

procedure internare

clear

hide popup meniu

select 2

replace test with 0 all

select 4

locate for disponibil=.T.

if found()

nrcam=numar

nret=etaj

define window numvars title 'Informatii despre pacient' from 1,1 to 10,45

activate window numvars

@ 2,2 say 'Nume:' get num default(space(25))

read

select 1

locate for alltrim(upper(nume))=alltrim(upper(num))

if found()

@3,2 say 'Pacientul exista in baza de date!'

wait''

release window numvars

else

select 4

@3,2 say 'Varsta: ' get var default 18

read

release window numvars



clear

define window ssii title 'Simptomele pacientului: ' from 1,1 to 22,70

activate window ssii

@4,3 say'Codul simptomelor: '

@5,3 say'0 pentru finalizare'

@6,3 say'1 pentru febra'

@7,3 say'2 pentru durere la inghitire'

@8,3 say'3 lipsa poftei de mancare'

@9,3 say'4 pentru tuse'

@10,3 say'5 pentru iritatii'

@11,3 say'6 daca pacientul nu are pofta de mancare'

@12,3 say'7 pentru dureri de burta'

@13,3 say'8 pentru durere de cap'

@14,3 say'9 pentru transpitratii'

@15,3 say'10 pentru dureri la nivelul cosului pieptului'

@16,3 say'11 pentru senzatii de voma'

select 2

replace test with 0 all

declare simptoma[5]

for i=1 to 5

input 'Simptoma: ' to simpt

if simpt=0

simptoma[i]=0

exit

else

simptoma[i]=simpt

select 2

go top

scan for (simptoma1=simptoma[i]).or.(simptoma2=simptoma[i]).or.(simptoma3=simptoma[i]).or.(simptoma4=simptoma[i])

replace test with test+1

endscan

endif

endfor

select 2

if simptoma[1]=0

?'Nu suferiti de nici o boala,nu e nevoie sa fiti internat'

wait''

release window ssii

return

else

select 4

replace disponibil with .F.

select 2

go top

calculate max(test) to maxsimpt

?'Pacientul este suspect de: '

locate for test=maxsimpt

??nume

?'Urmeaza sa fie internat pentru cercetari.'

wait''

release window ssii

boalal=nume

dataext=timp

select 1

go bottom

append blank

replace nume with num,varsta with var

replace data_int with date(),camera with nrcam,etaj with nret

replace data_ext with date()+dataext

replace boala with alltrim(boalal)

clear

?'Pacientul a fost internat in camera ',alltrim(str(nrcam)),' la etajul ',alltrim(str(nret)),'.'

?'Pacientul este sub ingrijirea doctorului:'

select 3

locate for disp=.t.

if found()

replace npac with npac+1

if npac>=4

replace disp with .f.

endif

if len(alltrim(pac1))=0

replace pac1 with num

else

if len(alltrim(pac2))=0

replace pac2 with num

else

if len(alltrim(pac3))=0

replace pac3 with num

else

if len(alltrim(pac4))=0

replace pac4 with num

endif

endif

endif

endif

??' ',nume

wait''

else

?'Nu mai sunt camere libere,nu se mai fac internari'

wait''

endif

endif

endif

endif

endif

return

procedura interanare

-      ascunde meniul

-      selecteaza zona 2 de lucru

-      inlocuieste toate campurile test cu 0 (adica initial pacientul nu sufera de nicio boala)

-      se selecteaza zona 4

-      cauta pentru campul disponibil

dc.acesta este true adica daca este pat disponibil se inregistreaza nr. camerei si etajul la care se afla

- se defineste o fereastra numvars (care contine informatii despre pacient

- utilizatorului i se cere sa introduca un nume– daca acesta este in baza de date se afiseaza mesaj

- daca nu se selecteaza zona de lucru 4,

- se cere varsta pacientului



- se prezinta o serie de simptome din care se aleg cele corespunzatoare (in functie de simptomele alese se identifica boala si se afiseaza camera si etajul la care va fi internat pacientul, precum si doctorul care se va ocupa de el si intre ce ore)

- daca nu mai sunt paturi libere se afiseaza mesajul : Nu mai sunt camere libere nu se mai fac internari

procedure listare

select 1

hide popup meniu

index on nume to ordpac- listeaza toti pacienti din pacient.dbf. cu campurile: nume sivarsta

?''

list fields nume,varsta off

wait''

return

procedure stergecr

clear- sterge ecranul

return

procedure vizitare

hide popup meniu

clear

@2,2 say 'Nume pacient: ' get num default(space(25))

read

select 1

locate for upper(alltrim(nume))=upper(alltrim(num))

if found()

nrcam=camera

nret=etaj

?'Pacientul este internat in camera: ',alltrim(str(nrcam)),' etaj: ',alltrim(str(nret))

else

?'Pacient inexistent,sau externat.'

endif

wait''

return

Procedura vizitare

-cere utilizatorului sa introduca un nume

– daca acest nume se afla in baza de date atunci este afisatacamerasi etajul in care este pacientul

in caz contrar se afiseaza mesajul : pacient inexistent sau externat.

procedure pdoctor

hide popup meniu

define menu medic Message 'Doctorii din spital'

define pad p1 of medic prompt '<Listare' at 1,26keyalt+l,''

define pad p2 of medic prompt '<Stergere Ecran' at 1,36 key alt+s,''

define pad p3 of medic prompt '<Bolnavi' at 1,53 key alt+b,''

define pad p4 of medic prompt '<Program' at 1,16 key alt+p,''

select 3

on selection pad p1 of medic do listmed

on selection pad p3 of medic do med2bol

on selection pad p2 of medic do stergecr

on selection pad p4 of medic do programmed

clear

activate menu medic

return

Procedura pdoctor

Defineste un meniu cu 4 pad-uri respectiv :p1,p2,p3,p4

-      in cazul selectarii p1 se executa:

- procedura listmed care face listarea tuturor medicilor cu

campurile nume, grad, specializ

-      daca se selecteaza p2 se executa procedura de stergere a ecranului

- daca se selecteaza p3 se executa:

- procedura med2bol afiseaza numele medicului si cati pacineti are acesta in ingrijire

-      daca se selecteaza p4 se executa :

- procedura programmed – listeaza orele intre care un medic are grija de pacinetii sai.

procedure programmed

clear

hide menu medic

?''

ora1=9

ora2=11

select 3

scan

nr=7

if len(alltrim(pac1))!=0

nr=nr+2

endif

if len(alltrim(pac2))!=0

nr=nr+2

endif

if len(alltrim(pac3))!=0

nr=nr+2

endif

if len(alltrim(pac4))!=0

nr=nr+2

endif

if nr=7

ora1=ora1+2

ora2=ora2+2

if ora2>=24

ora1=0

ora2=2

endif

replace beginprg with nr

replace endprg with nr+3

? alltrim(nume),'Nu are nici un pacient in ingrijire.'

else

replace beginprg with 7

replace endprg with nr

?'Medicul ',alltrim(nume),'va avea grija de pacient(i) intre orele: ',beginprg,' si ',endprg

endif

wait''

endscan

return

procedure med2bol

select 3

hide menu medic

?''

scan

?'-------------------------------------------------------'

?nume

if npac>=1

?'are ',npac,' pacient(i):'

?''

if len(alltrim(pac1))!=0

??' ',pac1

endif

if len(alltrim(pac2))!=0

?' ', pac2

endif

if len(alltrim(pac3))!=0

?' ',pac3

endif

if len(alltrim(pac4))!=0

?' ',pac4

endif

else

?'Nu are nici un pacient in ingrijire'

endif

wait''

endscan

return



procedure listmed

hide menu medic

?''

index on grad to ordmed

list nume,grad,specializoff

wait''

return

procedure extern

hide popup meniu

select 1

scan

@2,7 say 'Doriti sa faceti externari?' get varr function '*R Da;Nu' default 0

read

if varr=2

return

endif

locate for date()-data_ext>=0

if found()

num=nume

nrcam=camera

?'Pacientul ',alltrim(num),' este externat'

wait''

clear

delete

pack

select 3

locate for alltrim(upper(pac1))=alltrim(upper(num))

if found()

replace npac with npac-1

if npac<4

replace disp with .t.

endif

replace pac1 with ''

endif

locate for alltrim(upper(pac2))=alltrim(upper(num))

if found()

replace npac with npac-1

if npac<4

replace disp with .t.

endif

replace pac2 with ''

endif

locate for alltrim(upper(pac3))=alltrim(upper(num))

if found()

replace npac with npac-1

if npac<4

replace disp with .t.

endif

replace pac3 with ''

endif

locate for alltrim(upper(pac4))=alltrim(upper(num))

if found()

replace npac with npac-1

if npac<4

replace disp with .t.

endif

replace pac4 with ''

endif

sele 4

locate for numar=nrcam

replace disponibil with .t.

else

?'Ne se pot face externari,sau baza de date este vida'

wait''

clear

endif

endscan

return

procedura extern

-ascunde meniul

-      selecteaza zona 1 de lucru

-      intreaba utilizatorul daca doreste sa faca externari : in caz ca pacientulexista atunci se afiseaza mesaj ca a fost externat si este sters din baza de date, eliberandu-se astefel camera, programul medicului etc.

define pad pp2 of informatii prompt '<Stergere Ecran' at 1,28 key alt+s,''

define pad pp3 of informatii prompt '<Pacienti' at 1,43 key alt+p,''

define pad pp4 of informatii prompt '<Timp' at 1,52 key alt+t,''

on selection pad pp1 of informatii do camr

on selection pad pp3 of informatii do pacb

on selection pad pp2 of informatii do stergecr-se realizeaza un meniu “Informatii utile” cu patru

on selection pad pp4 of informatii do timp2pacpad-uri care afiseaza informatii despre pacienti,

activate menu informatiicamere,perioda internarii

return

procedure camr

define menu camre Message 'Camera'

define pad ppp1 of camre prompt 'Camere libere' at 2,31

define pad ppp2 of camre prompt 'Listacamere' at 3,31

on selection pad ppp1 of camre do infoc

on selection pad ppp2 of camre do listcam

activate menu camre

return

procedure infoc

hide menu camre

?''

sele camera

ii=0

scan for disponibil=.T.

ii=ii+1- calculeaza numarul camerelor disponibile

endscan

?'Camere libere: ',ii

return

procedure listcam

hide menu camre

clear

?''

select camera

scan -listeza camerele care sunt libere sau ocupate

if disponibil=.T.

@3,4 say 'Camera '+alltrim(str(numar))+' este libera.'

wait''

clear

else

@3,4 say 'Camera '+alltrim(str(numar))+' este ocupata.'

wait''

clear

endif

endscan

return

procedure pacb

hide menu informatii

select pacient

?''-listeaza numele pacientilor internatii precum si boala de care sufera

list nume,boala off

return

procedure timp2pac

select pacient

?''

scan all

v=date()-data_int-procedura listeaza perioadainternarii un pacient

if v>0

?alltrim(nume),' este internat de ',alltrim(str(v)),' zile'

else

?alltrim(nume),' a fost internat astazi'

endif

endscan

return





loading...





Politica de confidentialitate

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 Proiect atestat tehnician in turism - carnaval la venezia




Algoritmul de determinare a debitului maxim
Lucrare atestat informatica - Turul Europei
Grafica 3D
Incarcarea rapida prin motoarele de cautare
Pasi Instalare AVG
Cautarea tabelara (Table search)
ANALIZA RISCULUI - METODA MEHARI
ECDIS parte componenta a Sistemelor Integrate de Comanda


Termeni si conditii
Contact
Creeaza si tu