Модуль збору та обробки статистичної інформації в медичному закладі

Дослідження технології com та принципи створення контролерів автоматизації Ms Office і Ms Excel. Розробка програмного забезпечення для збору статистичного ряду показників в умовах неврологічного відділення Криворізького інституту професійних захворювань.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 22.10.2012
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ii:=ii+1;

until FindNext(f) <> 0;

FindClose(f);

sLabel2.Caption:='Количество файлов -'+inttostr(ii); // виводимо

кількість файлів на екран

sProgressBar1.Position:=0;

sProgressBar1.Max:= round(ii *0.71); // вважаємо, що середній час

обробки одного файлу - 0,71 с

sLabel3.Visible:=true;

sLabel3.Caption:='Ориентрировочное время обработки -

'+inttostr(round(ii *0.71))+' c'; // виводимо орієнтований час обробки

файлів

Timer2.Enabled:=true; // запускаємо таймер

end;

За допомогою наступної процедури можна визначити, чи закінчена обробка файлів та візуалізувати процес виконання.

procedure Tmain.Timer2Timer(Sender: TObject);

var Wnd: hWnd;

buff: array[0..127] of Char;

begin a:=a+1;

flag:=false;

Wnd := GetWindow(Handle, gw_HWndFirst);

while Wnd <> 0 do begin // перебираємо в циклі всі процеси, що

запущені в системі, не враховуючи:

if (Wnd <> Application.Handle) and // власне вікно системи

(GetWindow(Wnd, gw_Owner) = 0) and // дочірні вікна

(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) // вікна без заголовків

then begin

GetWindowText(Wnd, buff, sizeof(buff)); // отримуємо назву процесу

if StrPas(buff)= 'Администратор: D:\WINDOWS\system32\cmd.exe' then

flag:=true; // якщо запущений процес cmd.exe, тоді bat-файл ще

виконується

end;

Wnd := GetWindow(Wnd, gw_hWndNext);

end;

sProgressBar1.Position:=sProgressBar1.Position+1; // збільшуємо позицію

візуального елементу, що відображає процес виконання

if not flag then // якщо процес закінчено

begin

Timer2.Enabled:=false; // зупиняємо таймер

sLabel1.Caption:='Обработка данных завершена!';

end;

end;

Далі наведений текст процедури зчитування інформації з файлу, сформованого засобами PowerShell в базу даних.

procedure Tmain.sBitBtn4Click(Sender: TObject);

var j:integer;

begin

e:=CreateOleObject('excel.application'); // створюємо об'єкт MS Excel

w_book:=e.workbooks.add(path+'statOut.csv'); // посилання на файл з

вихідною інформацією

m_sheet:=w_book.sheets.item[1]; // посилання на лист в цьому файлі

j:=2; // номер рядку

while not ADOTable3.Eof do // очищуємо таблицю

ADOTable3.Delete;

while j<ii do // перебираємо усі рядки у вихідній таблиці - їх кількість

відповідає кількості оброблених файлів

begin

ADOTable3.Insert; // додаємо запис в таблицю

ADOTable3god_r.AsInteger:=m_sheet.cells[j,2]; // заносимо значення у

відповідні поля

ADOTable3stag.AsInteger:=m_sheet.cells[j,3];

...

ADOTable3kr_m.AsFloat:= m_sheet.cells[j,30];

ADOTable3.Post;

j:=j+1; // перехід на наступний рядок

end;

e.quit; // вивантажуємо MS Excel з пам'яті

baza_form.ShowModal // вивід на екран форми із зібраною інформацією

end;

Розглянемо процедуру зібраної інформації в базу даних та процес її відображення користувачеві.

procedure Tbaza_form.FormShow(Sender: TObject);

var i,j,m:integer;

s,st:string;

begin j:=0;

s:='select '; // текстова змінна, в якій буде сформований SQL-запит

for i:=0 to customize.sCheckListBox1.Items.Count-1 do // перебираємо

список полів, що доступні для відображення

begin

case i of // номер поля

0: if customize.sCheckListBox1.Checked[i] // якщо поле доступне для

відображення, в даному випадку - рік народження

then begin

j:=j+1; // кількість стовпців в сітці, що відображується на екрані

nazva[j]:=customize.sCheckListBox1.Items[i]; // назва стовпчику

pole[j]:='god_r,' // поле, яке з цим стовпчиком буде пов'язане

end;

1: if customize.sCheckListBox1.Checked[i] then // аналогічним чином

перевіряємо, чи буде відображений стовпець „загальний стаж”

begin j:=j+1;

nazva[j]:=customize.sCheckListBox1.Items[i];pole[j]:='stag,'

end;

2: if customize.sCheckListBox1.Checked[i] then // ця група відповідає за

стаж роботи по обраній спеціальності

begin

main.ADOTable1.First; z:=0;

while not main.ADOTable1.Eof do // перебираємо усі записи таблиці -

довідника спеціальностей

begin

if main.ADOTable1checked.AsBoolean then // якщо професія включена у

парамети пошуку

begin j:=j+1;

nazva[j]:=main.ADOTable1prof.AsString; // назва стовпця сітки, що буде

відображена - це назва професії

z:=z+1;

pole[j]:='p'+inttostr(z)+','; // в цьому масиві ми формуємо назви полей,

що відповідають стажу по названій професії

end;

main.ADOTable1.Next;

end;

end;

3: if customize.sCheckListBox1.Checked[i] then // аналогічним чином

формуємо таблицю по заданим захворюванням (якщо захворювання

присутнє - ознака цього, поле дорівнює одиниці, інакше - нулю

begin

main.ADOTable2.First; z:=0;

while not main.ADOTable2.Eof do

begin

if main.ADOTable2checked.AsBoolean then

begin j:=j+1; nazva[j]:=main.ADOTable2zabolevanie.AsString ; z:=z+1;

pole[j]:='b'+IntToStr(z)+',';

end;

main.ADOTable2.Next;

end;

end;

4: if customize.sCheckListBox1.Checked[i] then // поле, яке відповідає за

ознаку того, що захворювання є професійним

begin j:=j+1; nazva[j]:='Проф.з-е'; pole[j]:='prizn_prof,' end;

5: if customize.sCheckListBox1.Checked[i] then begin // ця група полів

відповідає аналізам крові

j:=j+1; nazva[j]:='Кровь НВ'; pole[j]:= 'kr_nv,';

j:=j+1; nazva[j]:='Кровь ЕР'; pole[j]:= 'kr_er,';

j:=j+1; nazva[j]:='Кровь КП'; pole[j]:= 'kr_kp,';

j:=j+1; nazva[j]:='Кровь лейк'; pole[j]:= 'kr_le,';

j:=j+1; nazva[j]:='Кровь ШОЕ'; pole[j]:= 'kr_sh,';

j:=j+1; nazva[j]:='Кровь П'; pole[j]:= 'kr_p,';

j:=j+1; nazva[j]:='Кровь С'; pole[j]:= 'kr_c,';

j:=j+1;nazva[j]:='Кровь Е'; pole[j]:= 'kr_e,';

j:=j+1; nazva[j]:='Кровь Л'; pole[j]:= 'kr_l,';

j:=j+1; nazva[j]:='Кров М'; pole[j]:= 'kr_m';

end;

end;

end;

ADOQuery1.SQL.Clear;

for i:=1 to j do // формуємо в циклі SQL-запит, додаючи ім'я полів

s:=s+pole[i];

s:=s+' from baza';

ADOQuery1.SQL.Add(s);

ADOQuery1.Open; // виконуємо сформований SQL-запит

for i:=1 to j-1 do // видаляємо знак коми між назвами полів

begin

st:=pole[i]; delete(st,length(st),1);

pole[i]:=st;

end;

st:='';

z:=0;

for m:=1 to j do

begin

col[i]:=_view.CreateColumn;

col[i].DataBinding.FieldName:= pole[i];

Col[i].Caption:=nazva[i]; // формуємо заголовки

Col[i].Width:=75; // ширина поля

z:=z+25;

fl[1].Left:=z;

end;

end;

5.4.2 Здійснення пошуку та збору інформації засобами системи пакетної обробки PowerShell

Розглянемо текст скрипту PowerShell, за допомогою якого здійснюється пошук необхідної інформації. Скрипт являє собою звичайний текстовий файл script.ps1 та повинен зберігатися в тому ж каталозі, що і виконавчий файл системи.

Засобами оболонки, розробленої засобами Delphi, ми можемо змінювати деякі фрагменти цього скрипту згідно даних, що отримано від користувача системи.

$myWatcher = New-Object System.Diagnostics.Stopwatch

Шлях до пошуку вхідних даних

$myWorkingPath = "D:\stat\doc\"

Шлях до результативного файлу

$myOutputPath = "D:\stat\statOut.csv"

$myOutputEntry = @{}

Визначаємо ім'я полів вихідної таблиці

$myCSVOutput = "Імя файла;Рік н;Стаж;" +

Наступна стрічка може бути змінена засобами Delphi. Тут ми визначаємо перелік професій, які цікавлять лікаря.

"Прохідник;ГРОВ;Кріпильник;Ел.слюсар;Слюсар;Бурильник;МГВМ;

Вибухівник;"

+

Аналогічним чином визначаємо перелік захворювань. Всі інші поля, включаючи аналізи крові є фіксованими

"Радикулопатія;Вібраційна хвороба;Люмбоішіалгія;" +

"ЛЕК;Професійне захворювання;Діагноз;Суп д-з;" +

"Профмаршрут;" +

"Кров Нв;Кров ер;Кров кп;Кров лейк;Кров ШОЕ;Кров п;Кров с;Кров

е;Кров л;Кров м;Кров РМП;"

Set-Content -Path $myOutputPath -Value $myCSVOutput

Початок роботи скрипту

$myWatcher.Start()

Фільтрація - тільки текстові файли

$myAllFiles = Get-ChildItem -Path $myWorkingPath -Filter *.txt -Recurse

-Name

Підрахунок кількості файлів

$myAllFilesCount = $myAllFiles.Count

Початок циклу

$myAllFiles | ForEach-Object -Process {

Підраховуємо кількість оброблених файлів

$i++

$myTempContent = Get-Content -Path ( $myWorkingPath + $_ )

Взагалі алгоритм пошуку можна описати таким чином. Спочатку здійснюється перевірка чи було рішення ВКК і вибірка останньої зустрінутої в тексті згадки.

Якщо немає рішення ВКК те виконується пошук останнього діагнозу. Перевіряється чи є в діагнозі, знайденому вище, згадка про профзахворювання, береться перше входження. Якщо діагнозу немає, то перевіряється наявність згадки про профзахворювання.

Якщо є рішення ВКК, то пошук ведеться тільки нижче за цю згадку. Береться тільки перший згаданий діагноз і перше входження профзахворювання якщо такі записи є.

Пошук рішення ВКК.

$myOutputEntry["lek"] = $myTempContent | Select-String

"^\s*\t*РІШЕННЯ ЛЕК" -CaseSensitive | Select-Object -Last 1

if ( !$myOutputEntry.lek ) {

[Int32]$lek = 0

$myOutputEntry["diagnosis"] = $myTempContent | Select-String

"ДІАГНОЗ:" -CaseSensitive | Select-Object -Last 1

if ( $myOutputEntry["diagnosis"] ) {

Визначення, чи є захворювання професійним

$profzah = $myTempContent | Select-Object -Skip $(

$myOutputEntry["diagnosis"].LineNumber - 1 ) | Select-String "[Зз]ахв[а-я.

]*проф" -CaseSensitive | Select-Object -First 1

} else {

$profzah = $myTempContent | Select-String "[Зз]ахв[а-я. ]*проф" -

CaseSensitive | Select-Object -First 1

}

if ( $profzah ) { $myOutputEntry["profzah"] = 1 } else {

$myOutputEntry["profzah"] = 0 }

} else {

[Int32]$lek = $myOutputEntry.lek.LineNumber

Якщо немає рішення ВКК

$myOutputEntry["diagnosis"] = $myTempContent | Select-Object -Skip

$lek | Select-String "ДІАГНОЗ:" -CaseSensitive | Select-Object -First 1

if($myOutputEntry["diagnosis"]) { $tmpstrdiag =

$myOutputEntry["diagnosis"].toString() }

$profzah = $myTempContent | Select-Object -Skip $lek | Select-String

"[Зз]ахв[а-я. ]*проф" -CaseSensitive | Select-Object -First 1

Пошук згадки про діагноз у супутних діагнозах

if ( $profzah ) { $myOutputEntry["profzah"] = 1 } else {

$myOutputEntry["profzah"] = 0 }

if ( $profzah -and $myOutputEntry["diagnosis"] ) {

if ( ($profzah.LineNumber + $lek) -gt

($myOutputEntry["diagnosis"].LineNumber + $lek) ) {

[String]$tmpstrdiag += $myTempContent | Select-Object `

-Skip $( $myOutputEntry["diagnosis"].LineNumber + $lek ) `

-First $( $profzah.LineNumber - $myOutputEntry["diagnosis"].LineNumber

)

$myOutputEntry["diagnosis"] = $tmpstrdiag

}

}

$lek = 1

}

Пошук у супутних діагнозах

$myOutputEntry["supdiagnos"] = $myTempContent | Select-String "Суп\.

д-з:" -CaseSensitive | Select-Object -Last 1

$myOutputEntry["analysis"] = $myTempContent | Select-String "КРОВІ:" -

CaseSensitive | Select-Object -First 1

Встановлюємо дату народження

$myOutputEntry["birthday"] = $myTempContent | Select-String "Дата

народ" -CaseSensitive | Select-Object -First 1

Загальний підземний стаж

$myOutputEntry["workyears"] = $myTempContent | Select-String

"[вВуУ]сього[ ]+[0-9]{1,2}[ ]+[рР][оі]к" -CaseSensitive | Select-Object -

First 1

Пошук стажу по обраним професіям в розділі „Профмаршрут”

$myStartLine = $myTempContent | Select-String "ПРОФМАРШРУТ" -

CaseSensitive | Select-Object -Property LineNumber -First 1

[Int32]$myStartLineIndex = $myStartLine.LineNumber

$myFinishLine = $myTempContent | Select-String "ЄКТИВНО" -

CaseSensitive | Select-Object -Property LineNumber -First 1

[Int32]$myFinishLineIndex = $myFinishLine.LineNumber

f ( ($myStartLineIndex -gt 0) -and ($myFinishLineIndex -gt 0) -and

($myFinishLineIndex -gt $myStartLineIndex) ) {

$myOutputEntry["profmarsh"] = $myTempContent | Select-Object -Skip $(

$myStartLineIndex - 1 ) -First $( $myFinishLineIndex - $myStartLineIndex

)

}

Далі відбувається заповнення визначених полів (кількості років, яку було відпрацьовано за даною професією. Цей код також змінюється за допомогою Delphi.

[Int32]$myOutputEntry["prohid"] =

[Int32]$myOutputEntry["grov"] =

[Int32]$myOutputEntry["krip"] =

[Int32]$myOutputEntry["eslsr"] =

[Int32]$myOutputEntry["slsr"] =

[Int32]$myOutputEntry["buryl"] =

[Int32]$myOutputEntry["mgvm"] =

[Int32]$myOutputEntry["vybuh"] = 0

Наприклад, шукаємо професію прохідник. При цьому ми враховуємо можливу різницю в регістрі

$profession = $myTempContent | Select-String "[пП]рохідник" -

CaseSensitive | Measure-Object | Select-Object -Property count

$myOutputEntry["prohid"] = $profession.count

...

Аналогічним чином підрахуємо стаж роботи за іншими професіями

...

$profession = $myTempContent | Select-String "[вВ]ибухівник" -

CaseSensitive | Measure-Object | Select-Object -Property count

$myOutputEntry["vybuh"] = $profession.count

Встановлюємо ознаку, що відповідний діагноз знайдено

$diagnosis = $myOutputEntry["diagnosis"] -match

"[рР]ад[іи]кулопат[иі]я"

[Int32]$myOutputEntry["radykul"] = if ( $Matches.Count -ne 0 ) { 1 } else {

0 }

$Matches.Clear()

$diagnosis = $myOutputEntry["diagnosis"] -match "[вВ]ібраційна

хвороба"

[Int32]$myOutputEntry["vb"] = if ( $Matches.Count -ne 0 ) { 1 } else { 0 }

$Matches.Clear()

$diagnosis = $myOutputEntry["diagnosis"] -match "[лЛ]юмбоішіалгія"

[Int32]$myOutputEntry["lmb"] = if ( $Matches.Count -ne 0 ) { 1 } else { 0 }

$Matches.Clear()

Далі заповнюємо поля з аналізами крові, що є в документі

$myOutputEntry.analysis -match "[Нн]в-([0-9]{1,3})" | Out-Null

$myOutputEntry["an_nv"] = $Matches[1] # Кровь Нв

$Matches.Clear()

Для кожного з аналізу використовуємо окреме поле

$myOutputEntry.analysis -match "ер-([0-9]{1,3},[0-9]{1,3})" | Out-Null

$myOutputEntry["an_er"] = $Matches[1] #-replace ",","." # Кровь ер

$Matches.Clear()

Взагалі в системі передбачено пошук 10 різних аналізів

$myOutputEntry.analysis -match "\sкп-([0-9]{1,3},[0-9]{1,3})" | Out-Null

$myOutputEntry["an_kp"] = $Matches[1] #-replace ",","." # Кровь кп

$Matches.Clear()

...

Частина аналогічна наведеному вище

...

$myOutputEntry.analysis -match "\sм-([0-9]{1,3})" | Out-Null

$myOutputEntry["an_m"] = $Matches[1] # Кровь м

$Matches.Clear()

Далі нам залишається записати здобуті дані у вихідний файл

$myTempCSV = ( $_ -replace "^[0-9]{4}\\","" -replace "\.txt$","" ) +

";" + $myOutputEntry["age"] +

";" + $myOutputEntry["workyears"] +

...

Далі йдуть ім'я полів таблиці

...

";" + $myOutputEntry["an_l"] +

";" + $myOutputEntry["an_m"] +

$myOutputEntry.Clear()

Add-Content -Path $myOutputPath -Value $myTempCSV

}

-Begin { $i = 0; Clear-Host }

Закінчення роботи скрипту

$myWatcher.Stop()

6. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ

Важливим фактором, що впливає на процес формування ціни, є конкуренція на ринку, необхідність брати до уваги яку є очевидною. З метою підвищення конкурентоспроможності продукту може виникнути необхідність зниження його ціни на ринку. Важливо відмітити, що цілям підвищення конкурентоспроможності служить не тільки зниження ціни, але, також, і якість товару і його вигідні ознаки в порівнянні з аналогічним товаром конкурентів.

Найбільш важливим моментом для розроблювача, з економічної точки зору, є процес формування ціни. Програмні продукти являють собою досить специфічний товар з безліччю властивих їм особливостей. Багато їхніх особливостей проявляються й у методах розрахунків ціни на них. На розробку програмного продукту середньої складності звичайно потрібні досить незначні засоби. Однак, при цьому вона може дати економічний ефект, що значно перевищує ефект від використання досить дорогих систем.

Варто підкреслити, що у програмних продуктів практично відсутній процес фізичного старіння й зношування. Для них основні витрати доводяться на розробку зразка, тоді як процес тиражування являє собою, звичайно, порівняно нескладну й недорогу процедуру копіювання магнітних носіїв і супровідної документації.

Метою виконання дипломної роботи є автоматизація збору статистичних інформації в умовах неврологічного відділення Криворізького інституту професійних захворювань. В ході розробки програмного продукту було використане програмне забезпечення Turbo Delphi 2006 Explorer, яке є безкоштовним. Для функціонування системи також необхідне встановлення пакету Microsoft Office.

Економічна доцільність розробки полягає в економії трудовитрат в порівнянні з ручною обробкою і отриманні достовірнішої інформації за коротший час. Для роботи системи необхідно: персональний комп'ютер на базі процесору Intel з частотою не менше 2,4 ГГц, з ОЗУ рівним 512Мб, з SVGA - відеоадаптером і монітором 17 дюймів.

Таблиця 6.1

Вартість устаткування

№ п/п

Найменування

Марка

К-ть

Ціна

Сума

1

ЕОМ (зі встановленою операційною системою Windows XP)

1

3700,15

3700,15

2

Джерело безперебійного живлення

APC Back-Bk500 EI

1

343,00

343,00

Разом:

4043,15

Таблиця 6.2

Матеріали для роботи

№ п/п

Найменування

Норма витрати на виріб

Ціна

Сума

1

Компакт-диски

5

3

15

2

Література

1

1

127,2

Разом:

142,2

Вартість устаткування збільшується на вартість транспортування - 10% і вартість монтажу - 15%. Разом вартість устаткування складе:

Соб = 4043,15+404,32+606,47=5053,94 грн.

Амортизація комп'ютера складає 15% в квартал від залишкової вартості, тобто

А = Фзал Н,

де Фзал - залишкова вартість відповідно групи ОФ на початок кварталу. Н - норма амортизації.

I квартал 5053,94 х 0.15 = 758,09

II квартал (5053,94 -758,09) х 0.15 = 644,37

III квартал (5053,94 -758,09 - 644,37) х 0.15 = 547,72

IV квартал (5053,94 -758,09 - 644,37 - 547,72) х 0.15 =465,56

Разом річна амортизація складе: 2415,74

Матеріали для роботи списуються у міру витрат.

Вартість необхідного програмного забезпечення - пакету Microsoft Office приймаємо рівним 2700 грн.

Амортизація програмного забезпечення на 3 роки складатиме:

Апр=2700/3=900,00 грн.

Витрати на електроенергію

Е = N х В х t,

де N - споживана об'єктом потужність від мережі (кВт/час)

t - Тариф на електроенергію

B - Регламентований час роботи об'єкту протягом року. ч/год.

В= кількість робочих днів в році х 8 годин =251 х 8 = 2008 (годин)

Е = 0,30 х 2008 х 0,9302 = 560,35 грн./год.

Нормативне споживання електроенергії комп'ютером - 300 вт/година або 0,3 квт/час. Вартість 1 кВт електроенергії для підприємства 93 копійки або 0,9302 грн.

Розрахунок заробітної плати

Для розробки, тестування, впровадження і супроводу системи програмістові необхідні 30 робочих днів в році.

Кількість робочих днів в році визначається по формулі:

Тт = Тр -(Твн)

де Тн - кількість святкових днів в році;

Тр - кількість днів в році;

Тт - кількість днів в тиждень;

Тв - кількість вихідних днів в році;

Тт =365 - ( 104+10) =251

Кількість робочих днів в місяць: 21.

Таблиця 6.3

Співробітники

№п/п

Найменування посад

Посадовий оклад грн./місяць

Трудомісткість виконання

Сума зарплати, грн.

1.

Інженер - програміст

1800

30 днів

30 х 86 = 2580

Середня денна заробітна платня = 1800 : 21 = 86 грн.,

За виконання завдання виплачується премія у розмірі 50%

Сума премії = Зп х П% =2580 х 0,5 = 1290 грн.

Разом зарплата інженера програміста:

2580+ 1290=3870 грн.

Єдиний соціальне нарахування становить 36,77%, що дорівнює:

3870*36,77/100 = 1423,00 грн.

Зарплата інженера - програміста з нарахуваннями на соціальні потреби.

Зп. відр = 3870 + 1423,00= 5 293,00 грн.

Раніше роботу виконували 2 співробітника. Було звільнено 1 співробітника, таким чином залишився працювати 1 робітник.

Таблиця 6.4

Економія заробітної плати

Кількість робітників

Місячна з/пл грн.

Премія 20%

Разом за рік

Заробітна плата

1

1200

240

17 280

Нарахування на соціальні потреби (37,6 %)

1

6 497,28

РАЗОМ:

23 777,28

Економія за рахунок зниження трудомісткості виконуваної роботи =

23 777,28 - 5 293,00 =18 484,28 грн;

а річний ефект рівний:

18 484,28 - річна амортизація устаткування - річна амортизація програмного забезпечення - поточні витрати на матеріали - споживана електроенергія.

Е річн.еф. = 18 484,28- 2 415,74 - 900,00 - 142,2- 560,35 = 14 465,99грн.

,

де К - капітальні витрати, рівні

5 053,94 + 2700 = 7753,94 (вартість устаткування + вартість програмного забезпечення)

= 0,54 року.

- це термін окупності витрат.

Таким чином, впровадження розробленого програмного продукту є економічно доцільним.

7. ОХОРОНА ПРАЦІ

Вивчення і рішення проблем, пов'язаних із забезпеченням здорових та безпечних умов, в яких протікає праця людини - одна з найбільш важливих завдань у розробці нових технологій та систем виробництва. Вивчення та виявлення можливих причин виробничих нещасних випадків, професійних захворювань, аварій, вибухів, пожеж, і розробка заходів та вимог, спрямованих на усунення цих причин дозволяють створити безпечні та сприятливі умови для праці людини.

В Україні діють закони, які визначають права й обов'язки її громадян, а також організаційну структуру органів влади і промисловості. Конституція України декларує рівні права й свободи всім жителям країни: вільний вибір роботи, що відповідає безпечним і здоровим умовам, на відпочинок, на соціальний захист у випадку втрати працездатності й старості. Всі закони й нормативні документи повинні узгоджуватися, базуватися й відповідати статтям Конституції.

Законодавча база охорони праці України має ряд законів, основним з яких є Закон України «Про охорону праці» і Кодекс законів про працю (КЗпП). До законодавчої бази також належать Закони України: «Про загальнообов'язкове страхування від нещасних випадків на виробництві й професійних захворювань, які викликали втрату працездатності», «Про охорону здоров'я», «Про пожежну безпеку», «Про забезпечення санітарного й епідеміологічного добробуту населення», «Про використання ядерної енергії й радіаційну безпеку», «Про дорожній рух», «Про обов'язкове страхування у зв'язку з тимчасовою втратою працездатності й витратами, обумовленими народженням й похоронами». Їх доповнюють стандарти, правила, норми, інструкції, положення, статути й інші документи.

Найбільш важливим нормативним документом по забезпеченню охорони праці користувачів ПК є «Державні санітарні правила й норми роботи з візуальними дисплейними терміналами (ВДТ) електронно-обчислювальних машин» ДСанПіН 3.3.2.007-98.

7.1 Аналіз небезпечних й шкідливих виробничих факторів

Комфортні та безпечні умови праці-одна з основних факторів, що впливають на продуктивність службовців обчислювальних центрів. Робота співробітників обчислювальних центрів безпосередньо пов'язана комп'ютером, а відповідно з додатковим шкідливим впливом цілої групи факторів, що істотно знижує продуктивність їх праці.

Приміщення, в якому виконувалась науково-дослідна робота - це інформаційно-обчислювальний центр (ІОЦ). У інформаційно-обчислювальному центрі знаходиться 14 комп'ютерів з 14 робочими місцями. Розміри ІОЦ такі: довжина - 13 м, ширина - 7 м, висота - 3,2 м, таким чином, загальна фактична площа складає 91 м2, загальний об'єм приміщення - 291,2 м3 .

Наведені розміри відповідають необхідним нормам СН 512-78 и ДСанПіН 3.3.2.007-98, виходячи з яких, площа повинна бути не менше 6 м2 на одне робоче місце, об'єм не менше 20 м3 , таким чином, площа робочого місця у приміщенні складає 6,5 м2, а об'єм 20,8 м3.

Робота з комп'ютером характеризується значною розумовою напругою і нервово-емоційним навантаженням на людину, високою напруженістю зорової роботи і достатньо великим навантаженням на м'язи рук при роботі з пристроями введення комп'ютера. Велике значення має раціональна конструкція і розташування елементів робочого місця, що важливе для підтримки оптимальної робочої пози людини. Небезпечні і шкідливі виробничі чинники, класифікуються на підставі ГОСТ 12.0.003-74. У таблиці 7.1 наведені небезпечні і шкідливі чинники, які мають місце при роботі з ПЕОМ з вказівкою дії на організм людини.

Таблиця 7.1

Небезпечні і шкідливі чинники при роботі з ПЕОМ

№ п/п

Назва фактора

Джерела виникнення

Характер дії

1

Підвищення значення напруги в електричному ланцюзі

Мережа електричного струму(380/220 В)

Небезпечний

2

Підвищений рівень статичної електрики

Екран дисплея і діелектричні поверхні

Небезпечний

3

Підвищена іонізація повітря

Статична електрика

Шкідливий

4

Підвищені рівні шуму та вібрації

Пристрої охолодження ЕОМ, друкувальні пристрої

Шкідливий

5

Пряме та відбите світло

Зовнішні джерела світла, діючі на екран

Шкідливий

6

Підвищена пульсація світлового потоку

Лампи денного світла (люмінесцентні), екран монітора

Шкідливий

7

Розумове перенапруження

Тривала розумова праця

Шкідливий

8

Підвищена запиленість повітря

Стан системи кондиціонування і вентиляції, перевантаженість робочих місць

Шкідливий

9

Перенапруження аналізаторів

Тривале знаходження перед монітором, шум обладнання

Шкідливий

10

Монотонність праці

Тривале виконання однотипної праці, рідка зміна пози

Шкідливий

11

Емоційне перевантаження

Стреси, що виникають від монотонної праці, загальної емоційної напруги, непередбачуваних невдач та проблем під час виконання завдань

Шкідливий

Робота на ІОЦ, у відповідності до ДСН 3.3.6.042-99, відноситься до категорії важкості робот 1б - легка. Енерговитрати складають 141-175 Вт (121-150 ккал/год.). Оптимальні значення параметрів мікроклімату для теплого і холодного періодів року з урахуванням категорії робіт, приведені у таблиці 7.2 згідно з вимогами ГОСТ 12.1.005-88 та ДСН 3.3.6.042-99.

Таблиця 7.2

Оптимальні значення параметрів мікроклімату

Період року

Температура, оС

Відносна вологість, %

Швидкість руху повітря, м/с

Холодний

21-23

40-60

<0,1

Теплий

22-24

40-60

<0,2

Норми рівнів іонізації повітря відповідно до СН 2152-80 приведені у таблиці 7.3.

Таблиця 7.3

Рівні іонізації повітря приміщення при роботі з ЕОМ

Рівні іонізації

Кількість іонів у повітря

Максимально необхідні

400

600

Оптимальні

1500-3000

3000-5000

Допустимі

50000

50000

Поверхня підлоги в приміщеннях експлуатації ПЕОМ повинна бути рівною, без вибоїн, неслизького, зручного для очищення і вологого прибирання, володіти антистатичними властивостями.

Відповідно до ДСанПіН 3.3.2.007-98. встановлюються гігієнічні вимоги, які регламентують допустиме значення поверхневого електростатичного потенціалу не більше 500 В, а напруженість електростатичного поля 15 кВ/м.

Експлуатовані ЕОМ є однофазними споживачами трьохфазної чотирьохпроводної мережі з глухозаземленою нейтраллю із напругою 380/220 В і частотою 50 Гц.

Приміщення ІОЦ по ступеню небезпеки ураження людей електричним струмом згідно з ПУЕ-87 належить до категорії приміщень з підвищеною небезпекою, оскільки робочі місця розташовані таким чином, що існує можливість одночасного дотику до металевих корпусів електроустаткування та до металоконструкцій будівлі, що мають з'єднання з землею.

Джерелами шуму на ІОЦ є принтери та охолоджувальна система ЕОМ. Згідно норм у приміщенні ІОЦ рівні звуку не повинні перевищувати 50 дБА. Згідно ДОСТ 12.1.012-90 рівень вібрації для категорії 3, тип В, в умовах “комфорту” не повинен перевищувати 75 дБ.

У світлий час доби на ІОЦ використовується бокове одностороннє природне освітлення, а у темний час - загальне рівномірне штучне. Освітлення повинне забезпечувати необхідний спектральний склад світла. Значення нормативного показника КПО має бути не менш 1,5% при роботі з ЕОМ згідно нормам НАОП 0.00-1.31-99.

Розряд зорової роботи, а також нормовані показники природного та штучного освітлення відповідно до ДБН В.2.5-28-2006 приведені у таблиці 7.4.

Таблиця 7.4

Нормовані показники природного та штучного освітлення

Характеристика зорової роботи

Розряд зорової роботи

Розмір об'єкта розпізнавання, мм

Підрозряд зорової роботи

Характерис-тика фону

Контраст об'єкта розпізнавання з фоном

Освітлення

Штучне, загальне E, лк

Природне, бокове, КПО,%

Середньої точності

IІІ

0,5 - 1

г

світлий

великий

300

1,3

7.2 Заходи щодо нормалізації небезпечних і шкідливих факторів

Для забезпечення нормальних метеоумов в ІОЦ встановлений кондиціонер, що постійно підтримує задані кліматичні параметри в робочому просторі. У зимовий період у доповненні до центрального опалення використаються електрообігрівачі масляного типу. У літній період при зниженні в повітрі кількості водяної пари (низкою вологості повітря) застосовується зволожувач повітря.

Основними джерелами шумів в приміщенні, де робота здійснюється за допомогою ПЕОМ, є шум від самих ПЕОМ, розмова людей, система кондиціонування, шум від працюючої друкарської техніки і шум з вулиці, коридору.

Для пониження рівня шумів в приміщенні можна використовувати наступні заходи:

1. Використовуються звукоізоляційні пластикові вікна.

2. Для зниження ефекту від шумів, що створюються усередині приміщення стелі і стіни покриваються спеціальними звукопоглинальними матеріалами.

3. Використання вентиляторів більшого діаметру, використання пасивного охолоджування усередині ПЕОМ.

4. Використання безшумної клавіатури і миші, сучасна периферійні пристрої (принтер, сканер) теж значно тихіше раніше випущених моделей.

Розрядні струми статичної електрики найчастіше виникають при дотику до будь-якого з елементів ПЕОМ. Такі розряди небезпеки для людини не представляють, але окрім неприємних відчуттів вони можуть привести до виходу з ладу ПЕОМ. Для зниження величини виникаючих зарядів статичної електрики в приміщенні покриття технологічної полови слід виконувати з одношарового полівінілхлоридного антистатичного лінолеуму. Іншим методом захисту є нейтралізація заряду статичної електрики іонізованим газом. У промисловості широко застосовуються радіоактивні нейтралізатори. До загальних заходів захисту від статичної електрики в приміщенні можна віднести зволоження повітря.

Відповідно до правил пристрою електроустановок для заземлення електроустановок потужністю менш 1кВ рекомендується використовувати заземлення з опором 4 Ом.

Таким чином, для захисту від дії статичної електрики впроваджуються наступні заходи:

? заземлення електроприладів;

? протирання зовнішньої поверхні монітора, клавіатури і інших пристроїв, вологою серветкою;

? щоденне вологе прибирання приміщення;

? покриття підлоги спеціальним антистатичним лінолеумом.

Для захисту від поразки електричним струмом у разі пошкодження ізоляції повинні бути застосовані окремо або в поєднанні наступні заходи захисту при непрямому дотику:

? захисне заземлення;

? автоматичне відключення живлення;

? подвійна або посилена ізоляція;

? захисне електричне розділення ланцюгів.

При правильно розрахованому і виконаному освітленні очі працюючого за комп'ютером протягом тривалого часу зберігають здатність добре розрізняти предмети не втомлюючись. Це сприяє зниженню професійного захворювання очей, підвищується працездатність. Раціональне освітлення відповідає ряду вимог:

? достатнє, щоб очі без напруги могли розрізняти деталі;

? постійна напруга в мережі не коливається більше ніж на 4%;

? рівномірно розподілено по робочим поверхням, щоб очам не приходилося зазнавати різкого контрасту кольорів;

? не викликає дії, яка сліпить органи зору працюючого (зменшення блищання джерел, що відбивають світло, досягається застосуванням світильників, які розсіюють світло);

? не викликає різких тіней на робочих місцях.

Задачею розрахунку є визначення необхідної потужності електричної освітлювальної установки для створення у виробничому приміщенні заданої освітленості. При проектуванні освітлювальної установки необхідно вирішити наступні основні питання:

? вибрати тип джерела світла - рекомендуються газорозрядні лампи, за винятком місць, де температура повітря може бути менш +5°С і напруга в мережі падати нижче 90 % номінального, а також місцевого освітлення (у цих випадках застосовуються лампи розжарювання);

? визначити систему освітлення (загальна локалізована або рівномірна, комбінована);

? вибрати тип світильників з урахуванням характеристик світорозподілення, умов середовища (конструктивного виконання) та інше;

? розподілити світильники і визначити їх кількість (світильники можуть матися в своєму розпорядженні рядами, в шаховому порядку, ромбоподібно);

? визначити норму освітленості на робочому місці.

Для розрахунку штучного освітлення використовують в основному три методи. Найчастіше її розраховують по світловому потоку. Для цього визначається світловий потік кожної лампи по нормуючій мінімальній горизонтальній освітленості Еmin (лк) з вираження:

F = (Emin·S·K·z) / n1·n·N,(7.1)

де F - світловий потік лампи в світильнику, лм;

S - площа приміщення, м2;

K - коефіцієнт запасу;

z - коефіцієнт нерівномірного освітлення;

n1 - коефіцієнт використання світлового потоку;

n - кількість ламп в світильнику;

N - число світильників.

Якщо освітлення здійснюється рядами люмінесцентних ламп, те вираження вирішується відносно N. Значення коефіцієнта n1 визначається по довіднику в залежності від типу світильника, коефіцієнтів відбивання стін Рс, стелі Рп, робітничій поверхні і від розмірів приміщення. Показник приміщення fi визначається з виразу:

fi= А·В/Нр·(А+В),(7.2)

де А і В - довжина і ширина освітленого приміщення, м;

Нр - висота підвісу світильника над робітничою поверхнею, м.

У випадку застосування люмінесцентних ламп потрібна кількість світильників N, яка визначається за формулою:

N = Emin·S·K·z/F·n1·n(7.3)

Поділивши число світильників N на число вибраних рядів світильників, визначають число світильників у кожному ряду.

Нехай зал має розміри А=13 м, В=7 м, h=3.2 м, стеля обладнується світильниками Л201Б з люмінесцентними лампами ЛБ80.

Рівень робітничої поверхні над полом 0,8 м, при цьому Нр=2,4 м.

Показник приміщення рівний:

fi=40/2,4 (8+5)=1,3986

По довіднику визначаємо значення коефіцієнта n1 (для значень Рс=0,5, Рп=0,3): n1=0,7. Значення коефіцієнта нерівномірного освітлення приймаємо рівним 1,1, а коефіцієнта запасу - 1,5. При загальному типі освітлення значення Emin=400 лк. Знаючи значення світлового потоку кожної лампи, можемо визначити необхідну кількість світильників:

N=400·8·5·1,5·1,1/5220·0,7·2=3 (штук)

Загальна потужність освітлювальної установки рівна:

Р=2·80·3=480 (Вт)

По результатах проведеного розрахунку можна зробити висновок про те, що освітлення в робочій зоні, знаходяться в межах допустимих норм.

7.3 Пожежна безпека

Пожежа в приміщенні обчислювального центру відноситися до класу В -- пожежі, пов'язані з горінням електроустановок, що знаходяться під напругою.

В електронно-обчислювальній техніці пожежну небезпеку створюють прилади, що нагріваються, електро- і радіотехнічні елементи. Вони нагрівають навколишнє повітря і близько розташовані деталі і провідники. Все це може призвести до займання означених елементів, руйнування ізоляції і короткого замикання.

Для гасіння пожеж передбачена наявність первинних засобів пожежегасіння, (згідно так і пожежні крани із брезентовими рукавами, пожежні щити (1 щит на 5000м2). В кімнаті знаходиться вогнегасник (ВВ-5). При розміщенні вогнегасників виключений безпосередній вплив на них сонячних променів, опалювальних і нагрівальних пристроїв. За конструкцією, матеріалами, методами контролю, умовами змісту, обслуговуванням вогнегасник відповідає вимогам Правил пристрою і безпечної експлуатації судин, що працюють під тиском.

Відповідно до «Правил пожежної безпеки в Україні» при захисті приміщень ЕОМ, слід використовувати порошкові та вуглекислові вогнегасники з урахуванням гранично допустимої концентрації вогнегасної речовини. Розміщення вогнегасників в коридорах, проходах не повинно перешкоджати безпечній евакуації людей. Їх слід розташовувати на видних місцях поблизу від виходів з приміщень на висоті не більше 1,5 м.

Для успішного гасіння пожежі велике значення має швидке виявлення пожежі та своєчасний виклик пожежних підрозділів до місця пожежі. Пожежний зв'язок і сигналізація можуть бути спеціального або загального призначення, радіозв'язком, електричною пожежною сигналізацією (ЕПС), сиренами. ЕПС є найбільш швидким та надійним засобом сповіщення про виникнену пожежу. В залежності від схеми з'єднання розрізнюють променеві (радіальні) та шлейфні (кільцеві) системи ЕПС.

ЕПС складаються з таких основних частин: сповіщувачів, встановлених в приміщеннях; приймальної станції, яка знаходиться в черговій кімнаті пожежної команди; блока поживи від сіті та від акумулятора (резервний); системи переключення з одної поживи на іншу; електропровідній сіті, яка з'єднує сповіщувачі з приймальною станцією.

В кімнаті з ПЕОМ розміщений сповіщувач (датчик) тепловий легкоплавкий. При збільшенні температури легкоплавкий сплав розплавляється і пружинячі пластинки, розмикаючись, вмикають ланцюг сигналізації.

Безпечна евакуація людей при пожежі має першорядне значення в комплексі заходів щодо забезпечення пожежної безпеки. Досвід показує, що недооцінка важливості або неправильне розуміння цього моменту може привести до трагічних наслідків. Важливим і обов'язковим елементом забезпечення; безпечній евакуації людей при пожежі і інших надзвичайних ситуаціях є грамотно розроблений і правильно виконаний план евакуації.

Згідно БНіП 2.09.02-85, в будівлях і спорудах (окрім житлових будинків) при одноразовому знаходженні на поверсі більше 10 чоловік повинні бути розроблені і на видних місцях вивішені плани евакуації людей на випадок пожежі.

На об'єктах з масовим перебуванням людей на додаток до схематичного плану евакуації людей при пожежі повинна бути розроблена інструкція, що визначає дії персоналу по забезпеченню безпечної і швидкої евакуації людей, по якій не рідше за один раз в півріччя повинні проводитися практичні тренування всіх задіяних для евакуації працівників.

Плани евакуації складаються, зважаючи на особливості поведінки людей при пожежі, об'ємно-планувальні рішення будівлі (розміри і тип комунікаційних шляхів і т.п.), потужності сформованих людських потоків, режим експлуатації будівлі, що склався, активні і пасивні системи пожежної безпеки. План розміщується на видному, доступному місці.

ВИСНОВКИ

Першою і головною проблемою обробки великої кількості медичної інформації є відсутність єдиної системи зберігання даних, що надавала б можливість швидко та зручно, а головне одноманітно і стандартизовано, їх опрацьовувати.

Результатом виконання даної дипломної роботи є розробка модулю автоматизація збору статистичних інформації в умовах неврологічного відділення Криворізького інституту професійних захворювань.

Інтерфейс системи був створений за допомогою інструментального засобу прискореної розробки програмного забезпечення Delphi. За допомогою системи прискореної розробки Delphi можна розробляти додатки для роботи, як з локальними, так і з видаленими базами даних, включаючи публікацію баз даних в Internet. Delphi підтримує більшість сучасних технологій створення інформаційних систем, зокрема багаторівневу технологію клієнт-сервер. Ці факти служать аргументами на користь того, щоб використовувати даний інструментальний засіб як універсальний інтерфейс для програмних продуктів, що розробляються.

У зв'язку з великим об'ємом вхідних даних та тривалим часом їх обробки пошук та збір даних був реалізований за допомогою системи пакетної обробки PowerShell, що базується на основі технології .NET Framework. При цьому скрипт сценарію генерується та виконується автоматично на основі умов, заданих користувачем системи та під управлінням оболонки системи.

Windows PowerShell побудований на базі Microsoft .NET Framework і інтегрований з ним. Додатково PowerShell надає зручний доступ до COM, WMI і ADSI, рівно як і дозволяє виконувати звичайні команди командного рядка, щоб створити єдине оточення, в якому адміністратори змогли б виконувати різні завдання на локальних і видалених системах.

Windows PowerShell також надає механізм вбудовування, завдяки якому виконувані компоненти PowerShell можуть бути вбудовані в інші додатки. Ці додатки потім можуть використовувати функціональність PowerShell для реалізації різних операцій, включаючи ті, що надаються через графічний інтерфейс.

СПИСОК ЛІТЕРАТУРИ

1. Бобровский С. Delphi 5 - CПб.: Питер, 2000.

2. Гаевский А. Разработка программных приложений на Delphi 6 - М.: Киев, 2000.

3. Галисеев, Г.В. Программирование в среде Delphi 8 for .NET. Самоучитель. :- М.: Издательский дом "Вильямс", 2004.

4. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi. Учебное пособие. СПб.: ДиаСофтЮП, 2003.

5. Гофман В., Хомоненко А. Delphi 6. CПб.: БХВ-Петербург, 2004.

6. Грибачев К. Г. Delphi и Model Driven Architecture. Разработка приложений баз данных. - СПб.. Питер, 2004.

7. Грибачев К. Тонкие базы данных и инструменты для их разработки в Delphi и C++Builder. - КомпьютерПресс, 2003, № 7, 8.

8. Дарахвелидзе П.Г., Марков Е.П. Delphi - среда визуального программирования. СПб.: BHV- Санкт-Петербург, 1999.

9. Елманова Н., Трепалин С., Тенцер А. Delphi 6 и технология COM. - CПб.: Питер, 2002.

10. Калверт Ч. Delphi 5. Энциклопедия пользователя. СПб.: ДиаСофтЮП, 2003.

11. Климова Л.М. "Delphi 7. Самоучитель. М.: ИД КУДИЦ-ОБРАЗ, 2005.

12. Корняков В.Н. Программирование документов и приложений MS Office в Delphi. - CПб.: БХВ-Петербург, 2005.

13. Коцюбинский А.О., Грошев С.В. Язык программирования Delphi 5 - М.: "Издательство Триумф", 1999.

14. Леонтьев В. Delphi 5 - М.: Москва "Олма-Пресс", 1999.

15. Мадрел Тео. Разработка пользовательского интерфейса/ Пер. с англ.- М.:ДМК,2001.

16. Матросов А.В. и др. MS Office ХР: разработка приложений / Матросов А.В., Новиков Ф.А., Усаров Г.Е., Харитонова И.А. / Под ред. Ф.А. Новикова. -- СПб.: БХВ-Петербург, 2003.

17. Немнюгин С.А. Программирование - CПб.: Питер, 2000.

18. Озеров В. Delphi. Советы программистов (2-е издание). -- СПб.: Символ- Плюс, 2002.

19. Пономарев В. Самоучитель Delphi 7. CПб.: БХВ-Петербург, 2005.

20. Ревнич Ю.В. Нестандартные приемы программирования на Delphi. -- СПб.: БХВ-Петербург, 2005.

21. Ремизов Н. Delphi - CПб.: Питер, 2000.

22. Симонович С.В., Евсеев Г.А. Занимательное программирование: Delphi. - М.: АСТ-ПРЕСС Кнрга, 2001.

23. Фараонов В. Система программирования Delphi. CПб.: БХВ-Петербург, 2005.

24. Ханекамп Д. Вилькен П. Программирование под Windows/ Пер. с нем. -М.: ЭКОМ, 1996.

25. Хомоненко А.Д. Delphi 7. CПб.: БХВ-Петербург, 2005.

26. Королевство Delphi. Виртуальный клуб программистов

27. //Профессиональные программы для разработчиков

28. Программирование на Delphi

29. Справочник - «Основы Delphi»

30. Мастера Delphi

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.