Proiect Bd1

CUPRINS

Capitolul I. ANALIZA SISTEMULUI INFORMATIONAL EXISTENT________________________________4

1.1. Prezentarea generala a unitatii ______________________4

1.1.1. Scurt istoric________________________________4

1.1.2. Modul de constituire ________________________5

1.1.3. Profilul activitatii si obiectivele unitatii_________6

1.2. Prezentarea sistemului informatic existent____________7

1.3. Analiza mediului extern si a relatiilor acestuia cu Spitalul Judetean

Mehedinti_______________________________________10

1.3.1. Prezentarea relatiilor cu alte firme ___________10

1.3.2. Prezentarea principalelor relatii cu institutiile guvernamentale___________________________11

1.4. Studiul structurii organizatorice ale unitatii__________14

1.4.1. Prezentarea organigramei unitati____________14

1.5. Analiza functionala a activitatii studiate_____________14

1.5.1. Prezentarea succinta a functiuni compartimentului

farmacie_________________________________14

1.5.2. Prezentarea modului de conectare si a relatiilor dintre compartimentul farmacie si celelalte compartimente din unitate________________________________________16

1.5.3. Actele normative in vigoare ce reglementeaza farmacia______________________________________ 17

1.6. Analiza documentelor sau altor surse informationale privind activitatea studiata ____________________________________18

1.7. Prezentarea critica a sistemului informational existent ___20

Capitolul II. PROIECTAREA GENERALA A SISTEMULUI INFORMATIC____________________________26

2.1. Definirea obiectivelor si cerintelor sistemului informatic propus_______________________________________________27

2.2. Proiectarea situatiilor de iesire_______________________29

2.3. Proiectarea bazei informationale_____________________34

2.4.1. Determinarea continutului bazei informationale__34

2.4.2. Definirea entitatilor bazei informationale________35

2.4.3. Codificarea atributelor bazei informationale_____36

2.4. Proiectarea documentelor de intrare__________________37

Capitolul III. PROIECTAREA DE DETALIU A UNITATILOR FUNCTIONALE___________________________39

Proiectarea fisierelor de baza___________________40

3.1.1.Proiectarea fisierelor permanente_________40

3.1.2.Proiectarea fisierelor variabile____________40

Proiectarea prelucrarilor specifice ale unitatilor functionale__________________________________43

3.2.1.Stabilirea ordinii de prelucrare a fisierelor_43

3.2.1.Determinarea unitatilor de prelucrare_____43

3.3.Proiectarea structurii unitatilor de prelucrare_____44

3.3.1. Dialogul cu unitatile de prelucrare________44

3.3.2. Proiectarea iesirilor pe videoformat_______45

3.4.Proiectarea structurii unitatilor de prelucrare_____46

Determinarea modulelor de prelucrare____46

Organigrama de sistem a unitatilor de prelucrare___________________________49

Capitolul IV. ELABORAREA SI TESTAREA PROGRAMULUI INFORMATIC____________________________50

=== CAP4bun ===

Capitolul IV PREZENTAREA PROGRAMULUI INFORMATIC

4.1. PREZENTAREA INTERFETEI UTILIZATOR A PROGRAMULUI

Meniul principal cu submeniul “ INTRARI ” activat :

Meniul principal cu submeniul “ OPERATII ” activat :

Meniul principal cu submeniul “ IESIRE ” activat :

Introducerea datelor privind evidenta medicamentelor:

4.2. PREZENTAREA SITUATIILOR DE IESIRE A PROGRAMULUI

In acest subcapitol vom prezenta principalele situatii de iesire asa cum sunt redate ele de program

4.3. PREZENTAREA PROGRAMULUI SURSA

SET TALK OFF

CLEAR

CLOSE ALL

SET CENTURY ON

SET DATE DMY

DEFINE WINDOW FER1 FROM 0,0 TO 49,101 TITLE "EVIDENTA MEDICAMENTELOR"

DEFINE WINDOW FER2 FROM 0,0 to 49,101

******************************** DEFINIREA MENIULUI *************************************

DEFINE MENU princ

DEFINE PAD OPT1 OF princ PROMPT "INTRARE" AT 4,10

DEFINE PAD OPT2 OF princ PROMPT "OPERATII" AT 4,40

DEFINE PAD OPT3 OF princ PROMPT "IESIRE" AT 4,70

ON PAD OPT1 OF princ ACTIVATE POPUP intr

DEFINE POPUP intr FROM 6,12 TO 8,30

DEFINE BAR 1 OF intr PROMPT "INTRARE MEDICAMENT"

DEFINE BAR 2 OF intr PROMPT "MODIFICARE PRET"

ON SELECTION BAR 1 OF intr DO PR1

ON SELECTION BAR 2 OF intr DO PR11

ON PAD OPT2 OF princ ACTIVATE POPUP oper

DEFINE POPUP oper FROM 6,42 TO 11,63

DEFINE BAR 1 OF oper PROMPT "AFISARE"

DEFINE BAR 2 OF oper PROMPT "VANZARE"

DEFINE BAR 3 OF oper PROMPT "MODIFICARE"

DEFINE BAR 4 OF oper PROMPT "STERGERE"

DEFINE BAR 5 OF oper PROMPT "TEST DE VALABILITATE"

ON BAR 1 OF oper ACTIVATE POPUP afis

DEFINE POPUP afis FROM 6,65 TO 8,85

DEFINE BAR 1 OF afis PROMPT "INTRARILE DINTR-O ZI"

DEFINE BAR 2 OF afis PROMPT "DATE MEDICAMENT"

ON SELECTION BAR 1 OF afis DO PR2

ON SELECTION BAR 2 OF afis DO PR3

ON SELECTION BAR 2 OF oper DO PR4

ON SELECTION BAR 3 OF oper DO PR5

ON SELECTION BAR 4 OF oper DO PR6

ON SELECTION BAR 5 OF oper DO PR7

ON PAD OPT3 OF princ ACTIVATE POPUP ies

DEFINE POPUP ies FROM 6,72 TO 8,80

DEFINE BAR 1 OF ies PROMPT "FOX"

DEFINE BAR 2 OF ies PROMPT "WINDOWS"

ON SELECTION BAR 1 OF ies DO PR8

ON SELECTION BAR 2 OF ies DO PR9

ACTIVATE WINDOW FER1

ACTIVATE MENU princ

DEACTIVATE WINDOW FER1

RETURN

*************************** PROCEDURILE ************************

PROCEDURE PR1

DELETE FILE FIS.IDX

DELETE FILE FIS1.IDX

ACTIVATE WINDOW FER2

CLEAR

SELECT 1

USE MEDIC1

INDEX ON COD TO FIS.IDX

SELECT 2

USE MEDIC2

INDEX ON COD TO FIS1.IDX

SW=" "

@ 4,6 SAY "DORITI SA INTRODUCETI DATE? (D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

SCATTER MEMVAR BLANK

@ 4,6 SAY "INTRODUCETI URMATOARELE DATE:"

@ 5,3 SAY "*******************************************"

@ 9,4 SAY PADR("CODUL MEDICAMENTULUI",42)+":" GET M.COD PICTURE "99999"

@ 11,4 SAY PADR("DENUMIREA MEDICAMENTULUI",42)+":" GET M.DEN PICTURE "XXXXXXXXXXXXXXX"

@ 13,4 SAY PADR("DENUMIREA FURNIZORULUI",42)+":" GET M.DENF PICTURE "XXXXXXXXXXXXXXX"

@ 15,4 SAY PADR("FAX FURNIZOR",42)+":" GET M.FAXF PICTURE "XXXXXXXXXX"

@ 17,4 SAY PADR("TELEFON FURNIZOR",42)+":" GET M.TELEF PICTURE "XXXXXXXXXX"

@ 19,4 SAY PADR("CANTITATEA PRIMITA",42)+":" GET M.CANTF PICTURE "9999"

@ 21,4 SAY PADR("DATA FABRICATIEI MEDICAMENTULUI",42)+":" GET M.DATA_F PICTURE "99/99/99"

@ 23,4 SAY PADR("DATA EXPIRARII MEDICAMENTULUI",42)+":" GET M.DATA_E PICTURE "99/99/99"

@ 25,4 SAY PADR("VALOARE FACTURA",42)+":" GET M.VALF PICTURE "999,999,999"

@ 27,4 SAY PADR("DATA INTRARII",42)+":" GET M.DATA_I PICTURE "99/99/9999"

READ

M.VAL_TVA=M.VALF*0.19

C1=M.COD

D1=M.DEN

CANT1=M.CANTF

M.CANTR=CANT1

V1=M.VALF

APPEND BLANK

GATHER MEMVAR

SELECT 1

GO TOP

SEEK C1

IF FOUND()

CCC=CANT+CANT1

REPLACE CANT WITH CCC

ELSE

SCATTER MEMVAR BLANK

M.COD=C1

M.DEN=D1

M.CANT=CANT1

AD=0

@ 30,6 SAY PADR("INTRODUCETI ADAOSUL COMERCIAL DORIT",42)+":" GET AD PICTURE "999"

READ

M.PR=((V1/CANT1)*(AD/100))*1.19

APPEND BLANK

GATHER MEMVAR

ENDIF

SW=" "

@ 35,6 SAY "DORITI SA MAI INTRODUCETI DATE? (D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLEAR

DEACTIVATE WINDOW FER2

CLOSE ALL

RETURN

PROCEDURE PR11

DELETE FILE FIS2.IDX

ACTIVATE WINDOW FER1

CLEAR

SELECT 1

USE MEDIC1

INDEX ON COD TO FIS2.IDX

SW=" "

@ 4,6 SAY " DORITI SA MODIFICATI PRETUL UNUI MEDICAMENT? (D/N)" GET SW PICTURE "X"

READ

DO WHILE UPPER(SW)="D"

CLEAR

V1=0

@ 2,6 SAY "INTRODUCETI CODUL MEDICAMENTULUI:" GET V1 PICTURE "99999"

READ

IF SEEK(V1,"MEDIC1","COD")

@ 5,6 SAY "INFORMATIILE CAUTATE SUNT URMATOARELE:"

@ 6,3 TO 6,50

@ 7,6 SAY PADR("NUME MEDICAMENT",30)+":"

@ 7,38 SAY DEN

@ 9,6 SAY PADR("CANTITATE EXISTENTA IN STOC",30)+":"

@ 9,38 SAY CANT

@ 11,6 SAY PADR("PRET MEDICAMENT",30)+":"

@ 11,38 SAY PR

TASTA=" "

@ 14,6 SAY " DORITI SA MODIFICATI PRETUL? (D/N)" GET TASTA PICTURE "X"

READ

IF UPPER(TASTA)="D"

AD=0

PRF=0

@ 16,6 SAY PADR("INTRODUCETI ADAOSUL COMERCIAL DORIT",45)+":" GET AD PICTURE "999"

@ 17,6 SAY PADR("INTRODUCETI NOUL PRET DE LA FURNIZOR",45)+":" GET PRF PICTURE "9,999,999,999"

READ

P=(PRF*(AD/100))*1.19

REPLACE PR WITH P

@ 18,6 SAY PADR("NOUL PRET ESTE",30)+":" GET PR PICTURE "99,999,999.99"

ELSE

CLEAR

ENDIF

ELSE

@ 5,6 SAY " NU EXISTA MEDICAMENT CU ACEST COD !!"

ENDIF

SW=" "

@ 25,6 SAY " DORITI SA MAI STABILITI UN NOU PRET ? (D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLOSE ALL

CLEAR

DEACTIVATE WINDOW FER2

RETURN

PROCEDURE PR2

DELETE FILE FIS3.IDX

ACTIVATE WINDOW FER2

CLEAR

SELECT 2

USE MEDIC2

INDEX ON DATA_I TO FIS3.IDX

SW=" "

@ 4,6 SAY "DORITI INTRARILE DINTR-O ANUMITA ZI? (D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

ZIUA={ / / }

@ 4,6 SAY "INTRODUCETI ZIUA DORITA :" GET ZIUA PICTURE "99/99/9999"

READ

SEEK ZIUA

IF FOUND()

CLEAR

@ 2,36 SAY "INTRARILE DIN "+DTOC(ZIUA)

@ 3,1 TO 5,97 "*"

@ 4,2 SAY " COD * DEN.MEDICAMENT * DEN. FURNIZOR * CANTITATE PRIMITA * VALOARE * DATA EXPIRARII "

I=1

DO WHILE ZIUA=DATA_I

@ 6+I,2 SAY COD PICTURE "99999"

@ 6+I,9 SAY DEN PICTURE "XXXXXXXXXXXXXXX"

@ 6+I,28 SAY DENF PICTURE "XXXXXXXXXXXXXXX"

@ 6+I,53 SAY CANTF PICTURE "9999"

@ 6+I,64 SAY VALF PICTURE "9,999,999,999"

@ 6+I,84 SAY DATA_E PICTURE "99/99/9999"

I=I+1

SKIP

ENDDO

@ 7+I,1 TO 7+I,97 "*"

ELSE

@ 8,6 SAY "NU S-AU REALIZAT INTRARI IN ACEASTA ZI !!!"

ENDIF

SW=" "

@ 35,6 SAY "DORITI SA INTRODUCETI O ALTA ZI? (D/N)" GET SW PICTURE "X"

READ

ENDDO

CLEAR

DEACTIVATE WINDOW FER2

CLOSE ALL

RETURN

PROCEDURE PR3

DELETE FILE FIS10.IDX

DELETE FILE FIS11.IDX

ACTIVATE WINDOW FER2

CLEAR

SELECT 1

USE MEDIC1

INDEX ON DEN TO FIS10.IDX

SELECT 2

USE MEDIC2

INDEX ON DEN TO FIS11.IDX

SELECT 1

SET RELATION TO DEN INTO MEDIC2

SET SKIP TO MEDIC2

SW=" "

@ 4,6 SAY "DORITI LISTA FURNIZORILOR UNUI MEDICAMENT ? (D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

D=" "

@ 2,6 SAY "INTRODUCETI DENUMIREA MEDICAMENTULUI:" GET D PICTURE "XXXXXXXXXXXXXXX"

READ

CLEAR

SEEK D

IF FOUND()

@ 2,20 SAY PADR("DENUMIRE MEDICAMENT",22)+":"

@ 2,44 SAY D

@ 3,20 SAY PADR("CODUL",22)+":"

@ 3,44 SAY COD

@ 4,20 SAY PADR("PRET",22)+":"

@ 4,44 SAY PR

@ 5,1 TO 7,97 "*"

@ 6,2 SAY " DEN. FURNIZOR * DATA INTRARII * CANT. PRIMITA * CANT. RAMASA * DATA EXPIRARII "

I=1

SELECT 2

DO WHILE NOT EOF() .AND. B.DEN=D

@ 7+I,3 SAY B.DENF PICTURE "XXXXXXXXXXXXXXX"

@ 7+I,24 SAY B.DATA_I PICTURE"99/99/9999"

@ 7+I,47 SAY B.CANTF PICTURE "9999"

@ 7+I,68 SAY B.CANTR PICTURE "9999"

@ 7+I,84 SAY B.DATA_E PICTURE "99/99/9999"

I=I+1

SKIP

ENDDO

@ 8+I,1 TO 8+I,97 "*"

ELSE

@ 8,6 SAY "NU EXISTA ACEST MEDICAMENT !!!"

ENDIF

SW=" "

@ 35,6 SAY "DORITI SA INTRODUCETI UN ALT MEDICAMENT ? (D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLEAR

DEACTIVATE WINDOW FER2

CLOSE ALL

RETURN

PROCEDURE PR4

DELETE FILE FIS5.IDX

DELETE FILE FIS6.IDX

ACTIVATE WINDOW FER2

SELECT 1

USE MEDIC1

INDEX ON DEN TO FIS5.IDX

SELECT 2

USE MEDIC2

INDEX ON DEN TO FIS6.IDX

SW=" "

@ 4,6 SAY " DORITI SA INREGISTRATI O VANZARE ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

DE=" "

DEF=" "

DI={ / / }

@ 4,6 SAY PADR("INTRODUCETI DENUMIREA MEDICAMENTULUI",36)+":" GET DE PICTURE "XXXXXXXXXXXXXXX"

@ 5,6 SAY PADR("INTRODUCETI DENUMIREA FURNIZORULUI",36)+":" GET DEF PICTURE "XXXXXXXXXXXXXXX"

@ 6,6 SAY PADR("INTRODUCETI DATA INTRARII",36)+":" GET DI PICTURE "99/99/9999"

READ

W=0

GO TOP

DO WHILE NOT EOF() .AND. W=0

IF DE=DEN .AND. DEF=DENF .AND. DI=DATA_I

W=1

@ 9,6 SAY "INFORMATIILE CAUTATE SUNT URMATOARELE :"

@ 10,3 TO 10,50 "*"

@ 12,6 SAY PADR("COD MEDICAMENT",25)+":"

@ 12,33 SAY COD

@ 14,6 SAY PADR("CANTITATE PRIMITA",25)+":"

@ 14,33 SAY CANTF

@ 16,6 SAY PADR("DATA FABRICATIEI",25)+":"

@ 16,33 SAY DATA_F

@ 18,6 SAY PADR("DATA EXPIRARII",25)+":"

@ 18,33 SAY DATA_E

@ 20,6 SAY PADR("CANTITATEA RAMASA ",25)+":"

@ 20,33 SAY CANTR

T=" "

@ 25,6 SAY "DORITI SA INREGISTRATI O VANZAREA LA ACEST MEDICAMENT?(D/N)" GET T PICTURE "X"

READ

IF UPPER(T)="D"

@ 25,6 CLEAR

CV=0

@ 25,6 SAY PADR("INTRODUCETI CANTITATEA VANDUTA",35)+":" GET CV PICTURE "9999"

READ

CANTRR=CANTR-CV

REPLACE CANTR WITH CANTRR

SELECT 1

SEEK DE

CANT1=CANT-CV

REPLACE CANT WITH CANT1

ELSE

CLEAR

ENDIF

ENDIF

SKIP

ENDDO

IF W=0

@ 8,5 SAY " NU EXISTA INTRAREA RESPECTIVA !!"

ENDIF

SW=" "

@ 35,5 SAY " DORITI SA INREGISTRATI O ALTA VANZARE ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLEAR

CLOSE ALL

DEACTIVATE WINDOW FER2

RETURN

PROCEDURE PR5

DELETE FILE FIS7.IDX

DELETE FILE FIS8.IDX

ACTIVATE WINDOW FER2

SELECT 1

USE MEDIC1

INDEX ON COD TO FIS7.IDX

SELECT 2

USE MEDIC2

INDEX ON COD TO FIS8.IDX

SW=" "

@ 4,6 SAY " DORITI SA MODIFICATI DATE ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

CD=0

DE=" "

DATAI={ / / }

@ 4,6 SAY PADR("INTRODUCETI CODUL MEDICAMENTULUI",36)+":" GET CD PICTURE "99999"

@ 5,6 SAY PADR("INTRODUCETI DENUMIREA FURNIZORULUI",36)+":" GET DE PICTURE "XXXXXXXXXXXXXXX"

@ 6,6 SAY PADR("INTRODUCETI DATA INTRARII",36)+":" GET DATAI PICTURE "99/99/9999"

READ

W=0

GO TOP

DO WHILE NOT EOF() .AND. W=0

IF CD=COD .AND. DE=DENF .AND. DATAI=DATA_I

W=1

@ 9,6 SAY "INFORMATIILE CAUTATE SUNT URMATOARELE :"

@ 10,3 TO 10,50 "*"

@ 12,6 SAY PADR("DENUMIRE MEDICAMENT",25)+":"

@ 12,33 SAY DEN

@ 14,6 SAY PADR("TELEFON FURNIZOR",25)+":"

@ 14,33 SAY TELEF

@ 16,6 SAY PADR("FAX FURNIZOR",25)+":"

@ 16,33 SAY FAXF

@ 18,6 SAY PADR("CANTITATE PRIMITA",25)+":"

@ 18,33 SAY CANTF

ZZ=CANTF

@ 20,6 SAY PADR("DATA FABRICATIEI",25)+":"

@ 20,33 SAY DATA_F

@ 22,6 SAY PADR("DATA EXPIRARII",25)+":"

@ 22,33 SAY DATA_E

@ 24,6 SAY PADR("VALOARE FACTURA",25)+":"

@ 24,33 SAY VALF

@ 26,6 SAY PADR("VALOARE TVA",25)+":"

@ 26,33 SAY VAL_TVA

@ 28,6 SAY PADR("DATA INTRARII",25)+":"

@ 28,33 SAY DATA_I

T=" "

@ 32,6 SAY "DORITI SA LE MODIFICATI ?(D/N)" GET T PICTURE "X"

READ

IF UPPER(T)="D"

@ 9,6 CLEAR TO 33,6

@ 9,6 SAY "INTRODUCETI NOILE INFORMATII :"

@ 10,3 TO 10,50 "*"

SCATTER MEMVAR BLANK

@ 12,6 SAY PADR("DENUMIRE MEDICAMENT",25)+":" GET M.DEN PICTURE "XXXXXXXXXXXXXXX"

@ 14,6 SAY PADR("TELEFON FURNIZOR",25)+":" GET M.TELEF PICTURE "XXXXXXXXXX"

@ 16,6 SAY PADR("FAX FURNIZOR",25)+":" GET M.FAXF PICTURE "XXXXXXXXXX"

@ 18,6 SAY PADR("CANTITATE PRIMITA",25)+":" GET M.CANTF PICTURE "9999"

@ 20,6 SAY PADR("DATA FABRICATIEI",25)+":" GET M.DATA_F PICTURE "99/9/9999"

@ 22,6 SAY PADR("DATA EXPIRARII",25)+":" GET M.DATA_E PICTURE "99/99/9999"

@ 24,6 SAY PADR("VALOARE FACTURA",25)+":" GET M.VALF PICTURE "999,999,999"

@ 26,6 SAY PADR("VALOARE TVA",25)+":" GET M.VAL_TVA PICTURE "999,999,999"

@ 28,6 SAY PADR("DATA INTRARII",25)+":" GET M.DATA_I PICTURE "99/99/9999"

READ

WW=M.CANTF

GATHER MEMVAR

SELECT 1

SEEK CD

REPLACE CANT WITH CANT-ZZ+WW

ELSE

CLEAR

ENDIF

ENDIF

SKIP

ENDDO

IF W=0

@ 8,5 SAY " NU EXISTA INTRAREA RESPECTIVA !!"

ENDIF

SW=" "

@ 35,5 SAY " DORITI SA MAI MODIFICATI ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLEAR

CLOSE ALL

DEACTIVATE WINDOW FER2

RETURN

PROCEDURE PR6

DELETE FILE FIS9.IDX

ACTIVATE WINDOW FER2

SELECT 1

USE MEDIC1

INDEX ON COD TO FIS9.IDX

SW=" "

@ 4,6 SAY " DORITI SA STERGETI UN MEDICAMENT ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

CD=0

@ 4,6 SAY "INTRODUCETI CODUL MEDICAMENTULUI :" GET CD PICTURE "99999"

READ

IF SEEK(CD,"MEDIC1","COD")

@ 7,6 SAY "INFORMATIILE CAUTATE SUNT URMATOARELE :"

@ 8,3 TO 8,50 "*"

@ 10,6 SAY PADR("DENUMIRE MEDICAMENT",30)+":"

@ 10,38 SAY DEN

@ 12,6 SAY PADR("CANTITATE EXISTENTA IN STOC",30)+":"

@ 12,38 SAY CANT

@ 14,6 SAY PADR("PRET",30)+":"

@ 14,38 SAY PR

T=" "

@ 28,6 SAY "DORITI SA LE STERGETI ?(D/N)" GET T PICTURE "X"

READ

IF UPPER(T)="D"

DELETE

PACK

WAIT WINDOW "INFORMATIILE AU FOST STERSE !!"

CLEAR

ELSE

CLEAR

ENDIF

ELSE

@ 8,5 SAY " NU EXISTA MEDICAMENT CU ACEST COD !!"

WAIT WINDOW "OK"

CLEAR

ENDIF

SW=" "

@ 8,5 SAY " DORITI SA MAI STERGETI UN MEDICAMENT ?(D/N)" GET SW PICTURE "X"

READ

CLEAR

ENDDO

CLEAR

CLOSE ALL

DEACTIVATE WINDOW FER2

RETURN

PROCEDURE PR7

DELETE FILE FIS4.IDX

ACTIVATE WINDOW FER2

CLEAR

SELECT 2

USE MEDIC2

INDEX ON DATA_I TO FIS4.IDX

SW=" "

@ 4,6 SAY "DORITI LISTA MEDICAMENTELOR EXPIRATE ? (D/N)" GET SW PICTURE "X"

READ

CLEAR

DO WHILE UPPER(SW)="D"

GO TOP

TEST=0

DO WHILE NOT EOF() .AND. TEST=0

IF DATA_E < DATE()

TEST=1

ENDIF

SKIP

ENDDO

IF TEST=1

@ 2,36 SAY "LISTA MEDICAMENTELOR EXPIRATE"

@ 3,1 TO 5,97 "*"

@ 4,2 SAY " COD * DEN.MEDICAMENT * DEN. FURNIZOR * CANT. PRIMITA * CANT. EXPIRATA * DATA INTRARII "

I=1

GO TOP

DO WHILE NOT EOF()

IF DATA_E < DATE()

@ 6+I,2 SAY COD PICTURE "99999"

@ 6+I,9 SAY DEN PICTURE "XXXXXXXXXXXXXXX"

@ 6+I,28 SAY DENF PICTURE "XXXXXXXXXXXXXXX"

@ 6+I,51 SAY CANTF PICTURE "9999"

@ 6+I,68 SAY CANTR PICTURE "9999"

@ 6+I,84 SAY DATA_I PICTURE "99/99/9999"

I=I+1

ENDIF

SKIP

ENDDO

@ 7+I,1 TO 7+I,97 "*"

ELSE

@ 8,6 SAY "NU EXISTA MEDICAMENTE EXPIRATE !!!"

ENDIF

SW=" "

@ 35,6 SAY "DORITI SA REALIZATI TESTUL DIN NOU ? (D/N)" GET SW PICTURE "X"

READ

ENDDO

CLEAR

DEACTIVATE WINDOW FER2

CLOSE ALL

RETURN

PROCEDURE PR8

DEACTIVATE MENU

RETURN

PROCEDURE PR9

QUIT

RETURN

=== Proiect ===

CUPRINS

Capitolul I. ANALIZA SISTEMULUI INFORMATIONAL EXISTENT________________________________4

1.1. Prezentarea generala a unitatii ______________________4

1.1.1. Scurt istoric________________________________4

1.1.2. Modul de constituire ________________________5

1.1.3. Profilul activitatii si obiectivele unitatii_________6

1.2. Prezentarea sistemului informatic existent____________7

1.3. Analiza mediului extern si a relatiilor acestuia cu Spitalul Judetean

Mehedinti_______________________________________10

1.3.1. Prezentarea relatiilor cu alte firme ___________10

1.3.2. Prezentarea principalelor relatii cu institutiile guvernamentale___________________________11

1.4. Studiul structurii organizatorice ale unitatii__________14

1.4.1. Prezentarea organigramei unitati____________14

1.5. Analiza functionala a activitatii studiate_____________14

1.5.1. Prezentarea succinta a functiuni compartimentului

farmacie_________________________________14

1.5.2. Prezentarea modului de conectare si a relatiilor dintre compartimentul farmacie si celelalte compartimente din unitate________________________________________16

1.5.3. Actele normative in vigoare ce reglementeaza farmacia______________________________________ 17

1.6. Analiza documentelor sau altor surse informationale privind activitatea studiata ____________________________________18

1.7. Prezentarea critica a sistemului informational existent ___20

Capitolul II. PROIECTAREA GENERALA A SISTEMULUI INFORMATIC____________________________26

2.1. Definirea obiectivelor si cerintelor sistemului informatic propus_______________________________________________27

2.2. Proiectarea situatiilor de iesire_______________________29

2.3. Proiectarea bazei informationale_____________________34

2.4.1. Determinarea continutului bazei informationale__34

2.4.2. Definirea entitatilor bazei informationale________35

2.4.3. Codificarea atributelor bazei informationale_____36

2.4. Proiectarea documentelor de intrare__________________37

Capitolul III. PROIECTAREA DE DETALIU A UNITATILOR FUNCTIONALE___________________________39

Proiectarea fisierelor de baza___________________40

3.1.1.Proiectarea fisierelor permanente_________40

3.1.2.Proiectarea fisierelor variabile____________40

Proiectarea prelucrarilor specifice ale unitatilor functionale__________________________________43

3.2.1.Stabilirea ordinii de prelucrare a fisierelor_43

3.2.1.Determinarea unitatilor de prelucrare_____43

3.3.Proiectarea structurii unitatilor de prelucrare_____44

3.3.1. Dialogul cu unitatile de prelucrare________44

3.3.2. Proiectarea iesirilor pe videoformat_______45

3.4.Proiectarea structurii unitatilor de prelucrare_____46

Determinarea modulelor de prelucrare____46

Organigrama de sistem a unitatilor de prelucrare___________________________49

Capitolul IV. ELABORAREA SI TESTAREA PROGRAMULUI INFORMATIC____________________________50

Capitolul I ANALIZA SISTEMULUI INFORMATIONAL EXISTENT

1.1 PREZENTAREA GENERALA A UNITATII

1.1.1 SCURT ISTORIC

Medicina este arta si stiinta de a prevenii boala, de a alina suferinta si de a vindeca.

Primele date asupra medicinii in tara noastra sunt deja din neolitic si din epoca bronzului, deoarece descoperirea craniului pune in evidenta existenta pe atunci a practicii medicale.

Abia in secolul al XVIII –lea odata cu izgonirea turcilor se poate vorbi de introducerea si aplicarea pe o scara din ce in ce mai larga si organizata unor masuri adecvate si eficiente de ocrotire a sanatatii. Acestea nu apar intamplator, ci ca o necesitate imperios ceruta de realitatile de fiecare zi.

Primele masuri si reforme sanitare se iau in Mehedinti dupa legea aulica din 1752 si 1770.

In secolul al XVIII –lea apar pentru prima data medici cu diploma si asistam la aparitia unor forme organizatorice menite sa asigure o asistenta medicala cat mai adecvata.

Primul spital cunoscut sub numele de Spitalul Central mai tarziu Spitalul de Stat avea capacitatea de 400 de bolnavi pe an iar in 1940 avea 14 paturi deservite de cinci medici si zece cadre medicale.

Ca unitati spitalicesti teritoriale au existati in secolul al XIX –lea pe langa spitalele infiintate in secolul precedent un spital de garnizoana si doua institutii de copii.

Tot o consecinta a initiativei particulare este infiintarea a Asociatiei Voluntarilor de Salvare functionand datorita ajutorului material al cetatenilor orasului.

In anul 1982 se construieste in Mehedinti Spitalul Judetean in sistem pavilionar, ce urma sa deserveasca populatia judetului, constructia satisfacand cerintele acelor vremuri, fiind cea mai moderna institutie sanitara a provinciei.

Dupa anul 1989 Spitalul Judetean Mehedinti a fost modernizat avand capacitatea de 590 de paturi si un numar de aproape 100 de medici.

-provenienta capitalului

La 20 noiembrie 1998 prin H.G. nr. 808/98 se reinvesteste in modernizarea spitalului si echipamentului tehnic si medicamentos in tratarea bolnavilor.

Spitalul Judetean Mehedinti este persoana juridica romana, se organizeaza si functioneaza in conformitate cu dispozitiile legale in vigoare si cu statutul propriu prevazut in anexa nr.1.

Capitalul social al Spitalului Judetean Mehedinti este detinut in intregime de statul roman.

Capitalul social al Spitalul Judetean Mehedinti la data de 30 aprilie 2000 este de 14.686.800 mii lei, fiind integral varsat. Capitalul social se constituie prin preluarea activului si pasivului Directiei Sanitare a Judetului Mehedinti, care se desfiinteaza, pe baza bilantului contabil la data de 30 aprilie 2000, care va fi actualizat, conform legii.

Spitalul Judetean din cadrul Directiei Sanitare a Judetului Mehedinti se afla in coordonarea Ministerului Sanatatii.

Actiunile Spitalului Judetean Mehedinti sunt detinute in totalitate de catre stat, care isi exercita drepturile si obligatiile in calitatea sa de actionar unic prin Ministerul Sanatatii.

-dinamica si structura angajatilor

Inainte de 1989 Spitalul Judetean Mehedinti avea aproximativ 1020 angajati.Trecerea la economia de piata a afectat si acest sector,avand loc restructurari masive, ajungandu-se in prezent la aproximativ 870 angajati, dintre care 70 de medici, 200 asistente.

1.1.2. Modul de constituire

Spitalul Judetean Mehedinti este persoana juridica romana, unitate publica cu capital integral de stat.

Capitalul social este de 14.686.800 mii lei.

Capitalul social al Spitalului Judetean Mehedinti, impartit in 14.686,8 mii lel actiuni nominative, fiecare actiune fiind in valoare nominala de 100.000 lei.

Spitalul Judetean Mehedinti isi are sediul in Municipiul Dr.Tr.Severin cu adresa str. Splai Mihai Viteazu nr.19.

1.1.3. Profilul activitatii si obiectivele unitatii

obiectivele unitatii

Spitalul Judetean printre multele obiective are:

ingrijirea si tratarea bonavilor;

pastreaza prepara si difuzeaza medicamente de orice natura si sub orice forma potrivit prevederilor Farmacoopei Romane in vigoare si conform nomenclatorului aprobat de Ministerului Sanatatii;

depoziteaza produsele conform normelor in vigoare tinandu-se seama de natura si propietatile lor fizico-chimice;

asigura primul ajutor bolnavilor;

asigura controlul prin:

controlul preventiv

verificarea organoleptica si fizica

verificarea operatiilor finale

analiza calitativa a medicamentelor la masa de analiza

asigura educatia sanitara a populatiei in domeniul medicamentului;

informarea personalului medico-sanitar;

prescrierea, prepararea si eliberarea medicamentelor se face potrivit normelor stabilite de Ministerul Sanatatii.

– prezentarea tendintelor unitatii in viitor

Pentru viitor unitatea isi propune cresterea capacitatii de tratare si ingrijire a bolnavilor, perfectionarea echipamentului tehnic si implicit cresterea graduliui de profesionalism a medicilor si a cadrelor medicale din unitate prin colaborarea cu alte spitale atat din tara cat sin strainatate.

– prezentarea pe scurt a produselor

Medicamentele din stoc sunt impartite in clase si anume:

clasa medicamente;

clasa materiale sanitare;

clasa medicamente si materiale sanitare intrate prin Banca Mondiala;

clasa medicamente si materiale sanitare intrate prin programul PHARE;

clasa medicamente si materiale sanitare din donatii;

alte clase ce pot fi formate cand se intocmeste nomenclatorul de medicamente.

1.2. Prezentarea sistemului informatic existent

Sistemul informatic existent in cadrul spitalului este destul de bine pus la punct. Unitatea are un oficiu de calcul in care calculatoarele sunt legate in retea, care este conectata cu calculatorul din biroul directorului general al unitatii.

Firma este dotata cu 64 calculatoare si 50 de imprimante, 17 calculatoare gesindu-se la oficiul de calcul, iar 3 calculatoare se afla la farmacie.

Asa cum am prezentat anterior, calculatoarele sunt conectate in retea de tip PER TO PER si utilizeaza urmatorul soft :

– sisteme de operare : MS-Dos si Windows ’98

utilitarele de birou: Microsoft Word ‘97-2000

programe economice

Sunt realizate si concepute in cadrul unitatii in mediul de programare FoxPro:

Evidenta medicamentelor

Emiterea si evidenta facturilor

Evidenta bolnavilor si furnizorilor

Balanta de verificare

Evidenta si gestiunea echipamentelor de specialitate

Salarii

In continuare vom prezenta componentele sistemului informatic

existent :

PC PENTIUM la 200 MHz

HARD DISK 2,3 GB

Memoria RAM : 16 MB

CD ROM 12X

Calculatorul este partitionat in doua partitii C si D.

Monitorul color SVGA, 14”, cu reglaj analogic

Calculatorul este configurat cu sistemul de operare WINDOWS ’98, avand integrat pachetul OFFICE ’97

PC PENTIUM la 266 MHz

HARD DISK 4,3 GB

Memoria RAM : 16 MB

CD ROM 12X

Calculatorul are o singura partitie C

Monitorul color SVGA, 14”, cu reglaj analogic

Calculatorul este configurat cu sistemul de operare WINDOWS ’98, avand integrat pachetul OFFICE ’97

PC PENTIUM II la 400 MHz

HARD DISK 8 GB

Memoria RAM : 64 MB

CD ROM 48X

Calculatorul este partitionat in doua partitii C si D.

Monitorul color SVGA, 15”, cu reglaj digital

Calculatorul este configurat cu sistemul de operare WINDOWS ’98, avand integrat pachetul OFFICE ’97

PC PENTIUM III la 5000 MHz

HARD DISK 10 GB

Memoria RAM : 64 MB

CD ROM 50X

CD REW HP: 8X

Calculatorul are o singura partitie C

Monitorul color SVGA, 15”, cu reglaj digital

Calculatorul este configurat cu sistemul de operare WINDOWS ’98, avand integrat pachetul OFFICE ’97

Acest calculator este cxel mai performant pe el fiind instalate

toate programele spitalului, iar celelalte fiind folosite ca statii de lucru pentru culegerea de informatii. Calculatorul mai este dota si cu o unitate pentru inscriptionat CD ROM –uri, pe care sunt salvate datele periodic pentru o mai mare siguranta.

IMPRIMANTE

Tip OKI Microline 321

Format A3, A4

Cap de inregistrare matricial cu noua ace

Tip EPSON – FX 11700

Format A3, A4

Cap de inregistrare matricial cu noua ace

Tip SEIKOSHA MP 5300 AI

Format A3, A4

Cap de inregistrare matricial cu noua ace

Tip HPEWLET – PACKARD – 6 LPCL

Format A4, A5

Imprimare laser

Tip NEWLET PACKARD 690 C

Format A4, A5

Imprimare cu jet de cerneala

Tip MP – 895 CXI

Format A4, A5

Imprimare cu jet de cerneala

La nivelul unitatii existand oficiul de calcul toate evidentele se tin pe calculator si majoritatea programelor ruleaza sub limbajul FOX PRO.

Echipamentul mai sus mentionat trebuie instalate si in cadrul farmaciei, farmacistul trebuind sa opereze datele de intrare (note de intrare – receptie) si datele de iesire.

1.3.Analiza mediului extern si a relatiilor acesteia cu Spitalul Judetean Mehedinti

1.3.1. Prezentarea relatiilor cu alte firme

FURNIZORII

Cei mai importanti furnizori sunt cei de la care unitatea face aprovizionarea cu medicamente si echipament de specialitate pentru principala activitae, asigurarea ingrijirii bolnavilor. Pe langa acestia, coexista furnizorii legati de cheltuielile generale ale unitatii: furnizori de apa, alimente , electricitate, etc..

Principalii furnizori:

CENTROFARM S.A.

COCO COM S.R.L.

GIG FARM S.R.L.

S.C. LOTUS S.A.

RENEL Dr. Tr. Severin

S.C. INTIM S.R.L.

S.C. SOREX PROD S.R.L.

Intre firme si principalii furnizori exista o buna comunicare in

cadrul careia se realizeaza contracte cu furnizorii ce se pot extinde peste un an de zile. In cadrul unitatii se realizeaza comenzile de aprovizionare din tara pe baza necesarului de medicamente intocmit de farmacie.

Majoritatea platilor catre furnizori se fac prin ordine de compensare, dar se mai fac plati si cu file CEC sau numerar (foarte rar).

BANCI

Principala banca cu care coopereaza Spitalul Judetean Mehedinti este Banca Comerciala Romana – Filiala Mehedinti banca la care unitatea are cont curent de disponibilitati.

Principalele operatiuni derulate din contul de la BCR sunt:

operatiuni de incasari / plati pe baza fole de CEC, bilet la ordin respectiv ordin de plata;

depuneri / ridicari de numerar evidentiate in urmatoarele documente foaie de varsamant / extras de cont.

In afara de BCR, firma mai are colaborari cu Banca Romana de

Dezvoltare si Banca Nationala unde are deschis un cont curent la vedere.

1.3.2.Prezentarea principalelor relatii cu institutiile guvernamentale

Relatiile dintre Spitalul Judetean Mehedinti si institutiile guvernamentale ale statului sunt determinate in primul rand de obligatiile fiscale ale unitatii catre statul roman.

Principalele relatii sunt legate de Trezoreria statului, Bugetul local, Bugetul statului, Bugetul Asigurarilor Sociale de stat, Bugetul Asigurarilor Sociale de sanatate prin organismele teritoriale ale statului.

Trezoreria statului

Reprezinta organul mijlocitor intre unitate si stat, prin care se deruleaza toate incasarile de la institutiile statului / plati catre stat. Pentru a putea efectua operatiunii de incasare de la Trezorerie unitatea trebuie sa dobandeasca certificat de negrevare, cum ca si-a achitat toate obligatiile catre stat.

Operatiunile de trezorerie ale unitatii nu sunt directe, ci acestea se realizeaza prin intermediul bancii la care unitatea are contul curent.

Bugetul Local

Bugetul local este reprezentat de organismul Directia de Impozite si Taxe Mehedinti care colecteaza totalitatea impozitelor si taxelor care se prevaleaza Bugetului Local:

impozitul pe salarii

taxa pentru mijloacele de transport

alte impozite colectate de Bugetul Local

Pentru aceste impozite si taxe se depun la Directia de Impozite si

Taxe Mehedinti declaratii pana la 30 ianuarie a fiecarui an.

Bugetul Statului

Bugetul Statului este reprezentat in teritoriu de Administratia Financiara Mehedinti din cadrul Directiei Generale a Finantelor Publice si a Controlului Financiar de Stat Mehedinti.

La sediul Administratiei Financiare Mehedinti se depun urmatoarele documente :

declaratie privind obligatiile de plata la Bugetul de Stat

decont privind taxa pe valoare adaugata

Aceste documente se depun si se platesc lunar pana la 25 a lunii

urmatoare.

La sfarsitul anului, unitatea trebuie sa depuna fisa fiscala numarul 1 pentru veniturile din salarii la functia de baza pentru fiecare angajat conform OG 73/1999.

Bugetul Asigurarilor Sociale de Stat

Unitatea trebuie sa depuna tot la sediul Administratiei Financiare Mehedinti o declaratie lunara privind obligatiile de plata catre Bugetul Asigurarilor Sociale de Stat, declaratie care trebuie depusa, precum si platite obligatiile pana la 20 ale lunii urmatoare, reprezentand contributiile la asigurari sociale si anume:

contributia unitatii la asigurarii sociale (30% si 35% la fondul de salarii)

contributia personalului la pensia suplimentara (5%).

Bugetul Asigurarilor Sociale de Sanatate

Se depune declaratia privind obligatiile de plata la fondul initial al

asigurarilor sociale de sanatate:

contributia unitatii la asigurarile sociale de sanatate (7% la fondul de salarii)

contributia personalului la asigurarile sociale de sanatate (7% la fondul de salarii)

Depunerea, precum si plata obligatiilor se face pana la 20 ale lunii

urmatoare.

Agentia pentru Ocupare a Fortei de Munca Mehedinti si Agentia pentru Ocupare si Formare Profesionala

Catre aceste institutii firma are obligatii privind fondul de somaj:

contibutia unitatii la fondul de somaj (5% la fondul de salarii)

contibutia personalului la fondul de somaj (1% la salariul de baza)

Fondul Special de Solidaritate a Persoanelor cu Handicap

Acest fond se determina prin aplicarea procentului de 3% la

fondul de salarii si reprezinta contributia unitatii. Se depune trimestrial o declaratie de plata la Inspectoratul Teritorial de solidaritate a persoanelor cu handicap .

Fondul Special de Sustinere a Invatamantului de Stat

Ca si fondul de solidaritate, Fondul de Sustinere a Invatamantului

de stat se calculeaza prin aplicarea procentului de 2% la fondul de salarii si se prevaleaza la Bugetul Local

1.4.Studiul structurii organizatorice ale unitatii

1.4.1.Prezentarea organigramei unitatii

1.5. Analiza functionala a activitatii studiate

1.5.1.Prezentarea succinta a functiunii compartimentului farmacie

– activitatea compartimentului studiat

Farmacia are ca obiect de activitate asigurarea asistentei cu medicamente. Ea functioneaza ca :

farmacii de circuit deschis (publice) care asigura asistenta cu medicamente a populatiei, a unitatilor sanitare fara farmacii, precum si a unor institutii si organizatii care au actiuni cu caracter sanitar;

farmacii cu circuit inchis care au laboratoare de produse sterile ce asigura asistenta cu medicamente in unitatile sanitare.

Spatiul farmaciilor de circuit inchis va fi astfel organizat, incat

acestea sa cuprinda obligatoriu incaperile destinate exclusiv prepararii si sterilizarii medicamentelor injectabile precum si prepararii apei distilate.

Conditiile de spatiu si dotare sunt cele stabilite de Ministerul Sanatatii.

Medicamentele si celelalte produse farmaceutice se aranjeaza in ordine alfabetica, grupate pe forme farmaceutice si in raport cu calea de administrare (separate pentru uz intern si separate pentru uz extern).

Programul de functionare al farmaciilor se fixeaza in functie de necesitatile de asistenta cu medicamentele si de incadrare a unitatilor cu personal. Programul farmaciilor de circuit inchis se stabileste de catre conducerea unitatii sanitare in care functioneaza si dupa caz cu avizul Oficiului Farmaceutic. Pentru asigurarea asistentei cu medicamente in cazuri de urgente, in afara programului de serviciu, farmaciile pot organiza garda.

La aprovizionarea farmaciilor se va tine seama si de necesitatea constituirii unui stoc de rezerva, care sa sigure o desfasurare continua si in bune conditii a activitatii acesteia.

– sarcinile activitatii realizate de compartimentul studiat

Farmacistul gestionar are in principal urmatoarele sarcini:

organizeaza spatiul de munca pentru realizarea unui flux tehnologic corespunzator specificului activitatii;

intocmeste planul de munca si repartizeaza sarcinile pe oameni;

raspunde de buna functionare a farmaciei;

organizeaza receptia cantitativa si calitativa a medicamentelor si a celorlalte produse farmaceutice intrate in farmacie;

colaboreaza cu unitatile sanitare din teritoriu;

organizeaza proctica studentilor si a elevilor repartizati pentru stagiu in farmacie.

Farmacistul are in principal urmatoarele sarcini:

supravegheaza si coordoneaza activitatea de eliberare a produselor farmaceutice;

asigura si raspunde de depozitarea, conservarea si gestionarea medicamentelor toxice si stupefiante;

participa la receptiacantitativa a medicamentelor;

executa toate lucrarile incredintate de catre farmacistul gestionar.

1.5.2.Prezentarea modului de conectare si a relatiilor dintre compartimentul farmacie si celelalte compartimente din unitate

Compartimentele cu care intra in legatura compartimentul farmacie sunt:

compartimentul financiar contabil

biroul aprovizionare

sectii – medici

biroul administrativ.

Intre acestea exista fluxuri de informatii (documente) redate prin reprezentarea diagramei de relatii:

Explicarea diagramei de relatii:

biroul aprovizionare – farmacie:

pe baza constatarilor si evidentei din lunile anterioare se calculeaza in consum mediu de medicamente pe baza caruia se emit camenzi catre furnizori, insotite de declaratii pentru taxa drum

farmacie – birou aprovizionare:

in momentul aprovizionarii farmaciei, farmacistul sef accepta la plata avizul pe care il trimite apoi biroului aprovizionare

farmacie – sectii

farmacie trimite la fiecare sectie medicamentele pe baza condicii de prescriptie

farmacie – contabilitate

la sfarsitul lunii se vor preda la contabilitate fisele limita de medicamente cu consumul respectiv

farmacie – oficiul de calcul

farmacia trimite documentele oficiului de calcul spre prelucrare

1.5.3. Actele normative in vigoare ce reglementeaza evidenta medicamentelor intr-un spital

-LEGEA CONTABILITATII nr 82/1991 prin care se reglementeaza inregistrarea veniturilor in evidenta contabila, in clasa 7 de conturi.

-ORDONANTA GUVERNULUI nr 24/1994 –reglementeaza prevederile Farmacopeei Romane.

-ORDONANTA DE URGENTA A GUVERNULUI nr 135 din 12 septembrie 1999 privind nomenclatorul aprobat de Ministerul Sanatatii.

1.6. Analiza documentelor sau altor surse informationale privind activitatea studiata

1.6.4. Reprezentarea fluxului informational

Intocmirea flow-chart

1.6.5. Descirierea fluxului informational privind evidenta medicamentelor

Medicamentele dintr-o farmacie urmeaza un anumit circuit. Predarea medicamentelor catre sectiise face pe baza condicii de prescriptie a programului stabilit de farmacie. O mentiune speciala se va face asupra modificarilor pe care le-a facut farmacia. Odata preluate de la farmacia spitalului, medicamentele se pastreaza, sub cheie la oficiul pentru surori al sectiei.

Medicamentele fiecarui bolnav vor fi distribuite pe priza (tablete si fiolaj) in mici cutii goale de plastic pe care se afla etichete cu ora distribuirii.

Administrarea medicamentelor se va face sub supravegherea medicului, de catre asistenta de tura, in cantitatile, ritmul si calea de administrare fixata de medicul curant.

Administrarea solutiilor perfuzabilein spital revine personalului din sectii sub controlul si indrumarea medicului. Se va confrunta eticheta de pe flacon; se va controla termenul de valabilitate al solutiei.

Medicamentele de orice fel neconsumate de bolnavii internati in spital sau sectii de boli contagioase nu se vor restituii farmaciei ci vor fi depuse la aparatul sectiei respective, intrarea lor inregistrandu-se in condici de aparat. Medicamentele depuse la aparat vor fi utilizate pe masura nevoilor in sectie unde se afla depozitate. Restul medicamentelor for fi supuse casarii.

Situatiile intocmite pe baza datelor culese sunt de mai multe tipuri:

dupa primirea facturii si inregistrarea datelor se intocmeste un fel de copie a documentului cu datele si cu valoarea totala a intrari pentru verificarea corectitudini datelor culese;

dupa culegerea datelor din condica se intocmeste lista cu medicamente care se ataseaza la original.La culegerea datelor din condica se inregistreaza si date despre unitate ,sectia,medicul ce a prescris condica;

lista tuturor intrarilor dintr-o anumita zi ;

centralizatori iesiri pe unitate pe o anumita zi;

lista documentelor de intrare (facturi) cu valoarea fiecaruia si valoarea pe furnizor;

situatia iesirilor, situatia valorica, cu consumul pe medic – sectie – unitate;

lista cu stocul actual;

stocul medicamentelor de la inceputul unei luni;

lista medicamentelor cu stocul 0;

lista medicamentelor cu garantii expirate;

balanta cantitativ – valorica privind stocul de la inceputul perioadei.

1.7. Prezentarea critica a sistemului informational existent

In ultimii ani Spitalul Judetean Mehedinti a alocat fonduri pentru modernizarea si eficientizarea sistemului informational in unitate, prin inlocuirea echipamentelor informatice existente cu altele mai performante.

Fondurile alocate au fost insuficiente pentru achizitionarea tuturor echipamentelor necesare desfasurarii in conditii optime a activitatii in unitate.

Se poate remarca la prima vedere lipsa unei retele unice care sa cuprinda toate calculatoarele din unitate indiferent de compartimentul la care se afla acestea. Astfel prin implementarea unei retele care sa conecteze toate calculatoarele calculatoarele s-ar putea evita efectuarea in paralel a unor operatii de catre diferite compartimente si s-ar putea elimina timpii suplimentari necesari pentru transferarea si instalarea datelor de pe calculatoarele unui compartiment pe cele ale unui alt compartiment.

Spre exemplu in felul acesta Serviciul Contabilitate ar putea accesa direct o serie de informatii si situatii intocmite de Oficiul de Calcul fara a mai fi nevoie de transferul acestora pe un suport de memorie extern prin intermediul caruia sa se poata realiza transmiterea datelor.

Numarul redus de personal de specialitate la Oficiul de Calcul si la Compartimentul financiar-contabil, in conditiile existentei unui volum mare de date ce trebuie prelucrate si analizat, ar putea fi considerat un alt punct slab al intreprinderii.

Extinderea conectarii la reteaua Internet ar crea posibilitatea obtinerii unor informatii suplimentare necesare in desfosurarea activitatii unitatii.

S-ar impune inlocuirea utilajelor existente cu altele mai performante, ceea ce ar duce la cresterea productivitatii muncii.

Capitolul II PROIECTAREA GENERALĂ A SISTEMULUI INFORMATIC

2.1. DEFINIREA OBIECTIVELOR SISTEMULUI INFORMATIC PROPUS

2.1.1. OBIECTIVE GENERALE

Obiectivele generale ale unui sistem informatic pot fi:

Obiective de conducere

Obiective funcționale

Obiective de conducere (manageriale):

Creșterea performanței (reflectata prin distribuirea medica mentelor, organizarea si controlul calitatiii medicamentelor, depozitarea produselor conform normelor in vigoare)

Reducerea costurilor serviciilor

Prescrierea, prepararea si eliberarea corecta a medicamentelor

Creșterea calității serviciilor

Sporirea răspunderii și a cointeresării angajaților

Permanentizarea relațiilor contractuale cu furnizorii și a relatiiloor cu sectiile

Asigurarea conducerii pentru modernizarea unității

Obiective funcționale

Obiective informaționale

Realizarea celei mai potrivite și operative metode de culegere a datelor;

Controlul rezultatelor unitatii prin analize economico-financiare aprofundate, urmărind creșterea performanțelor și informarea oportună a decidenților;

Îmbunătățirea fluxurilor și circuitele informaționale;

Fundamentarea deciziilor pe baza informațiilor pertinente;

Furnizarea selectivă a informațiilor de excepție,

Furnizarea informațiilor sub forme adecvate;

Scăderea timpului de răspuns.

Obiective tehnologice

Vizează modernizarea și îmbunătățirea echipamentului tehnic medical.

Obiective informatice

Adoptarea unor soluții performante de realizare a produselor informatice, în special prin compartimentul specializat în informatică , dar și prin achiziționarea și adaptarea de produse-program create de firme specializate;

Utilizarea rațională și eficientă a tehnicii de calcul;

Utilizarea LAN-urilor astfel să se realizeze o prelucrare distribuită a datelor;

Asigurarea securității datelor în procesul de prelucrare.

Obiective specifice

Această categorie de obiective urmăresc rezolvarea unor probleme dependente strict de activitatea de bază și cea auxiliară. Astfel pot fi identificate:

Obiective specifice activității de bază;

Obiective specifice activității auxiliare.

Obiectivele specifice activității de bază:

Reducerea cheltuielilor pentru depozitare;

Respectarea consumurilor specifice;

Creșterea atributiilor farmaciei.

Obiectivele specifice activității auxiliare:

Reducerea costurilor legate de pastrarea prepararea si difuzarea medicamentelor.

În cazul Spitalul Judetean Mehedinti, nu se poate vorbi de o împărțire a activităților în activități de bază și activități auxiliare.

2.2. PROIECTAREA SITUATIILOR DE IESIRE

Situațiile de ieșire aferente temei propuse sunt:

situatii intocmite pe perioade de 10 zile, lunar, semestrial sautrimestrial :

– Condica de prescriptii medicamente si materiale sanitare;

– Balanta cantitatii-valorica.

CONDICA DE PRESCRIPTII MEDICAMENTE SI MATERIALE SANIARE

Semnatura si parafa medicului Am eliberat Am primit

Loc de obținere: Financiar-contabilitate

Număr de exemplare: 1

Destinația: Sectii

Frecvența: zilnic

Dispozitiv/periferic de ieșire:

Balanta de verificare

Loc obtinere : Serviciul Financiar-Contabil

Destinatia : Serviciul Financiar-Contabil , SPITALUL JUDTEAN MEHEDINTI

Numar de exemplare : 2

Frecventa : Lunar

Dispozitiv / Periferic de iesire :

Situatii intocmite lunar:

stoc actual;

stoc la inceput de luna;

stocuri 0;

garantii expirate.

Proiectarea situatiilor de iesire rezultate din program

Intrarile din ziua /ll/anul

************************************************************** Cod * Denumire * Denumire * Cantitate * Valoare * Data *

* * * Furnizor * Primita * * Exp. *

************************************************************** * * * * * *

*************************************************************

Lista medicamente expirate (valabilitate)

************************************************************** Cod * Denumire * Denumire * Data * Cantitate * Cantitate *

* * * Furnizori * Intrari * Primita * Expirata *

************************************************************** * * * * * *

*************************************************************

Denumire medicament:

Cod:

Pret:

******************************************************************

* Denumire * Data * Cantitate * Valoare * Data *

* Furnizor * Intrarii * Primita * * Expirarii *

******************************************************************

* * * * * *

******************************************************************

2.3. FORMALIZAREA DOCUMENTELOR DE INTRARE

Documentele de intrare sunt:

Factura;

Nota de intrare-receptie

Factura

NOTĂ DE RECEPȚIE ȘI CONSTATARE DE DIFERENȚE

Subsemnații , membrii comisiei de recepție am predat la recepționarea valorilor furnizate de X (20)………………….. din D (8)………………..

cu vagonul/ auto nr. X (10)…………… documentele însoțitoare X (15)……

…………………….

Comisia de recepție

2.4. PROIECTAREA BAZEI INFORMATIONALE

2.4.1. DETERMINAREA CONTINUTULUI BAZEI INFORMATIONALE

Determinarea conținutului bazei informaționale a activității studiate are loc prin structurarea informațiilor și datelor din documentele de intrare, respectiv situațiile de ieșire, sub forma unui tabel, tabel care va include și informațiile suplimentare de natură temporară, care sunt utilizate doar pentru determinarea unor alte informații (de intrare sau de ieșire).

Totalitatea acestor date și informații care compun baza informațională sunt denumite atributele bazei informaționale.

Conținutul bazei informaționale

2.4.2.DEFINIREA ENTITATII BAZEI INFORMATIONALE SI A RELATIILOR DINTRE ACESTEA

Atributele din cadrul bazei informaționale vor fi structurate sub forma unor entități. Denumirea acestor entități și structura lor este prezentată în tabelele următoare.

Entitățile bazei informaționale

Conținutul entităților

Reprezentarea relațiilor dintre entitățile bazei informaționale

IN – MS: 1-1 – Cele două entități, Intrări (IN) și piese și materiale în stoc (MS) au o relație de tipul 1-1 dată de atributul cod material.

MS – IE: relație de tipul 1-1 dată de atributul cod material.

2.4.3.CODIFICAREA ATRIBUTELORBAZEI INFORMATIONALESI DEFINIREA RELATIILOR DINTRE ATRIBUTE

Simbolizarea atributelor

Simbolizarea presupune stabilirea pentru fiecare atribut al bazei informaționale câte un simbol. Simbolurile utilizate pentru atribute vor fi prezentate în tabelul următor:

Codificarea atributelor

A codifica înseamnă a stabili o corespondență biunivocă între elementele a două mulțimi: a datelor și a codurilor. Codificarea atributelor presupune stabilirea unor coduri de identificare pentru atributele care simbolizează mai multe categorii de informații. Astfel, pentru fiecare categorie de informații se stabilește un cod care face parte din codul atributului.

În cazul activității studiate atributul cod material 9(9) este dat manual.

Atribut:

Simbol cont (SIM) 9(9)

9 99 9999

Numar document (NRDOC) 9(10)

99 999 99999

Descrierea atributelor obținute prin calcul

Relațiile dintre atributele entităților bazei informaționale

IN MS IE

2.5. REPROIECTAREA SI ADAPTAREA DOCUMENTELOR DE INTRARE

În cadrul acestei faze unele documente de intrare în funcție de necesitățile viitoare ale sistemului informatic și de specificul activității analizate pot să sufere modificări de formă și de conținut, cum ar fi de exemplu concatenarea mai multor câmpuri din document într-un singur câmp, eliminarea unor câmpuri, refacerea poziției unor câmpuri din document, etc.

În urma analizei activității de organizare nu rezultă necesitatea unei reproiectări.

2.6. STRUCTURA SISTEMULUI SI DETERMINAREA UNITATILOR FUNCTIONALE

Această fază presupune identificarea unităților funcționale ale sistemului informatic proiectat, adică acele grupuri omogene și specifice de prelucrări, care sunt dependente funcțional și care constituie o subfază a sistemului informatic.

Capitolul III PROIECTAREA DE DETALIU A SISTEMULUI INFORMATIC

3.1. PROIECTAREA STRUCTURII BAZEI DE DATE

3.1.1. PROIECTAREA FISIERELOR PERMANENTE

In cadrul activității de evidenta a medicamentelor folosim următorul fișier permanent:

MEDIC 1 (medicamente aflate in stoc)

Structura fișierelui MEDIC 1 este următoarea:

3.1.2. PROIECTAREA FISIERELOR VARIABILE

În cadrul activității de evidenta a medicamentelor se definesc următoarele fișiere variabile:

MEDIC 2. DBF.

3.1.3.PROIECTAREA FISIERELOR TEMPORARE

În cadrul activității de calcul evidenta a medicamentelor se pot identifica o serie de câmpuri de stare (cantitate , preț, valoare, etc ), dar acestea vor fi reținute în fișierele permanente și variabile și deci nu se vor defini fișiere temporare.

3.2.PROIECTAREA PRELUCRARILOR SPECIFICE UNITATILOR FUNCTIONALE

3.2.1. STABILIREA ORDINII DE PRELUCRARE A FISIERELOR

Restricțiile de integritate dintre fișiere determină ordinea de prelucrare a fișierelor de bază, astfel încât crearea sau activarea unui fișier să se facă numai după ce s-a efectuat activarea tuturor fișierelor de care acesta depinde. Aceste restricții de integritate pot fi reprezentate în graficul următor:

MEDIC 1.DBF

MEDIC 2 .DBF

3.2.2. DETERMINAREA UNITATILOR DE PRELUCRARE

Unitatea funcțională de evidența a medicamentelor cuprinde următoarele unități de prelucrare:

UP1 – Intrare

Această primă unitate de prelucrare va indeplini functii de introducere date in fisierele de baza, modificare, actualizare si consultarea fisierelor de baza.

UP2 – Operatii

Această unitate de prelucrare Operatii va face evidenta medicamentelor existente in spital.

UP3 – Iesire

Aceasta unitate de prelucrare va cuprinde toate operatiile necesare in vederea efectuarii livrarii de medicamente spre sectii.

3.3. PRELUCRAREA DIALOGULUI CU UNITATILE DE PRELUCRARE

Proiectarea dialogului cu unitățile de prelucrare presupune proiectarea machetelor ce formează interfața produsului informatic.

În continuare vom prezenta modul de alcătuire al meniurilor , precum și interfața cu utilizatorul.

Meniul principal

Submeniul “INTRARE”

Submeniul “OPERATII”

Submeniul “IESIRE”

INTRĂRI MEDICAMENT

DORITI SA INTRODUCETI UN NOU MEDICAMENT (D/N)

IEȘIRI

TASTAȚI GESTIUNEA PENTRU CARE FACEȚI IEȘIRI

Adăugare ucrări de recondiționare

3.4.PROIECTAREA PRELUCRARILOR SPECIFICE UNITATILOR DE PRELUCRARE

3.4.1. DETERMINAREA MODULELOR DE PRELUCRARE

Programarea modulara presupune descompunerea programelor din faza de proiectare in module usor de inteles si constituit. Astfel se realizeaza o verificare a structurii programului.

Unitatile de prelucrare vor contine urmatoarele module:

UP1 – Intrari:

M1 – Intrare medicamente;

M2 – Modificare pret;

UP2 – Operatii:

M1 – Afisare;

M2 – Modificare;

M3 – Stergere;

M4 – Test de valabilitate;

UP3 – Iesire:

M1 – Iesire in Fox;

M2 – Iesire in Windows.

Reprezentarea schematică :

INTRARI

MEDIC 2 MEDIC 2

OPERATII

MEDIC 2 MEDIC 2 MEDIC2 MEDIC 2

IESIRI

3.4.2. ORGANIGRAMA DE SISTEM A UNITATILOR DE PRELUCRARE

CAP.III

PROIECTAREA DE DETALIU A UNITATILOR FUNCTIONALE

3.1. PROIECTAREA FISIERELOR DE BAZA

3.1.1. PROIECTAREA FISIERELOR PERMANENTE

Fisierele permanente sunt acelea care corespund entitatilor care nu-si schimba caracteristicile o lunga perioada de timp.

In cadrul programului nu exista fisiere permanente.

3.1.2. PROIECTAREA FISIERELOR VARIABILE

Fisierele variabile sunt cele care pastreaza tranzactiile pentru o anumita perioada de timp. Ele corespund entitatilor ce reflecta dinamica proceselor si fenomenelor economice.

In cadrul programului pot fi identificate urmatoarele fisiere variabile:

121.DBF

411.DBF

451.DBF

512.DBF

701.DBF

741.DBF

766.DBF

BALANTA.DBF

FACTURI.DBF

SUBVENTII.DBF

DOBANZI.DBF

3.1.3. PROIECTAREA FISIERELOR TEMPORARE

Fisierele temporare sunt acelea care isi schimba valoarea la intervale regulate de timp.

In cadrul programului poate fi identificat un fisier temporar:

BALANTAS.DBF

3.2. PROIECTAREA PRELUCRARILOR SPECIFICE UNITATILOR FUNCTIONALE

3.2.1. STABILIREA ORDINII DE PRELUCRARE A FISIERELOR

3.2.2. DETERMINAREA UNITATILOR DE PRELUCRARE

UP1 – DATE – Introducere date de pe facturi fiscale, deconturi de subventii si extrase de cont pentru a fi prelucrate

UP2 – BALANTA DE VERIFICARE – Procesarea datelor introduse pentru a evidentia veniturile unitatii

UP3 – AFISARE DATE – Afiseaza continutul bazelor de date in care se face inregistrarea datelor introduse de pe facturi fiscale, deconturi de subventii si extrase de cont.

UP4 – INCHIDERE LUNA – La sfarsitul lunii, operatorul trebuie sa activeze optiunea “Inchidere luna” pentru ca toate sumele intrate sa fie trecute in contul 121. Balanta de verificare este corecta doar pentru lunile inchise.

3.3. PROIECTAREA STRUCTURII UNITATILOR DE PRELUCRARE

3.3.1. DIALOGUL CU UNITATILE DE PRELUCRARE

Presupune proiectarea machetelor ce formeaza interfata produsului informatic.

3.3.2. PROIECTAREA IESIRILOR PE VIDEOFORMAT

Vanzari

Subventii

Dobanzi

3.4.PROIECTAREA PRELUCRARILOR SPECIFICE ALE UNITATILOR DE PRELUCRARE

3.4.1 DETERMINAREA MODULELOR DE PRELUCRARE A FISIERELOR

VANZARE PRODUSE

SUBVENTII

DOBANZI

LUNARA

3.4.2. ORGANIGRAMA DE SISTEM

CAP.IV

ELABORAREA SI TESTAREA PROGRAMULUI

Programul sursa listat:

SET TALK OFF

SET ESCAPE OFF

SET SYSMENU TO

SET SYSMENU AUTOMATIC

DEFINE PAD _0440rpqem OF _MSYSMENU PROMPT "\<Date" COLOR SCHEME 3 KEY ALT+D, "ALT+D"

DEFINE PAD _0440rpqeo OF _MSYSMENU PROMPT "\<Balanta de verificare" COLOR SCHEME 3 KEY ALT+B, "ALT+B"

DEFINE PAD _0440rpqep OF _MSYSMENU PROMPT "\<Afisare date" COLOR SCHEME 3 KEY ALT+A, "ALT+A"

DEFINE PAD _0440rpqer OF _MSYSMENU PROMPT "\<Inchidere Luna" COLOR SCHEME 3 KEY ALT+I, "ALT+I"

DEFINE PAD _0440rpqeq OF _MSYSMENU PROMPT "Iesire (Alt+X)" COLOR SCHEME 3 KEY ALT+X, "ALT+X"

ON PAD _0440rpqem OF _MSYSMENU ACTIVATE POPUP date

ON PAD _0440rpqeo OF _MSYSMENU ACTIVATE POPUP balantadev

ON PAD _0440rpqep OF _MSYSMENU ACTIVATE POPUP afisaredat

ON SELECTION PAD _0440rpqeq OF _MSYSMENU DO _0440rpqeu IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

ON SELECTION PAD _0440rpqer OF _MSYSMENU DO inluna IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

DEFINE POPUP date MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF date PROMPT "Vanzare Produse"

DEFINE BAR 2 OF date PROMPT "Subventii"

DEFINE BAR 3 OF date PROMPT "Dobanzi"

ON SELECTION BAR 1 OF date DO _0440rpqf0 IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

ON SELECTION BAR 2 OF date DO _0440rpqf2 IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

ON SELECTION BAR 3 OF date DO _0440rpqf5 IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

DEFINE POPUP balantadev MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF balantadev PROMPT "Lunara"

*DEFINE BAR 2 OF balantadev PROMPT "Totala"

ON SELECTION BAR 1 OF balantadev DO _0440rpqfa IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

*ON SELECTION BAR 2 OF balantadev DO _0440rpqfc IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

DEFINE POPUP afisaredat MARGIN RELATIVE SHADOW COLOR SCHEME 4

DEFINE BAR 1 OF afisaredat PROMPT "Vanzari"

DEFINE BAR 2 OF afisaredat PROMPT "Subventii"

DEFINE BAR 3 OF afisaredat PROMPT "Dobanzi"

ON SELECTION BAR 1 OF afisaredat DO _0440rpqfh IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

ON SELECTION BAR 2 OF afisaredat DO _0440rpqfk IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

ON SELECTION BAR 3 OF afisaredat DO _0440rpqfn IN LOCFILE("\FOX\TEST2" ,"MPX;MPR|FXP;PRG" ,"Where is TEST2?")

define popup luni from 2,1 to 15,12 title 'Luna:' shadow

define bar 1 of luni prompt 'Ianuarie'

define bar 2 of luni prompt 'Februarie' skip for Month(Date())<getbar('Luni',2)

define bar 3 of luni prompt 'Martie' skip for Month(Date())<getbar('Luni',3)

define bar 4 of luni prompt 'Aprilie' skip for Month(Date())<getbar('Luni',4)

define bar 5 of luni prompt 'Mai' skip for Month(Date())<getbar('Luni',5)

define bar 6 of luni prompt 'Iunie' skip for Month(Date())<getbar('Luni',6)

define bar 7 of luni prompt 'Iulie' skip for Month(Date())<getbar('Luni',7)

define bar 8 of luni prompt 'August' skip for Month(Date())<getbar('Luni',8)

define bar 9 of luni prompt 'Septembrie' skip for Month(Date())<getbar('luni',9)

define bar 10 of luni prompt 'Octombrie' skip for Month(Date())<getbar('Luni',10)

define bar 11 of luni prompt 'Noiembrie' skip for Month(Date())<getbar('Luni',11)

define bar 12 of luni prompt 'Decembrie' skip for Month(Date())<getbar('Luni',12)

clear

?' '

?' '

?' '

?' ŰŰŰŰŰŰŰŰ ŰŰ ŰŰ'

?' ŰŰ ŰŰ ŰŰ ŰŰŰŰŰŰ'

?' ŰŰ ŰŰ ŰŰŰŰŰ ŰŰ ŰŰŰŰŰ ŰŰ ŰŰŰŰŰ ŰŰ ŰŰŰŰŰ'

?' ŰŰŰŰŰŰŰŰ ŰŰ ŰŰ ŰŰ ŰŰŰŰ ŰŰ ŰŰ ŰŰ'

?' ŰŰ ŰŰ ŰŰŰŰŰŰŰ ŰŰ ŰŰŰŰŰŰŰ ŰŰ ŰŰ ŰŰ ŰŰŰŰŰŰŰ'

?' ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ ŰŰ'

?' ŰŰŰŰŰŰŰŰ ŰŰŰŰŰŰ ŰŰ ŰŰŰŰŰŰ ŰŰ ŰŰ ŰŰ ŰŰŰŰŰŰ'

?' '

?' DE VERIFICARE ŰŰ'

hide wind all

sm=0

suma=0

denum=''

x=0

dif=0

dt=date()

nrluna=0

close data

PROCEDURE _0440rpqeu

set sysmenu to default

clear wind all

show wind all

close data all

return

*

*

*

procedure Inluna

*defi wind IL from 2,1 to 22,76 title ' Inchidere de luna ';

*system shadow close color scheme 8

on sele popup luni do inchide

*acti wind IL

acti popup luni

*deac wind IL

return

*

*

*

PROCEDURE inchide

suma=0

x=0

dif=0

dt=date()

nrluna=Bar()

use 701 in 1

use 411 in 2

do doinc

close data all

use 741 in 1

use 451 in 2

do doinc

close data all

use 766 in 1

use 512 in 2

do doinc

close data all

deac popup luni

return

*

*

*

PROCEDURE doinc

select 1

suma=0

for i=1 to reccount()

goto i

if month(data)<=nrluna

suma=suma+rlc

endif

endfor

locate for Month(data)=nrluna

if found()

x=rlc

dt=data

replace rld with rlc

replace rcc with suma

replace rcd with rcc

* Introducere Sold Initial

replace tsc with rlc+sic

replace tsd with rld+sid

if tsd>tsc

dif=tsd-tsc

replace sfd with dif

else

dif=tsc-tsd

replace sfc with dif

endif

select 2

locate for Month(data)=nrluna

if not found()

append blank

endif

replace rld with x

replace rcd with suma

replace tsd with rld+sid

replace data with dt

if tsd>tsc

dif=tsd-tsc

replace sfd with dif

else

dif=tsc-tsd

replace sfc with dif

endif

endif

return

PROCEDURE _0440rpqf0

vclient=Replicate(' ',254)

vnr_crt=0

vDen_Prod=Replicate(' ',50)

vum=Replicate(' ',10)

vcantitatea=0

vpret_u=0

vvaloare=0

vnrf=0

vdata=date()

defi wind VP from 2,1 to 21,76 title ' Introducere date factura fiscala ';

system shadow close color scheme 8

acti wind VP

@ 0,1 SAY "Facturi Fiscale" SIZE 1,15, 0

@ 1,0 TO 1,74

@ 2,1 SAY 'Client:'GET vclient SIZE 4,36,0 PICTURE "@K" DEFAULT " "

@ 6,0 TO 6,74

@ 8,1 SAY "Data:" GET vdata SIZE 1,8 DEFAULT { / / }

@ 8,22 SAY "Nr. Factura:" GET vnrf SIZE 1,12 DEFAULT 0

@ 8,55 SAY "Nr. Crt.:" GET vnr_crt SIZE 1,3 DEFAULT 0 PICTURE "@K 999"

@ 10,1 SAY "Denumire Produs:" GET vden_prod SIZE 1,50 DEFAULT " " PICTURE "@K XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

@ 12,1 SAY "Unit. masura:" GET vum SIZE 1,10 Default " " Picture "@K XX"

@ 12,33 SAY "Cantitatea:" GET vcantitatea SIZE 1,10 DEFAULT 0 PICTURE "@K 999,999,999.99"

@ 14,1 SAY "Pret Unitar:" GET vpret_u SIZE 1,15 DEFAULT 0 PICTURE "@K 999,999,999,999.99"

@ 16,0 TO 16,74

STORE 2 TO mchoice

@ 17,2 GET mchoice PICTURE '@*H' + ' OK;Renunta' SIZE 1, 9

read cycle

VValoare=vpret_u*vcantitatea

do case

case mchoice=1

use facturi

append blank

replace client with vclient

replace data with vdata

replace nrf with vnrf

replace nr_crt with vnr_crt

replace den_prod with vden_prod

replace um with vum

replace cantitatea with vcantitatea

replace pret_u with vpret_u

replace valoare with vvaloare

close data

case mchoice=2

endcase

use 701 in 1

use 411 in 2

select 1

locate for data=vdata

if found()

replace rlc with rlc+vvaloare

else

append blank

replace data with vdata

replace rlc with vvaloare

endif

select 2

locate for data=vdata

if found()

replace rld with rld+vvaloare

else

append blank

replace data with vdata

replace rld with vvaloare

endif

deac wind vp

close data all

return

PROCEDURE _0440rpqf2

vnr_crt=0

vspec=replicate(' ',20)

vum=replicate(' ',2)

vsbv_um=0

vsbv_t=0

vcantitate=0

vdata=date()

defi wind VS from 2,1 to 18,76 title ' Introducere date subventii ';

system shadow close color scheme 8

acti wind VS

@ 0,2 SAY "Subventii" SIZE 1,9, 0

@ 1,0 TO 1,74

@ 2,10 SAY "Data:" GET vdata SIZE 1,8 DEFAULT { / / }

@ 4,7 SAY "Nr.Crt.:" GET vnr_crt SIZE 1,3 DEFAULT " " PICTURE "@K 999"

@ 6,2 SAY "Specificatie:" GET vspec SIZE 1,20 DEFAULT " " PICTURE "@K XXXXXXXXXXXXXXXXXXXX"

@ 8,12 SAY "Um:" GET vum SIZE 1,2 DEFAULT " " PICTURE "@K XX"

@ 10,5 SAY "Cantitate:" GET vcantitate SIZE 1,12 DEFAULT " " PICTURE "@K 999,999,999.99"

@ 12,0 SAY "Subv. (Lei/UM):" GET vsbv_um SIZE 1,14 DEFAULT " " PICTURE "@K 999,999,999.99"

@ 13,0 TO 13,74

store 2 to mchoice

@ 14,2 GET mchoice PICTURE '@*H' + ' OK;Renunta' SIZE 1, 9

read cycle

vsbv_t=vsbv_um*vcantitate

on escape deac wind vs

do case

case mchoice=1

use subventi

append blank

replace nr_crt with vnr_crt

replace spec with vspec

replace um with vum

replace cantitate with vcantitate

replace sbv_um with vsbv_um

replace sbv_t with vsbv_t

replace data with vdata

close data

deac wind vs

case mchoice=2

deac wind vs

endcase

use 741 in 1

use 451 in 2

select 1

locate for data=vdata

if found()

replace rlc with rlc+vsbv_t

else

append blank

replace data with vdata

replace rlc with vvaloare

endif

select 2

locate for data=vdata

if found()

replace rld with rld+vsbv_t

else

append blank

replace data with vdata

replace rld with vsbv_t

endif

return

PROCEDURE _0440rpqf5

defi wind VD from 2,1 to 18,76 title ' Introducere date dobanzi ';

system shadow close color scheme 8

acti wind VD

vdata=date()

vnr_doc=0

vcont=replicate(' ',15)

vdebit=0

vcredit=0

@ 0,2 SAY "Dobanzi"

@ 1,0 TO 1,74

@ 3,5 SAY "Data:" GET vdata SIZE 1,8 DEFAULT " " PICTURE "@K"

@ 5,1 SAY "Nr. Doc.:" GET vnr_doc SIZE 1,5 DEFAULT " " PICTURE "@K 9,999"

@ 7,5 SAY "Cont:" GET vcont SIZE 1,15 DEFAULT " " PICTURE "@K XXXXXXXXXXXXXXX"

@ 9,4 SAY "Debit:" GET vdebit SIZE 1,18 DEFAULT " " PICTURE "@K 999,999,999,999.99"

@ 11,3 SAY "Credit:" GET vcredit SIZE 1,18 DEFAULT " " PICTURE "@K 999,999,999,999.99"

@ 13,0 TO 13,74

store 2 to mchoice

@ 14,2 GET mchoice PICTURE '@*H' + ' OK;Renunta' SIZE 1, 9

read cycle

on escape deac wind vd

do case

case mchoice=1

use dobanzi

append blank

replace data with vdata

replace nr_doc with vnr_doc

replace cont with vcont

replace debit with vdebit

replace credit with vcredit

close data

deac wind vd

case mchoice=2

deac wind vd

endcase

use 766 in 1

use 512 in 2

select 1

locate for data=vdata

if found()

replace rlc with rlc+vcredit

replace rld with rld+vdebit

else

append blank

replace data with vdata

replace rlc with vcredit

replace rld with vdebit

endif

select 2

locate for data=vdata

if found()

replace rld with rld+vcredit

else

append blank

replace data with vdata

replace rld with vcredit

endif

deac wind VD

return

PROCEDURE _0440rpqfa

on sele popup luni do BLunara

activate popup luni

return

*

*

*

PROCEDURE BLunara

ldat=''

nrluna=bar()

do case

case nrluna=1

ldat='Ianuarie'

case nrluna=2

ldat='Februarie'

case nrluna=3

ldat='Martie'

case nrluna=4

ldat='Aprilie'

case nrluna=5

ldat='Mai'

case nrluna=6

ldat='Iunie'

case nrluna=7

ldat='Iulie'

case nrluna=8

ldat='August'

case nrluna=9

ldat='Septembrie'

case nrluna=10

ldat='Octombrie'

case nrluna=11

ldat='Noiembrie'

case nrluna=12

ldat='Decembrie'

endcase

psi=0

prl=0

prc=0

pts=0

clas=0

use balanta

delete all

pack

close data

use balanta in 1

use 701 in 2 Alias A1

select 2

locate for Month(data)=nrluna

psi=psi+sic

prl=prl+rlc

prc=prc+rcc

pts=pts+tsc

sm=701

clas=7

denum='Venituri din vanzarea produselor'

select 1

append blank

do movedt

close data

use balanta in 1

use 741 in 2 Alias A1

select 2

locate for Month(data)=nrluna

psi=psi+sic

prl=prl+rlc

prc=prc+rcc

pts=pts+tsc

sm=741

clas=7

denum='Venituri din subventii'

select 1

append blank

do movedt

close data

use balanta in 1

use 766 in 2 Alias A1

select 2

locate for Month(data)=nrluna

psi=psi+sic

prl=prl+rlc

prc=prc+rcc

pts=pts+tsc

sm=766

clas=7

denum='Venituri din dobanzi'

select 1

append blank

do movedt

close data

use balanta in 1

use 411 in 2 Alias A1

select 2

locate for Month(data)=nrluna

sm=411

clas=4

denum='Clienti'

select 1

append blank

do movedt

close data

use balanta in 1

use 451 in 2 Alias A1

select 2

locate for Month(data)=nrluna

sm=451

clas=4

denum='Decontari in cadrul grupului'

select 1

append blank

do movedt

close data

use balanta in 1

use 512 in 2 Alias A1

select 2

locate for Month(data)=nrluna

sm=5121

clas=5

denum='Conturi la banci in lei'

select 1

append blank

do movedt

close data

profit=0

sm=121

denum='Profit si pierdere'

use balanta

append blank

replace simbol with sm

replace denumire with denum

replace sic with psi

replace rlc with prl

replace rcc with prc

replace tsc with pts

replace luna with ldat

replace clasa with 1

dif=0

if tsd>tsc

dif=tsd-tsc

replace sfd with dif

else

dif=tsc-tsd

replace sfc with dif

endif

delete file balantas.dbf

SORT TO BALANTAS.DBF ON BALANTA.CLASA

hide popu luni

use balantas.dbf

report form balantav preview

report form balantav to printer

close data

clear

deac popup luni

return

PROCEDURE Movedt

replace simbol with sm

replace denumire with denum

replace luna with ldat

replace sid with A1.sid

replace sic with A1.sic

replace rld with A1.rld

replace rlc with A1.rlc

replace rcd with A1.rcd

replace rcc with A1.rcc

replace tsd with A1.tsd

replace tsc with A1.tsc

replace sfd with A1.sfd

replace sfc with A1.sfc

replace clasa with clas

return

PROCEDURE _0440rpqfc

return

PROCEDURE _0440rpqfh

close data

use facturi

BROWSE FIELDS data :H='Data',;

nrf :H='Nr. Factura',;

client :H='Client',;

nr_crt :H='Nr. Curent',;

den_prod :H='Denumire Produs',;

um :H='UM',;

cantitatea :H='Cantitate',;

pret_u :H='Pret Unitar',;

valoare :H='Valoare Totala' nomodify title 'Facturi Fiscale'

return

PROCEDURE _0440rpqfk

close data

use subventi

BROWSE FIELDS data :H='Data',;

nr_crt :H='Nr. Curent',;

spec :H='Specificatie',;

um :H='UM',;

cantitate :H='Cantitate',;

sbv_um :H='Subventie/UM',;

sbv_t :H='Subventie Totala' nomodify title 'Subventii'

return

PROCEDURE _0440rpqfn

close data

use dobanzi

BROWSE FIELDS data :H='Data',;

nr_doc :H='Nr. Document',;

cont :H='Cont',;

debit :H='Debit',;

credit :H='Credit' nomodify title 'Subventii de stat'

return

Similar Posts