+ All Categories

LP INFO

Date post: 08-Oct-2015
Category:
Upload: bianca-tizzi
View: 3 times
Download: 0 times
Share this document with a friend
Description:
Info
9
 MG - Lucrarea practică 12 2014/2015 UMF “Carol Davila” –  Informatică Medicală şi Biostatistică  160 Lucrarea practică 12  Indicaţii generale : Una dintre cele mai importante activităţi în legătură cu baza de date a spitalului este raportarea (inclusiv pe hârtie) a unor date selectate. Această activitate presupune (la fel ca şi cea de selectare) două faze: î n prima fază este creată macheta de raportare, urmând ca în faza a doua să fie obţinut raportul propriu-zis. Dar scopul principal pentru care sunt create şi întreţinute bazele de date îl constituie obţinerea, într -un timp cât mai scurt, a unor informaţii utile conţinute în datele  plasate în tabele de date. Una dintre cele mai importante facilităţi ale bazelor de date este  posibilitatea obţinerii unor date cu caracter global despre înregistrări (cum ar fi, de exemplu, calculul vârstei medii a pacienţilor trataţi de un medic, din înregistrările  pacienţilor în care apare codul numeric personal –  cod în care este conţinută data naşterii). Veţi exersa câteva dintre acestea. În această lucrare practică:  a) veţi crea machete de raportare şi le veţi modifica;   b) veţi crea machete pentru etichete, exersând controlul hârtiei;  Teme 47: machete de raportare 48: etichete suplimentară: baze de date complexe Softul ce va fi utilizat în lucrarea practică: Vi su a l F o xPr o  
Transcript
  • MG - Lucrarea practic 12 2014/2015 UMF Carol Davila Informatic Medical i Biostatistic

    160

    Lucrarea practic 12 Indicaii generale: Una dintre cele mai importante activiti n legtur cu baza de date a spitalului este

    raportarea (inclusiv pe hrtie) a unor date selectate. Aceast activitate presupune (la fel ca i cea de selectare) dou faze: n prima faz este creat macheta de raportare, urmnd ca n faza a doua s fie obinut raportul propriu-zis.

    Dar scopul principal pentru care sunt create i ntreinute bazele de date l constituie obinerea, ntr-un timp ct mai scurt, a unor informaii utile coninute n datele plasate n tabele de date. Una dintre cele mai importante faciliti ale bazelor de date este posibilitatea obinerii unor date cu caracter global despre nregistrri (cum ar fi, de exemplu, calculul vrstei medii a pacienilor tratai de un medic, din nregistrrile pacienilor n care apare codul numeric personal cod n care este coninut data naterii). Vei exersa cteva dintre acestea.

    n aceast lucrare practic: a) vei crea machete de raportare i le vei modifica; b) vei crea machete pentru etichete, exersnd controlul hrtiei;

    Teme 47: machete de raportare

    48: etichete

    suplimentar: baze de date complexe

    Softul ce va fi utilizat n lucrarea practic: Visual FoxPro

  • UMF Carol Davila Informatic Medical i Biostatistic MG - Lucrarea practic 12 2014/2015

    161

    Tema 47: machete de raportare.

    Preluai fiierele LP12_*.* (ar trebui s gsii patru) i deschidei tabelul de date LP12_1.dbf. Coninutul su ar trebui s v fie familiar: avei nregistrri despre 42 de pacieni, incluznd vrsta n ani n momentul internrii, sexul, chirurgul care i-a operat, plus multe alte date prelevate.

    O prim operaiune pe care o vei executa va fi calculul automat al categoriei de vrst. n scop didactic vom considera doar trei categorii de vrst:

    1 sub 50 ani 2 ntre 50 si 60 ani 3 peste 60 ani (Exprimarea de mai sus nu este precis: n ce categorie vom plasa pacientul de 50 de

    ani? O vom preciza n algoritmul de calcul.) Introducei n tabel un cmp nou, de tip Numeric (2.0) la fel ca i varsta denumit

    catvar. (ncercai s-l introducei imediat dup cmpul varsta, dup care privii tabelul i controlai poziia n care a fost introdus.)

    n fereastra Command dai comanda de umplere automat a valorilor cmpului, prin

    folosirea funciei IIF() replace all catvar with iif(varsta

  • MG - Lucrarea practic 12 2014/2015 UMF Carol Davila Informatic Medical i Biostatistic

    162

    nregistrare din tabelul de date (zona Detail) i n sfrit cteva rnduri pentru subsolul paginii (zona Page Footer).

    Observai apariia pe bara meniurilor a unui nou meniu, Report. Executai de aici comanda Quick Report. Apsai butonul OK n caseta de dialog Quick Report, obinnd un exemplu de felul n care va trebui s arate macheta de raportare. Observai plasarea n zona Page Header a denumirilor cmpurilor, iar n zona Page Footer a comenzii de inserare a datei calendaristice curente.

    Pentru a vizualiza raportul, folosii comanda Print Preview din meniul File. Fiind un raport automat, standard, este mai puin adecvat comunicrii de rezultate. Probabil c nu vei reui afiarea pe ecran a paginilor raportului, complexitatea structurii tabelului de date fiind prea mare. n continuare vei exersa modul de finisare a unui raport.

    Pentru crearea rapoartelor RECOMANDM FOLOSIREA INSTRUMENTULUI

    AUXILIAR Wizard. Aadar, FileNewReport (Wizard). Vei fi condui, pas cu pas, prin etapele de creare a machetei, apoi vei putea vizualiza i, n cele din urm, imprima rezultatul.

    n prima etap avei de fcut doar o alegere simpl (vezi figura urmtoare). Deocamdat nu este cazul folosirii simultane a datelor din mai multe tabele, ntruct avem unul singur, aadar opiunea aleas va fi Report Wizard, ca n figur.

    Pasul urmtor (Step 1!) este ns esenial. Este obligatoriu s selectm acum toate cmpurile ale cror valori vor fi incluse n raport. Selectai aadar (atenie la butonul ) cmpurile numpren, chirurg, sexf, varsta i catvar.

    La pasul 2 va trebui precizat

    criteriul de grupare a nregistr-rilor. Avem intenia de a grupa pacienii n cele trei grupe de vrst, de aceea vom selecta cmpul catvar.

    (Nu vom folosi criteriile

    secundar i teriar!)

    LP12.dbf

  • UMF Carol Davila Informatic Medical i Biostatistic MG - Lucrarea practic 12 2014/2015

    163

    Alegerea stilului raportului,

    dintre cele cteva gata pregtite, este doar o chestiune de estetic personal (vezi figura urmtoare)

    Este simpl i alegerea poziionrii paginilor de hrtie: nu avem alte posibiliti de alegere, dect ntre orientarea portret i cea peisaj.

    Pasul 5 este ns ceva mai complicat. n mod obinuit, datele imprimate pe foile de hrtie ale rapoartelor sunt ordonate, pentru a

    permite o regsire vizual rapid. ALEGEREA CRITERIULUI DE

    ORDONARE ESTE ESENIAL.

  • MG - Lucrarea practic 12 2014/2015 UMF Carol Davila Informatic Medical i Biostatistic

    164

    S-ar putea ca s existe deja ordonri complexe ale nregistrrilor tabelului! n cazul nostru, avnd de-a face cu lista pacienilor, se impune natural ordonarea alfabetic dup nume i prenume.

    Prin urmare, vei selecta cmpul numpren dintre cele aflate n lista Available fields or index tag, prin folosirea butonului

    (ca mai sus).

    nainte de a ncheia machetarea automat, mai este necesar doar declararea unui titlul pentru raport, fie acesta Raport Sectia I (responsabil numele d-

    voastr). Evident, din butonul radio Select an option and click Finish

    preferm s alegem opiunea Save report for later use.

    Aceasta ne va obliga s acordm un nume fiierului-machet de raportare (cu extensia frx). l vei denumi nume_CATVAR.

    Deschidei acum macheta de raportare pe care tocmai ai creat-o. Aadar, comandai

    FileOpenReport. Vei vedea pe ecran macheta de raportare. Asigurai-v cu ajutorul comenzii Toolbars din meniul View c avei la dispoziie instrumentele necesare pentru controlul machetei de raportare, grupate n Report Controls. Activai i bara de instrumente Standard (vezi figura de mai jos).

    n machet putei observa apariia a trei noi zone: 1) Title, n care apare automat data curent, printr-o apelare a funciei DATE(); 2) Group Header; 3) Group Footer.

    Putei observa efectul machetei de raportare dnd

    comanda, evident, File Print Preview. Capul de tabel din zona

    Page Header nu este corect; ar

    trebui s apar inscripii n clar!

  • UMF Carol Davila Informatic Medical i Biostatistic MG - Lucrarea practic 12 2014/2015

    165

    S ne propunem s efectum modificri n zona Page Header astfel nct s se obin capul de tabel urmtor (inclusiv sublinierea):

    Numele si prenumele Codul chirurgului Sexul Varsta

    (Plasai linia de subliniere pe un rnd separat.) Pentru a putea efectua modificri n zona

    Page Header apsai, de fiecare dat cnd dorii aceasta, butonul simbolizat cu A din caseta

    Report Controls.

    Butonul cu litera A simbolizeaz aici inserarea de text; butoane alturate simbolizeaz inserarea de casete-text, linii orizontale/verticale, dreptunghiuri clasice, dreptunghiuri cu colurile rotunjite, imagini din fiiere sau din cmpuri de tip Picture).

    Un clic stnga deasupra inscripiei Catvar din zona Page Header va determina selectarea acesteia. Odat selectat, o vei putea elimina cu comanda Cut (fie din meniul pe care-l activai cu un clic dreapta, fie din meniul Edit), ori tastnd [Delete]. Eliminai i inscripia Numpren, n locul ei plasnd inscripia Numele i prenumele. n acest scop preluai (cu un clic stnga deasupra butonului cu litera A din Report Controls) un obiect Label; cursorul mausului va lua forma de I-beam pe care o va avea pn la un clic deasupra poziiei pe care ai ales-o. Putei tasta apoi inscripia dorit. (Pentru a controla mai bine plasarea obiectului, este recomandabil s activai opiunea Grid Lines din meniul View.)

    Odat selectat un obiect, comenzile din meniul Format v permit o serie de modificri; ncercai de exemplu efectul comenzii Font, determinnd afiarea inscripiei Numele i prenumele cu fontul Arial, mrimea 14 p.t. (Este bine s tii c n imprimarea rapoartelor pe hrtie fontul Arial este tradiional.)

    n zona Group Header apare reprezentarea unui obiect de tipul Field ce conine valorile din cmpul catvar. Acest valori 1, 2, 3 vor fi nlocuite, n rapoarte, cu inscripii clare, de

    exemplu cu Sub 50 ani, 50-60 ani, Peste 60 ani. Evident, va fi folosit funcia IIF()

    pentru a construi inscripiile: IIF(catvar=1,Sub 50 ani,iif(catvar=2,50-60 ani,Peste

    60 ani))

    Mai precis, cu un dublu-clic deasupra reprezentrii obiectului vei intra direct n Report Expression n care vei gsi caseta Expression ocupat cu TRANS(CATVAR). Deschiznd-o (atenie la butonul din dreapta casetei) vei intra n constructorul de expresii (Expression Builder), vezi figura de mai jos. Aici, atenie, este recomandabil s folosii numai funcii (Functions), cmpuri (Fields), variabile (Variables) alese din listele afiate pentru a construi expresia. Semnele = pot fi tastate, ns recomandm s fie selectate din lista funciilor logice.

    Mai este nevoie de lungirea spaiului de afiare, care poate fi obinut simplu, prin tragere de bordura obiectului, spre dreapta.

    S trecem n zona Detail. Aici trebuie s inem seam de faptul c datele privind sexul

  • MG - Lucrarea practic 12 2014/2015 UMF Carol Davila Informatic Medical i Biostatistic

    166

    pacientului au fost introduse ca date Logical, mai precis sexf este True (numai) pentru

    pacienii de sex feminin. Funcia IIF() ne permite modificarea afirii valorii din celul, din

    SEXF n masculin sau feminin, printr-o comand relativ simpl IIF(sexf=.T.,feminin,masculin)

    Celula va trebui extins suficient (spre dreapta), ceea ce va

    impune i deplasarea spre dreapta a celulei pentru vrst, iar ca urmare i a inscripiei Varsta din zona Page Header.

    (Aceasta din urm va trebui aliniat, ceea ce este recomandabil a se face dup o

    examinare a rezultatului (FilePrint Preview). Observai n zona subsolului (Page Footer) comanda de introducere a paginaiei,

    format din eticheta Page pe care o vei nlocui cu Pagina i combinaia

    ALLTRIM(STR(_PAGENO)). Ea se obine prin aplicarea funciei de conversie STR()

    asupra numrului curent al paginii, urmat de aplicarea funciei ALLTRIM() care elimin

    blancurile din secvenele de caractere. Ar fi de preferat s construii, cu ajutorul constructorului de expresii, valoarea concatenat

    Pagina +ALLTRIM(STR(_PAGENO))

    Lrgii zona Group Footer pentru a introduce aici o informaie de totalizare (a numrului de linii din fiecare grup de pacieni). Plasai aici un obiect de tip Field, care s

    conin de exemplu LP12_1.varsta, dar CalculationsCount n caseta de dialog Expression Builder. ncercai s-l ncadrai cu inscripiile Total i pacienti, realizate ca obiecte de tip Label.

    Ar fi de dorit s introducei n aceast zon a raportului i alte informaii supli-mentare utile, de exemplu vrsta medie a pacienilor.

    Refacei macheta n stilul Executive, lund n considerare gruparea dup chirurg (nu dup categoria de vrst, de care nu avei nevoie), observnd i diferenele n afiare. Vei numi aceast nou machet nume_CHIRURG.

    De data aceasta, n zona Group Footer, sub coloana vrstelor pacienilor, vei plasa un obiect de tip Field, care s conin LP12_1.varsta, dar pentru care alegei

    CalculationsAverage n caseta de dialog Expression Builder. n stnga sa plasai textul Varsta medie.

    Se obinuiete n raportrile medicale ca vrsta medie s fie nsoit de abaterea (deviaia) standard.

    Pentru a respecta aceasta, plasai n zona Group Footer nc un obiect de tip Field, n dreapta precedentului. Putei alege i pentru acesta expresia LP12_1.varsta, ns

    IIF(LP07_1.catvar=1, Sub 50 ani

    LP12_1.nrcrt

    LP12_1.numpren

    LP12_1.chirurg

    LP12_1.sexf

    LP12_1.varsta

    LP12_1.catvar

    LP12_1.obezitate

    LP07_1.fumator

  • UMF Carol Davila Informatic Medical i Biostatistic MG - Lucrarea practic 12 2014/2015

    167

    CalculationsStandard deviation. ntre cele de tipul Field plasai textul Ds aa nct informaiile afiate s arate astfel:

    Varsta medie 48 Ds 3

    (Cum reuii s afiai: Varsta medie 48 (Ds 3)?) Ar mai fi de fcut o singur corecie machetei de raportare nume_CHIRURG (de fapt

    i celei anterioare, nume_CATVAR). Este vorba despre faptul c numele i prenumele fiecrui pacient ar trebui s apar, n zona Detail, cu prima liter majuscul. Transformarea n

    majuscule se poate face imediat, cu ajutorul funciei UPPER(). Aadar, nlocuii n obiectul de

    tip Field ce apeleaz cmpul numpren expresia cu urmtoarea UPPER(LP12_1.numpren)

    (Transformarea n majuscul a doar primei litere din fiecare cuvnt nu este ns att de uor de efectuat! V putei informa n Internet asupra oricrei comenzi sau funcii speciale, de asemenea putei afla cum se pot obine diverse efecte sau rezultate. Este suficient s cerei n Google informaii despre FoxPro i comand.)

    Tema 48: etichete.

    Preluai acum tabelul de date LP12_2.dbf, care conine adresele i numerele de apel telefonic (atenie, neactualizate din 1995!) ale farmaciilor, spitalelor i policlinicilor din Bucureti.

    ncepei prin a actualiza numerele de apel telefonic, tiind c la trecerea de la 6 la 7 cifre s-a adugat o cifr 3 naintea celor ce formau vechiul numr de apel. Ar trebui (atenie,

    cu comanda TablePropertiesModify) s redimensionai cmpul telefon la 7 cifre, apoi s asigurai efectuarea comenzii

    replace all telefon with telefon+3000000

    Modificai apoi structura tabelului, introducnd dou cmpuri Logical, anume farmac (n care valoarea True ar trebui s nsemne c nregistrarea se refer la o farmacie) respectiv spital. (Dac nu reuii, aceasta se ntmpl deoarece fiierului-tabel de date i-a fost activat atributul de protecie Read-only. Dezactivai-l nainte de a ncerca modificri ale coninutului.)

    Completai automat valorile acestor cmpuri. Reamintii-v efectul comenzii: replace all farmac with FARM$nume

    Redenumii tabelul, dup modificri, n nume_TELEFON.dbf. Asigurai-v c fiierul are din nou atributul Read-only activat.

    Fiierul este perfect adecvat pentru exemplificarea etichetelor. Folosirea etichetelor de hrtie, care se lipesc pe plicuri, nu necesit prea multe explicaii; caracteristicile lor sunt evidente. Trebuie menionat doar c dup imprimare pe foaia de hrtie ar putea aprea etichete pe dou-trei coloane.

    i pentru crearea etichetelor recomandm folosirea instrumentului auxiliar Wizard.

    Aadar, FileNewLabel (Wizard). Vei fi condui, pas cu pas, prin etapele de creare a machetei, apoi vei putea vizualiza i, n cele din urm, imprima rezultatul.

    Atenie la Pasul 3 vezi figura de mai jos n care proiectai etichetele. Avei la dispoziie butoane speciale pentru concatenare, plasare de spaii albe, trecerea la rnd nou, plasare de texte. Controlul este simplu.

  • MG - Lucrarea practic 12 2014/2015 UMF Carol Davila Informatic Medical i Biostatistic

    168

    Tem suplimentar: baz de date complex. Creai acum o baz de date nou, denumit nume_HOSPIT (.dbc). n interiorul su

    creai: a) un prim tabel, denumit

    nume_CALIFICARI (.dbf),

    care conine cmpurile cod i denumire, i pe care-l completai cu cel puin 20 de specializri medicale;

    b) tabelul nume_SECTII(.dbf),

    care conine cmpurile cod i denumirea, pe care-l completai cu cel puin 6 secii ale spitalului. Salvai-l i ca pagin Web; c) tabelul nume_MEDICI(.dbf), care conine cmpurile cod, numprenm, cnpm, codc i cods, pe care-l completai cu datele a cel puin 12 medici (cel puin doi n fiecare secie!); d) tabelul nume_PACIENTI(.dbf), care conine cmpurile numprenp, cnpp, adresa, datainter, dataexter, codm. l vei completa cu datele a cel puin 20 de pacieni. e) o relaie de la nume_MEDICI.codc la nume_CALIFICARI.cod; f) o relaie de la nume_MEDICI.cods la nume_SECTII.cod; g) o relaie de la nume_PACIENTI.codm la nume_MEDICI.cod; h) o machet de raportare nume_MEDSEC, prin care s reuii listarea medicilor pe secii; i) o machet de raportare nume_MEDSPEC, prin care s reuii listarea medicilor pe specialiti; j) o machet de raportare nume_PACMED, prin care s reuii listarea pacienilor grupai dup medicul curant; k) o machet de raportare nume_PACVAR, prin care s reuii listarea pacienilor n ordinea cresctoare a vrstei, cu calculul vrstei medii; l) o machet de raportare nume_DURATA, prin care s reuii listarea pacienilor dup durata internrii, cu calculul duratei medii de spitalizare.

    Creai un document Word denumit nume_REPORTS n care plasai informaiile despre crearea de rapoarte (pai, alternative, recomandri). Continuai cu listarea comenzilor din meniul Report, apoi cu cu listarea claselor reprezentate prin butoane specifice din bara de instrumente Report Controls a aplicaiei Visual FoxPro, explicnd la ce poate folosi fiecare. (De exemplu, Label servete la inserarea unui text n cadrul unei machete de raportare .) ncheiai prin a compara machetele pentru etichete cu machetele de raportare.


Recommended