1. Trang chủ
  2. » Giáo án - Bài giảng

Hướng dẫn sử dụng Epidata 3.1 của Vũ Huy Nhất

16 1,6K 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 627,72 KB

Nội dung

Giới thiệu khái quát và hướng dẫn sử dụng phần mềm Epidata 3.1 để xây dựng bộ nhập liệu. Ưu điểm của bài hướng dẫn là có hình ảnh trực quan và một số lệnh nâng cao như xây dựng phần nhập cho câu hỏi nhiều lựa chọn.

Trang 1

1

HƯỚNG DẪN SỬ DỤNG EPIDATA 3.1

1 Mục tiêu

Làm được việc khai báo và tạo check cho biến của bộ câu hỏi điều tra định

lượng

2 Nhập đề

* Nhập số liệu từ phiếu/bộ câu hỏi điều tra vào máy tính là một giai đoạn của một quá

trình nghiên cứu Vì vậy người thiết kế chương trình nhập liệu (Bao gồm khai báo và tạo check cho các biến) phải hiểu nội dung nghiên cứu, các chỉ số của nghiên cứu và

dữ liệu phân tích (Gồm tệp số liệu, bản ghi, biến, kiểu dữ liệu) là như thế nào

* Việc khai báo, tạo check cho các biến của bộ câu hỏi phải đảm báo yêu cầu sau:

- Với số liệu: Đảm bảo chính xác, đầy đủ, logic của thông tin

- Với nhập liệu viên: Giao diện thân thiện (đẹp về hình thức, dễ hiểu về nội dung trình bày), dễ nhập, nhanh chóng (loại bỏ các thao tác thừa)

*Giao diện và các file chính được tạo bởi Epidata

- Khai báo bộ câu hỏi

(

)

-

- Là nguồn để sinh

tệp REC

- Chứa dữ liệu

- Sinh ra từ tệp QES

- Chứa mã nguồn thực thi các ràng buộc nhằm hạn chế lỗi số liệu

- Luôn đi kèm với một tệp REC tương ứng

3 Khai báo và tạo check cho biến

3.1 Khai báo các biến với Epidata

Bước 1: Xác định chuỗi định dạng cho các câu hỏi/mục thông tin trên phiếu điều tra

- Câu hỏi đó là nhiều lựa chọn hay một lựa chọn

Trang 2

2

- Nó là câu hỏi/mục thông tin dạng chữ (Text) hay dạng số (Numberic) hay

ngày/tháng/năm Với kiểu dữ liệu dạng số hoặc dạng chữ xác định độ lớn của các ký

tự mà biến đó có thể nhận

* Bảng: Các chuỗi định dạng dữ liệu hay dùng

<IDNUM> - Dạng số được EpiData sinh tự động khi nhập, giá trị của biến

này tương ứng số thứ tự của bản ghi bản ghi được nhập vào chương trình

- Sử dụng khai báo cho dữ liệu dạng chữ hoặc số

- Độ rộng lớn nhất là 80 ký tự (Gạch dưới: _)

<A > - Trường chữ: “String”

- Chữ được viết hoa

- Sau “A” bấy nhiêu lần cách là bấy nhiêu ký tự

<dd/mm/yy> hoặc

<dd/mm/yyyy>

<Today-dmy>

- Khai báo ngày, tháng, năm

- Hiển thị theo ngày trên “đồng hồ máy tính” khi nhập liệu

Bước 2: Tạo một file QES để khai báo và bộ cục giao diện nhập liệu

hoặc

Ctrl + S hoặc để lưu tệp QES trong ổ cứng máy tính

Khai báo các thông tin của phiếu điều tra ở tệp QES Bằng việc đánh máy tay nếu chỉ

có bản giấy của phiếu điều tra hoặc “copy – pase” nếu có bản điện tử của phiếu điều

tra

Ở đây có một vài lưu ý:

Lưu ý thứ nhất: Do EpiData giới hạn khai báo với 1000 dòng, nếu mà phiếu điều tra

vượt quá giới hạn này chúng ta cần tách ra thành nhiều tệp nhập liệu cho từng phần thông tin khác nhau Còn việc liên kết các tệp dữ liệu này với nhau sẽ giới thiệu trong phần check nhập liệu

Lưu ý thứ 2: Do EpiData không hỗ trợ chuẩn Unicode mà chỉ hỗ trợ chuẩn TCVN3

nên muốn hiện thị tiếng việt phải sử dụng font của TCVN3 khi khai báo (Font chữ có

“.vn….” ở đầu) Và lựa chọn lại Font TCVN3 hiển thị ở File/Options/Editor và

File/Options/Show data form

Trang 3

3

Lưu ý thứ 3: Thủ thuật “copy – pase”: Copy từ phiếu điều tra được thiết kế trên

Word  Pase vào tệp QES  Bố cục lại giao diện, từ khóa, xóa bỏ lưu ý chỉ dẫn/lưu

ý của phiếu điều tra  Tên biến+kiểu dữ liệu+độ dài ký tự của biến

Nếu phiếu điều tra trên word bố cục nằm trong bảng cứ copy all vào QES và sau khi

“tắt  bật lại” thì sẽ mất bảng/table

Nếu phiếu điều tra trên word ở sử dụng chuẩn unicode thì hãy sử dụng chức năng

chuyển chuẩn Unicode sang TCVN3 của chương trình gõ font tiếng việt Unikey để chuyển Với thao tác copy all thông tin trên word  Lựa chọn theo bảng dưới 

pase vào QES

Lưu ý thứ 4: Đặt tên biến trùng với tên và số thứ tự của câu hỏi/đề mục trên phiếu

điều tra Điều này giúp cho việc tiện theo dõi, phân tích, đối chiếu khi sửa số liệu sau 2 lần nhập và phân tích dữ liệu sau này

3.2 Tạo file REC để nhập liệu

Trang 4

4

3.3 Tạo file CHK để tạo sự giàng buộc số liệu khi nhập liệu

3.3.1 Giao diện và tính năng

Trang 5

5

3.3.2 Một số dòng lệnh check hay dùng

Bảng: Một số check hay dùng

BEFORE ENTRY - Trước khi nhập

- Hàng dưới của nó phải hàm chứa một điều kiện nào đó

BEFORE ENTRY <command>

<command>

END

AFTER ENTRY - Sau khi nhập

- Hàng dưới của nó phải hàm chứa một điều kiện nào đó

AFTER ENTRY <command>

<command>

END

TOPOFSCREEN - Tạo trường nhập để gán giá trị sau khi

nhập cho biến khác

HIDE/UNHIDE - Ẩn biến hoặc không ẩn biến khi có một

điều kiện nào đấy -

IF …… THEN

Các hàm điều kiện

AND Và/đồng

thời

<> Khác

> Lớn hơn

< Nhỏ hơn

HELP « thông báo muốn

hiển thị »

- Khi nhập giá trị nào đó vào muốn

“Thông báo hiện thị nào đó” vi dụ

- -Nhắc nhở khi nhập không đúng

Unhide/hide - Ẩn/hiện biến nào đấy

id

KEY UNIQUE 1

CONFIRMFIELD

END

- Khi nhập một mã số mà trùng với mã số trước đó đã nhập rồi thì hiển thị thông báo

3.3.3 Một số ví dụ thường gặp khi nhập liệu trên

Ví dụ 1:

VAR2

RANGE 1 3  Giá trị biến nhận trong khoảng từ 1 đến 3

MUSTENTER  Bắt phải nhập

JUMPS  Bước nhảy

1 VAR4  Khi Var1=1 chuyển tới VAR4

2 VAR5  Khi Var1=1 chuyển tới VAR5

3 VAR10  Khi Var1=1 chuyển tới VAR6

END

AFTER ENTRY

IF (VAR2=2) AND (VAR1=1) THEN

HELP "Xem lại: VAR1 không thể nhận giá trị 2 nếu biến F2=1"  Hiển thị thông báo

GOTO VAR2  quay trở về biến VAR2

ENDIF

END

END

Trang 6

6

Trang 7

7

Ví dụ 2: Check hiện thông báo giá trị vừa được nhập là gì với Epidata

* Trên 1 file rec

LABELBLOCK

LABEL label_sex

1 nam

2 Nu

END

END

Sex

COMMENT LEGAL USE label_sex  Hiện chữ màu xanh bên cạnh giá trị vừa

nhập

TYPE COMMENT  hiện giá trị cần nhập khi ấn F9

END

* Giá trị hiển thị có thể nằm trong một file rec số liệu khác

Bien_hienthi

COMMENT LEGAL file_khac.rec

TYPE COMMENT

END

Trang 8

8

Check tính khoảng thời gian giữa 2 thời điểm

Bạn muốn tính khoảng thời gian giữa 2 thời điểm:[ d1d2 =Tổng bao nhiêu ngày (d6) =

bao nhiêu năm (d3) + lẻ bao nhiêu tháng (d4) + lẻ bao nhiêu ngày (d5) ]

Dưới đây là dòng lệnh giúp bạn làm điều đó

File CHK

d1 MUSTENTER END

d2 MUSTENTER AFTER ENTRY

if d2 < d1 then help "Xem lai: d2 < d1 "

goto d2 endif d3=integer((d2-d1)/365.25) d4=integer(((d2-d1)/30.5)-(12*d3)) d5=d2-d1-integer(d4*30.5)-(365.25*d3) d6=d2-d1

END END d3 noenter end d4 noenter end d5 noenter end d6 noenter end

File QES

d1 <dd/mm/yyyy>

d2 <dd/mm/yyyy>

d3 số năm chẵn ###

d4 số tháng lẻ ##

d5 số ngày lẻ ####

Days total:

d6 days ########

Trang 9

9

Check EpiData với biến danh mục

Lấy câu này làm hướng dẫn

C109 Hiện nay bạn đang làm những nghề gì?

(Gợi ý trả lời: còn nghề gì khác không?

Giải thích:

Nghề tự do: lái xe ôm, bán nước,…

Việc bất hợp pháp: cờ bạc, bán ma túy,…

Không đọc các khả năng xảy ra, chỉ gợi ý và

khoanh vào tất cả các câu trả lời

Làm ruộng 1 Nhân viên nhà nước 2 Nhân viên phục vụ 3 Nhõn viờn bán hàng 4 Chủ kinh doanh/buôn bán 5

Sinh viên 6 Nghề tự do 7 Việc bất hợp pháp 8 Hiện tại thất nghiệp 9 Khác (ghi rõ)…… ……… 10

Bạn đang đứng trước một câu hỏi đa lựa chọn, ở đây là 10 lựa chọn khác nhau, lựa chọn cuối cùng là khác(Ghi rõ) Công việc của bạn là thiết kế trên EpiData sao cho các dữ liệu được nhập chính xác, đầy đủ và tiết kiệm công sức của nhập liệu viên

Đứng trước câu hỏi này có 2 cách giải quyết cho bài toàn trên với số liệu ở dạng số (numberic)

Hướng 1: Tạo một trường C109x chỉ nhập số thứ tự của từng lựa chọn và các biến (c109x1, c109x2, c109x3,…,c109x10) sẽ nhận những giá trị tương ứng khi ta nhập Và nếu chọn “10

Khác” thì xuống biến c109x10x để ghi rõ lựa chọn khác, còn lựa chọn từ 1 đến 9 thì bỏ qua

biến c109x10x1 (Ghi rõ nghề khác)

Bước 1.1 Khai báo

Bạn vào khai báo câu hỏi này như sau:

Lưu ý: Nếu ta nới rộng khoảng giá trị của biến thêm 2 ký tự ( c109x @##) sẽ làm ta mất khả

nhiều công sức ENTER khi câu hỏi có lựa chọn nhỏ hơn 9 (tức 1 ký tự) vì chưa lấp đầy ký tự

nó sẽ không tự nhảy Nên ở đây nếu câu hỏi có lựa chọn 10, ta sẽ gán cho nó là số “0” khi nhập liệu

Sau khi để tạo file nhập liệu trong cửa số nhập liệu sẽ hiện thị như sau:

Trang 10

10

Bước 1.2 Check để nhập liệu

Khi vào trong ta sẽ sử dụng đoạn mã như sau để thực hiện các mục tiêu trên

Trang 11

11

Chi tiết như sau:

c109x

TOPOFSCREEN

RANGE 0 9

AFTER ENTRY

IF c109x= THEN

IF c109x10x = 1 THEN

UNHIDE c109x10x1

ELSE

HIDE c109x10x1

ENDIF

ELSE

IF c109x=1 THEN

IF c109x1 = 1 THEN

CLEAR c109x1

ELSE

c109x1=1

ENDIF

ENDIF

IF c109x=2 THEN

IF c109x2 = 1 THEN

CLEAR c109x2

ELSE

c109x2=1

ENDIF

ENDIF

IF c109x=3 THEN

IF c109x3 = 1 THEN

CLEAR c109x3

ELSE

c109x3=1

ENDIF

ENDIF

IF c109x=4 THEN

IF c109x4 = 1 THEN

CLEAR c109x4

ELSE

c109x4=1

ENDIF

ENDIF

IF c109x=5 THEN

Trang 12

12

IF c109x5 = 1 THEN

CLEAR c109x5

ELSE

c109x5=1

ENDIF

ENDIF

IF c109x=6 THEN

IF c109x6 = 1 THEN

CLEAR c109x6

ELSE

c109x6=1

ENDIF

ENDIF

IF c109x=7 THEN

IF c109x7 = 1 THEN

CLEAR c109x7

ELSE

c109x7=1

ENDIF

ENDIF

IF c109x=8 THEN

IF c109x8 = 1 THEN

CLEAR c109x8

ELSE

c109x8=1

ENDIF

ENDIF

IF c109x=9 THEN

IF c109x9 = 1 THEN

CLEAR c109x9

ELSE

c109x9=1

ENDIF

ENDIF

IF c109x=0 THEN

IF c109x10x = 1 THEN

CLEAR c109x10x

ELSE

c109x10x=1

ENDIF

ENDIF

CLEAR c109x

GOTO c109x

ENDIF

END

END

Tiếp theo: Bỏ qua không phải nhập giá cho các biến c109x1 …c109x10x, vì chúng đã nhận giá trị khi nhập ở biến c109x

Trang 13

13

c109x1

NOENTER

END

c109x2

NOENTER

END

c109x3

NOENTER

END

c109x4

NOENTER

END

c109x5

NOENTER

END

c109x6

NOENTER

END

c109x7

NOENTER

END

c109x8

NOENTER

END

c109x9

NOENTER

END

c109x10x

NOENTER

END

Bước 1.3: Vào để xem thành quả

Hướng 2: Tạo ra 10 biến tương ứng với 10 lựa chọn, ta cứ lần lượt đến từng biến để nhập

giá trị (1-0) Tuy nhiên hướng này mình không khuyến cáo vì mất nhiều công sức và thời

gian của nhập liệu viên

Hướng 3: Tạo 2 trường trữ (c109 và c109k), 1 trường để nhập các lựa chọn và một trường

nữa để nhập “Ghi rõ lựa chọn khác” khi có lựa chọn “10.Khác” Tuy nhiên cái không này sợ

cậu không biết phân tích dữ liệu về sau với ký tự dạng chữ (chuỗi) Check như sau:

Hướng 3

BEFORE file DEFINE A1

DEFINE A2

DEFINE A3

DEFINE A4

DEFINE A5

DEFINE A6

DEFINE A7

DEFINE A8

DEFINE A9

DEFINE A10

END C109

Trang 14

14

AFTER ENTRY LET A1=COPY(C109,1,1) LET A2=COPY(C109,2,1) LET A3=COPY(C109,3,1) LET A4=COPY(C109,4,1) LET A5=COPY(C109,5,1) LET A6=COPY(C109,6,1) LET A7=COPY(C109,7,1) LET A8=COPY(C109,8,1) LET A9=COPY(C109,9,1)

IF A1=“0” THEN GOTO C109K ENDIF

IF A2=“0” THEN GOTO C109K ENDIF

IF A3=“0” THEN GOTO C109K ENDIF

IF A4=“0” THEN GOTO C109K ENDIF

IF A5=“0” THEN GOTO C109K ENDIF

IF A6=“0” THEN GOTO C109K ENDIF

IF A7=“0” THEN GOTO C109K ENDIF

IF A8="9" THEN GOTO C109K ENDIF

IF A8="9" THEN GOTO C109K ENDIF

ELSE GOTO c201 ENDIF END END

Lưu ý:

- Với câu hỏi nhiều lựa chọn thì hãy copy đoạn lệnh trên, và rename tên biến đi và xóa

bỏ những đoạn không cần thiết là được Bằng cách làm trên word hoặc trên notepad

Sau đó copy đoạn lệnh đó vào

Trang 15

15

Check tạo liên kết giữa 2 file nhập liệu

Nếu bạn đứng trước bộ phiếu điều tra với: thông tin hộ gia đình và thông tin về các

thành viên trong hộ (ví dụ như thông tin về tình trạng dinh dưỡng của những đứa trẻ trong hộ hay chi tiết các lần khám chữa bệnh của từng thành viên trong hộ…) Điều

mà bạn cần phải làm với EpiData là:

1 Thiết kế 2 form nhập liệu, một là form mang thông tin hộ gia đình (HGD.rec) và một form mang thông tin thành viên trong hộ gia đình (THANHVIEN.rec)

2 Tạo check mỗi liên hệ giữa 2 form nhập liệu với nhau bởi biến mã hộ gia đình

(id_hgd), nghĩa là khi các thành viên trong hộ gia đình phải cùng mã hộ đó

Những dòng lệnh dưới đây giúp bạn làm điều đó

id_hgd

KEY UNIQUE 1

END

id_hgd KEY 1 AFTER ENTRY

vid_tinh = id_tinh

vid_huyen = id_huyen

vid_xa = id_xa

vngay_dt = ngay_dt

END END BEFORE FILE

* helper temporary variables

DEFINE vid_tinh ###### GLOBAL

DEFINE vid_huyen ###### GLOBAL

DEFINE vid_xa ###### GLOBAL

DEFINE vngay_dt

GLOBAL

END

Đến biến nào đấy (Vd: bienchuyen ) mà

sau khi bạn nhập thì lâp tức đến

form THANHVIEN.REC để nhập thông

tin thành viên thì bạn check tại

biến này như sau

Bienchuyen

AFTER ENTRY

vid_tinh = id_tinh

vid_huyen = id_huyen

vid_xa = id_xa

vngay_dt = ngay_dt

RELATE id_hgd THANHVIEN.REC

END

END

id_tinh

NOENTER END

id_huyen

NOENTER END

id_xa

NOENTER END

ngay_dt

NOENTER END

Trang 16

16

TÀI LIỆU THAM KHẢO

1 Phạm Việt Cường và cs, Tài liệu giảng dạy môn kỹ thuật máy tính – phần mềm EpiData (2006), Đại học Y tế Công cộng

2 http://www.epidata.dk

Ngày đăng: 08/06/2015, 20:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w