<%BANNER%>

Web-based search engine for radiology teaching file

University of Florida Institutional Repository
xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID E20110109_AAAAWS INGEST_TIME 2011-01-09T14:26:07Z PACKAGE UFE0000559_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
FILE SIZE 75502 DFID F20110109_AABIWX ORIGIN DEPOSITOR PATH lakshmi_s_Page_24.QC.jpg GLOBAL false PRESERVATION BIT MESSAGE_DIGEST ALGORITHM MD5
345100c548e422f9f8f94644a29ba9c5
SHA-1
c99632add541931081a26080a5ecd25c0fd396d5
27548 F20110109_AABIPB lakshmi_s_Page_58.jp2
3292242aff89fcbec98ebac53e84b107
6eb4e5316be953230c279ded6bfacc67a09a425a
32798 F20110109_AABIRZ lakshmi_s_Page_36.pro
3a7f7691716405bf31ea9363d5975f04
5d3ac49fbccfa7314f59c181e1cc011621195855
250615 F20110109_AABIKE lakshmi_s_Page_42.jpg
7729943d56684266c6c70923a9fe4576
d66f594a25f72226a711f3d27aa3fe5fdde7279f
24225 F20110109_AABIWY lakshmi_s_Page_24thm.jpg
3c3524a25f8882b2d3dde5a92e585e6b
b2c1421b92a0316b7461cc9b8feae6a64843547c
1051938 F20110109_AABIPC lakshmi_s_Page_59.jp2
81b6cda859c6aeade7e16ab1e22cfad1
78b86ed53371beaf2479b9e5c0e29402dce31076
1053954 F20110109_AABIKF lakshmi_s_Page_26.tif
e3b50f13d011880e58b4366e8098d670
b0f5a373d05281a5e2036846ea9a70029aaff371
20540 F20110109_AABIWZ lakshmi_s_Page_25.QC.jpg
c8c2f83ff90be97cd1a9cc8f7ec4f948
bad8b728a9a17f69f0c154b6be9e73ed2c62f68c
51254 F20110109_AABIPD lakshmi_s_Page_60.jp2
2334750512c1583a2d68f71ed0ad1503
acb631c4d619afaad40cd8f839aee85c9ebbeb91
1642 F20110109_AABIKG lakshmi_s_Page_12.txt
6480b0f25b5977ee5e74126a400ddb1b
7094a5df97d50c8d261c9337b59d9c9fce331361
1971 F20110109_AABIUA lakshmi_s_Page_34.txt
6395afa631f3724a26a4fb9c8acfeeb0
01345964f91c8161bee1cc7ec512f83e01f34755
F20110109_AABIPE lakshmi_s_Page_02.tif
3418d4c0c22c07d0c4c408a71a9a14d6
93ac64270c74838515a0cec5386c92094b21c3e7
23468 F20110109_AABIKH lakshmi_s_Page_50thm.jpg
293c4a129806bfeabea74c0c8968e31a
e211266a983d3faa38fae01d675c865f6898e6f5
1250 F20110109_AABIUB lakshmi_s_Page_35.txt
c2a9cf18834f6cdf824392d1c477f015
e6fd725b9d123f9627cbfd24891749f5f68e4750
F20110109_AABIPF lakshmi_s_Page_03.tif
caee93272d4777f118d22e6c5741d942
68ceb09f5a91768589c1d069553d55f4255de570
F20110109_AABIKI lakshmi_s_Page_12.tif
2d5f6d9eb55fd39bd81b7fdf478ae96f
477adeb2292c9d5684b93b0192ff7b313101378e
1599 F20110109_AABIUC lakshmi_s_Page_37.txt
746e3beaee45519cf34e965c5201e695
2bd43bfd05c421a01922f6704473468d6a9872a3
F20110109_AABIPG lakshmi_s_Page_04.tif
3e8e29e492f96e0c05db49e3f0512a3b
d1bdd942f74587553aed85f0e397fe7d796561e0
59535 F20110109_AABIKJ lakshmi_s_Page_15.jp2
ae248ff264cb7e283194431fe9e65771
d37d067c238085e34979eef730578b0bc1694642
1475 F20110109_AABIUD lakshmi_s_Page_38.txt
7d817d48d8c1afcde6e56cf7ae4821b3
a4b9a1c6b6e7959bb6e7b12e32b1731f049d76e3
F20110109_AABIPH lakshmi_s_Page_09.tif
4831b2c25c5376740d1c29fa2248a406
ade07e652970df80c481abfb8ec9c0d4d4d69881
25271604 F20110109_AABIKK lakshmi_s_Page_27.tif
b50e87aed69c19744b92da9afae57661
288b539cde8da7c4d91a2675c1102dd3cebf7b0b
1132 F20110109_AABIUE lakshmi_s_Page_40.txt
4d2eaeb81d1cccd3923b4706cf465153
d801da5f61f6bedf6d51d8359fbfeea9991583c4
8423998 F20110109_AABIPI lakshmi_s_Page_11.tif
8de40916178d6d4eb2969681aa411717
80e863863d0f3f5e7cbb67df60b6498de32d14c6
468983 F20110109_AABIKL lakshmi_s_Page_43.jp2
268fb6b0f9549e0680495ae941989748
871c3ece521fd9da5ab548d676c3b0213e73b6a0
1594 F20110109_AABIUF lakshmi_s_Page_41.txt
6a6e1fa016476ec91e237c103aab42c0
2f648c94d27ce6f0aadcd26d74b8bc9aac7764e8
F20110109_AABIPJ lakshmi_s_Page_13.tif
8faf3bdf0152ce9603beb85edf9b33a3
8391e4c954a967508cd0f5d39e9253d063624fd5
39963 F20110109_AABIKM lakshmi_s_Page_12.pro
5815c310aeb6dc6557a02badcbb5b478
7ad63c35a8ce9d3ff30137bc3e1248387046e694
2570 F20110109_AABIUG lakshmi_s_Page_42.txt
edddc30fc5cd4a0db1dd66f0a68ea066
63ed50662650b0f856708a5dad974a46f1d56442
F20110109_AABIPK lakshmi_s_Page_14.tif
7fae4ac9a668ced142753619cdc0678f
262a12150b088e7186828dcadd138ae3b8348392
48006 F20110109_AABIKN lakshmi_s_Page_28.pro
b507eec6154122424f6d44c401475f36
96b42dbedc5eb50d74b7cd99341e21ecd890bdcf
1122 F20110109_AABIUH lakshmi_s_Page_43.txt
3e9e7b9ad521ac2a7127c6c587b654a9
3dacac7fa1f971e333a27ac9fe12bf8f12440ff7
F20110109_AABIPL lakshmi_s_Page_15.tif
0f247d894225cddd555b77af2fed0759
f8e53bd73614a164fb1dd5dc2169a67b0960768b
92449 F20110109_AABIKO lakshmi_s_Page_10.jp2
283c1cc893c3ca1933c64b82c88f256d
04d295b17aba2ba16aef827f4ce39e4320eb7f6b
F20110109_AABIUI lakshmi_s_Page_44.txt
d98ef0e66f7e3e97491812ab594cc98b
1f9acb6bddf5fa8899374c14faa50c9eb0688198
F20110109_AABIPM lakshmi_s_Page_16.tif
3df55aeb48b98a7618424a2dd25e35f3
8e21f122120b434eb3f963b92b80052a15c7d89e
52142 F20110109_AABIKP lakshmi_s_Page_22.pro
56ab7349321bbc010845a93cb329688b
05f3acd0047fc57ed4a110c679799faa8703906b
2008 F20110109_AABIUJ lakshmi_s_Page_45.txt
2e8dc2fa63493cdb423ad122c5c30604
f3d8be2aec565855f19d6000873069c02fd160b7
F20110109_AABIPN lakshmi_s_Page_17.tif
594c8259e4ddebe6dafebfc8a7fdb4df
db4e38614df4739a0c40912bf32ae4179c217dcf
F20110109_AABIKQ lakshmi_s_Page_10.tif
fe838b30119c283fcfd3b80b79770099
43834353b06e11654187e3d03779ae0c6f1917fc
1781 F20110109_AABIUK lakshmi_s_Page_46.txt
4f85ea045ff2c0636367a634ac3bee22
02e7e80f25cf7a326c246da43d62dd4a8fbff9c3
F20110109_AABIPO lakshmi_s_Page_18.tif
c3c11495fe2a571c73b9c9cebddd090e
0061b9a363ae949dae571b13d9b7dd94c0a5779e
43582 F20110109_AABIKR lakshmi_s_Page_27thm.jpg
39a400a77997657a7cc720660a82bf59
c7f16410c38ba0b5dae50b34b9cfb2dd825a05c9
1886 F20110109_AABIUL lakshmi_s_Page_47.txt
bdc9af39e8fbe298b35f0917ade904b3
0914349d5ecfa822e3339a3887eb0d83ceb610e7
F20110109_AABIPP lakshmi_s_Page_20.tif
28cdf2f20aff5ce8e10eb7e2c75b12ea
dd3cc76e1fac8ebf084e4940eb1a0334f52b4c02
1993 F20110109_AABIUM lakshmi_s_Page_48.txt
73fb8800a1b87a1dbe5ab4b255436557
6356d1cda00bf3594df0bef5560fff6c23a6da37
1010861 F20110109_AABIKS lakshmi_s_Page_34.jp2
60f56dd7af191aba127f7bc7eea5b91e
aaf85736a92ac0107577d074fa93dccbe683f246
1762 F20110109_AABIUN lakshmi_s_Page_49.txt
5717a64f7f4770aaed5641f29f526c66
5b06699dd2586b925300d07827c2aca14d7e323e
F20110109_AABIPQ lakshmi_s_Page_21.tif
dcb67ed56f1b8de48d3a325cfba43d9a
b683bf06c4744fae5924a3713312e8a23a032b23
88927 F20110109_AABIKT lakshmi_s_Page_56.jp2
fa6311ad199f0fd49849f066c81ec93c
401ca6077d7503a46ad3ec4e9e5b6e572ecc89c4
1950 F20110109_AABIUO lakshmi_s_Page_50.txt
a0b766e659990156a5f59c3db9530538
bf8ddf4721b72f21d4e067742136196633218c80
F20110109_AABIPR lakshmi_s_Page_22.tif
8f7f0dd500964afdcd408f4bc3f7b59c
a33417659c03085431a726ed9fa9c7aeef2c32b4
78835 F20110109_AABIKU lakshmi_s_Page_17.QC.jpg
fa1e81701a23d149a7c44edaf6ef9081
f42ce53a3474eb477a3db6929e8f0992a6931958
1799 F20110109_AABIUP lakshmi_s_Page_51.txt
4794eb1d59b362b2c00a6dc770e1f1b6
dae24eb738375b32aa6f1a9146e1ac501551a9fa
F20110109_AABIPS lakshmi_s_Page_23.tif
1046d7c59232185eccafac8cf9bfcea6
3f6205554041a124c60c0007a37686179d87e390
F20110109_AABIKV lakshmi_s_Page_01.tif
0a77721a84405006188900918dcfee6a
70b772a986829607d97b9a0279df199c6121e222
1915 F20110109_AABIUQ lakshmi_s_Page_52.txt
147a0b136b563da8d2de04e7da5823d3
6dcb0d250f65b4013e035e61cd26fa0ec41c3e63
F20110109_AABIPT lakshmi_s_Page_24.tif
7e677dbe5ed07401fbcec86a1ca70b06
4a32141257d8455c087b8770c3934951d73b0428
138015 F20110109_AABIKW lakshmi_s_Page_26.jpg
38a9aa23ccd54952d8c916ebc2981187
69c5ff756e5c815cb2f974c672cbb24f3257e9f9
1900 F20110109_AABIUR lakshmi_s_Page_53.txt
cf3880739894d2cef8128157165ba63e
9d923b672a1b04d8fb5728d66e2b81ac319e8f7d
F20110109_AABIPU lakshmi_s_Page_25.tif
53c7fc61ac8aa0babd69c1d690c5fd13
9c2497fdf997ec612f9f1c7d56b3e5470c2bb04e
22445 F20110109_AABIKX lakshmi_s_Page_44thm.jpg
fe0e44167ff7871121d5cb624151e0ff
57080d1bb4167d0b2aff6b1c1a36e2ba67766f99
1831 F20110109_AABIUS lakshmi_s_Page_54.txt
014a036da98d9eee18eaad93fed3cb37
2fcfd1a3b7b5393a808b6ad8f61122a05aefa40e
F20110109_AABIPV lakshmi_s_Page_29.tif
e169b6fe941a72cf8ea9010caa237f7e
d84a2fdc62b80903e6702353b17bc9fade5d4a59
F20110109_AABIKY lakshmi_s_Page_08.tif
b9d57120fbe91a3416a0d29bb643280d
944f5993a39f1e1f3fd78a8319de6ce93401c86f
1029 F20110109_AABIUT lakshmi_s_Page_55.txt
8d534275d23941702771cf2d8dd13dbf
894713a8f7ea9ad06ad1b05b5aaf3692b64628d9
F20110109_AABIPW lakshmi_s_Page_30.tif
700bd44fede104ab097b705cc607b0d6
d4b5a30af8e9a6e93af671a022e54fda7c51f856
F20110109_AABIKZ lakshmi_s_Page_49.tif
21b7801ea6494a641b463967427ec8f4
41645c53d0d78aec48c6ffa1abea4a2994d4e2b3
1682 F20110109_AABIUU lakshmi_s_Page_56.txt
c0cf8b8a37410539fe41bd5c14867ac5
fff13d49b2e5c7ef8453cf62d64e168003835796
1793 F20110109_AABIUV lakshmi_s_Page_57.txt
c4ae4e44cde16dbd8a02f04d61f634a0
5691d2b4f2ab48f2d7f2fcb5426df4aad369942f
F20110109_AABIPX lakshmi_s_Page_31.tif
b95d33e805b4fa2680549be74dd9610c
710e2002e6f1023d2ba50a02715802ce7344ec76
536 F20110109_AABIUW lakshmi_s_Page_58.txt
7c8bcf1d83a0f1729bc65fed42badc63
875f7541da9d823384a12a9c6fb5b7efd37eb105
107655 F20110109_AABINA lakshmi_s_Page_55.jpg
af19afc78cbc3ef8ab0bd34dd89a5def
9654c49b8c1be603ad58dfdaa24385319a60f7a6
F20110109_AABIPY lakshmi_s_Page_32.tif
70fef06d2c1f1704c68aa49d6d3984c0
cfb69c56e4bb405dbab481e410ecc294c208748b
1739 F20110109_AABIUX lakshmi_s_Page_59.txt
b7f5bf2cab09035e84ab35445fa91a76
d79ff16bc8142d7a594bfa451ddaf1026685665e
171531 F20110109_AABINB lakshmi_s_Page_56.jpg
3e132d1b8f3472acc918e3a999070645
b9d9c8c7c5200bc81a2ce9e2245055a3823ffa99
F20110109_AABIPZ lakshmi_s_Page_33.tif
f9664730828dce5a831fbb49cdf7b9e1
6314586127d4817294c1186ab7f746a14c00d816
928 F20110109_AABIUY lakshmi_s_Page_60.txt
afca4250135e7443861ccfd64eaca160
541f66c46aaab0f7078406a74f77d5ccc9f4b650
184385 F20110109_AABINC lakshmi_s_Page_57.jpg
411aad16c7b9c5545d86d994fa50a0af
a5263265c11d3fd9b7fbfb9301e234d694621ec5
39906 F20110109_AABISA lakshmi_s_Page_37.pro
af77a5a5ea6ca67417bd264d190cf543
a7e671ecd13eda1a1fa82c9ec41b017378f3169b
1233195 F20110109_AABIUZ lakshmi_s.pdf
d57327a28134be2f1fd097a27be3736b
7594dd417387a8396a3e905e6045d9b190112abd
55736 F20110109_AABIND lakshmi_s_Page_58.jpg
d05286a67936f7f2d53c1baa68be09cd
d3289ac46f0d05cca44a20b79178d246fb26b8f3
29989 F20110109_AABISB lakshmi_s_Page_38.pro
f51b36d33a9308ba525d124be1be5c93
79b5fcedd770191fafe916af29767037fcdf629f
235629 F20110109_AABINE lakshmi_s_Page_59.jpg
537b38f546a420affb2d41e18289b605
844b729a2c4853314e4c72cdd090cfb075b90a6c
38284 F20110109_AABISC lakshmi_s_Page_39.pro
63279041cabbdf8f5a276d1f90afe325
2afd3fc5874b23ccc9529971b3cbb909f95bb0a9
101798 F20110109_AABINF lakshmi_s_Page_60.jpg
a5eb77fa46111f05565457e7cfc38f7d
df7e50042e1b30c18722001efad65aca444c7976
24077 F20110109_AABISD lakshmi_s_Page_40.pro
460d4f5533a02c75946e104af4b8e61d
28a400de5fa6100f0e67b7b0d74e8b3e74f41286
21947 F20110109_AABING lakshmi_s_Page_01.jp2
33a9060a4d6eed994ff73fdf8594fd29
011f27cc7ebae1c90de0c6f4f787b8220a4c59dd
54221 F20110109_AABIXA lakshmi_s_Page_26.QC.jpg
a9654c0b25aa9f5d8046034414a0fb4a
54e8038142d52bc9e08860ec1eab24f479efa900
32477 F20110109_AABISE lakshmi_s_Page_41.pro
c3fa25c28a043e600872413aa1b5d394
fa8ffb60fde8231bad2f7d0ba0f14f2ad776495f
5683 F20110109_AABINH lakshmi_s_Page_02.jp2
85a7003a98edec7bd82c315d0dc37e43
3f1d2b111796fc8bc3093c1ed59cc96592848b03
69213 F20110109_AABIXB lakshmi_s_Page_28.QC.jpg
852d59db62c79623d6de850ef5592517
534e95299b96741aeb5c9062fb99e8551888700b
18524 F20110109_AABISF lakshmi_s_Page_43.pro
efd70bd6909ad631ce825c53ed757c23
f155a69c53006ba4620ee2a4a33a84c97cd1bd44
4795 F20110109_AABINI lakshmi_s_Page_03.jp2
d06c5d56a445a404520ec3cd77954920
274da1429ebc97a6dfa8ca999d0c4f461a34ee5a
23272 F20110109_AABIXC lakshmi_s_Page_28thm.jpg
0fdc1ec54c2890277c0f24637bf4ab14
5c18badbd78b70d98a30db99f669e39da13c1e94
48457 F20110109_AABISG lakshmi_s_Page_44.pro
179dd48cba31293d20e3394f277c6e33
11c9122fefda88ab148f1e444602efd1a56570d6
50441 F20110109_AABINJ lakshmi_s_Page_04.jp2
36b431057f9b6cb9f270786b7db01410
2a888961ecdde4c48e321ac203fd590c958f4dde
68790 F20110109_AABIXD lakshmi_s_Page_29.QC.jpg
98ced55ac7bb85bda1eb3cbf21d0b9d2
d9d518eb2edca8e2d02e42d2f2d5f8a164709c75
50140 F20110109_AABISH lakshmi_s_Page_45.pro
685f1c19fe99523baf18467f97317d43
9f300c520ae854e4daf4c19303bf3483a7d328c9
1051970 F20110109_AABINK lakshmi_s_Page_05.jp2
55ec4b331606da183916866cdcdc6815
049ba18bc2ef6b7b4bf5b968802028b0ced7c8bf
21450 F20110109_AABIXE lakshmi_s_Page_29thm.jpg
e518530d6cc22ee05107e5623c1c9c35
55a23158e3e164954970660dd0ffe38953929817
43049 F20110109_AABISI lakshmi_s_Page_46.pro
27e4e443ba600e8ed0237c1603633803
a53b31a4dc86649cd51509e8a99b65cf4aca86d4
1051982 F20110109_AABINL lakshmi_s_Page_06.jp2
d1c78a65090d516ea3accf6961e3c61b
bed7fa36c92d5de2961c65e1f9ae3ed4c169ab47
56414 F20110109_AABIXF lakshmi_s_Page_30.QC.jpg
b4c5d0300bd2889c58fd1818cb72d269
b01922724f6a335be4787844df25574d6720c9e2
46209 F20110109_AABISJ lakshmi_s_Page_47.pro
d12207fa6c8a2099f7cb8aaeda4a85b4
c3ef9c7c908a62d0629c92feaef427f3b10168ea
877524 F20110109_AABINM lakshmi_s_Page_07.jp2
601f5a17c8a32039b480b07636401def
d8af1f0f6f51b1e48254eaf0f39cf7e39ac4fae8
19740 F20110109_AABIXG lakshmi_s_Page_30thm.jpg
6dd1f0c85de88a9aaf42c0865d3b7111
48a39bf3e1e434469f92d105e06febeb73e3a6ea
50262 F20110109_AABISK lakshmi_s_Page_48.pro
7d206376a12c6e8802364628011a0a9f
dd92b11a33f091f47c004a46dc6491a23f6e024d
75917 F20110109_AABINN lakshmi_s_Page_08.jp2
6d66b06fc1bd2af173213aaf284cd946
5f2f586f81c5ab01ac85f867ab72211b85c3c847
74593 F20110109_AABIXH lakshmi_s_Page_31.QC.jpg
974b7f66e732a340342e167b4a42d7a9
2921a0780af95c6adf565f321644be2f8e80c346
43229 F20110109_AABISL lakshmi_s_Page_49.pro
c0664cce4301fe80beef300f49ce5359
010bc576ea6e94448dc4f453da137312ea35bf34
31862 F20110109_AABINO lakshmi_s_Page_09.jp2
20b4d7e2eb2ee5413f5141a6f1f40584
c38fe6ddae5176d5266f5c1713ad59b832eb2b40
42780 F20110109_AABIXI lakshmi_s_Page_31thm.jpg
f6c2e1f17fdf8d6d4943b1d0c8553332
ade9cf8b0b9bf71942d46e4899925862e6901e09
1033989 F20110109_AABINP lakshmi_s_Page_11.jp2
b330fd0883c08c018258748d693fd0e4
53a73bb4cd4217955beddc095d6b1911d25bc4fa
79722 F20110109_AABIXJ lakshmi_s_Page_32.QC.jpg
ad9a0cbaabd3d429a0c8f49121ef18ae
850198f566bff8ce0cdb39365ee7a74a1938e04d
F20110109_AABIIR lakshmi_s_Page_07.tif
3f1d9b5846122715f091cf2111d30e94
001451c8489a15f1402b703b9cf81a237d27d481
49383 F20110109_AABISM lakshmi_s_Page_50.pro
aa6b9674e8e25ff678af4bf6a667e625
4c7a94ff2f0569666217b7542d4383eeade32c99
87389 F20110109_AABINQ lakshmi_s_Page_12.jp2
2446059573c9ac52808abef56113b1be
18f94075b87a09c68ff8ccf2d26bffbe029bced2
63240 F20110109_AABIXK lakshmi_s_Page_33.QC.jpg
0044124a84b15d789df8e5b0ed33de5d
d47c1f7e00a1f5affaa220674535d9f4fcc18f9f
1877 F20110109_AABIIS lakshmi_s_Page_19.txt
3da693b3fedf5b72c2a365892ffb24d3
6a3f741829f2f42e01cf94619e2c93a2233f1fa8
44656 F20110109_AABISN lakshmi_s_Page_51.pro
d2c013aa6a1b9e96e5aed6b68641aa4f
c213bc65c20a8bb89f0d602961ff7669ff8051f9
555075 F20110109_AABINR lakshmi_s_Page_13.jp2
c8e40716464c404c81b119656069ccb4
f53454e4be76a96d6a65656da869565de3e358b4
21119 F20110109_AABIXL lakshmi_s_Page_33thm.jpg
a3ae440b696033631cb220d0ff95c44e
18ce3e6762f34e57bb033c7652148aeb9f6f3391
1349 F20110109_AABIIT lakshmi_s_Page_36.txt
c934e3fb7098ebc55b94c040c2c84716
f1feb2c66fc21f10a87508b73306fcca1a21945e
47865 F20110109_AABISO lakshmi_s_Page_52.pro
fe9048477660016046e19b530f990800
bcfbb5441578d5803106394ac131f70bf3406650
101746 F20110109_AABINS lakshmi_s_Page_14.jp2
da7e8d51d2199c9384223015b4cc70a3
9077d13134442a445a881c91a0caabd9e60244ba
85931 F20110109_AABIXM lakshmi_s_Page_34.QC.jpg
d896529d107b5cffde8944224c88b8ef
6c213f2800e385dd549f9ae0820c342e9d7d37b4
190265 F20110109_AABIIU lakshmi_s_Page_54.jpg
a90e9470eefbaa1a9cd562a8738264aa
b068d7cc937c3b8f91f91a1c808d296c5c86ea12
43917 F20110109_AABISP lakshmi_s_Page_53.pro
0a15210bafcacec26b20ea9de904d091
5993e7641377df3b61d2b8c6d85e95be482f5481
91455 F20110109_AABINT lakshmi_s_Page_16.jp2
75d2025e30f70afd78991efae0e2d5f6
07532f30a5e1c52dce3e081b4d35aa1fe2182250
45176 F20110109_AABIXN lakshmi_s_Page_34thm.jpg
23244df0abe275b7589fb35feef8226c
b5d8d379e0e949c1747d6d729ea3cc12b276c478
106806 F20110109_AABIIV lakshmi_s_Page_45.jp2
a205f25213434ac89626a118b0e3f64f
d351320d827162c679d3a2b56622f94d05f648e6
45795 F20110109_AABISQ lakshmi_s_Page_54.pro
6dd8619f73fa16b274dd9fa6ff1e5f67
cbf9e644d23bd8b3e6192352c030035509410545
704686 F20110109_AABINU lakshmi_s_Page_17.jp2
2e212b45ee44b011d0eecb3950aca25f
b501736ea158e19e66a781a9c6dd0dd139a6a295
89261 F20110109_AABIXO lakshmi_s_Page_35.QC.jpg
7576a19bf4bd3223a5342ecf29a13332
934f42af510e7a0207fffab1660c638bc08de1b2
47994 F20110109_AABIIW lakshmi_s_Page_06thm.jpg
c5fcc1ca0d7398c1b90bcb58bfbc88cb
9c73148ab8eb7fd1385f17a61d9a49ed11a212aa
23983 F20110109_AABISR lakshmi_s_Page_55.pro
464f456febb47626cf8679ba0050bb02
8cf0d39616283ed6cbabd3dd229f8c91e40f5721
89822 F20110109_AABIXP lakshmi_s_Page_36.QC.jpg
fa7be63068139ef9590a7c46aa22beeb
12a0ca45914120d2a814dd06db3d19abfe7f8ee6
79210 F20110109_AABIIX lakshmi_s_Page_11.QC.jpg
665536b0eac08c433b8df11e9abf89a6
e06f5f30c20f376563efabe9dae8ced781d1dad4
39642 F20110109_AABISS lakshmi_s_Page_56.pro
2b49d6905d51c005b37f86e5a1099b22
b3784d6a461d375eca336595381f7420495ef1cc
107364 F20110109_AABINV lakshmi_s_Page_18.jp2
cadf5dcc260644500002e372a567e703
0e41f536d0a804a598379841c9ed26e05f1b085b
63736 F20110109_AABIXQ lakshmi_s_Page_37.QC.jpg
0ddea7040a316cdca2b6b1cf07e2200a
d9629890772b0a9687626857f048a8c52cc1b882
47094 F20110109_AABIIY lakshmi_s_Page_14.pro
2f37b6cef93028f45faac9b9638ba2e0
5db0adb1542cfe16af224c97aedd6f337e2e299e
44291 F20110109_AABIST lakshmi_s_Page_57.pro
a8ab2d10341e84d926e811b3f2107aea
cacb743aea8af5b109df20d90349faa540c7be7f
101706 F20110109_AABINW lakshmi_s_Page_19.jp2
0fcca3766ec1eddb0e2625936be16cb8
5b599767efab7fb8dc0c61df2a0e8764a0f67399
20778 F20110109_AABIXR lakshmi_s_Page_37thm.jpg
478d0fe05b05de9aca50244d08eda0eb
7ecdfce8189063862eaabab99802a829aed4c9f0
21825 F20110109_AABIIZ lakshmi_s_Page_60.pro
87a91e493ff8a78a851c10c75c8077f8
088e17c527dec8ba0d8a39d53406bcae3d615978
11342 F20110109_AABISU lakshmi_s_Page_58.pro
e8b41f83e1f1a0d40f7144cce69f0afe
943afcb1f4f847453773e1c440fc6dcc1c37398c
103377 F20110109_AABINX lakshmi_s_Page_20.jp2
37490e6b119eebc91c034b1bb91677d7
401ab2df8e9cf41e2846b851ef778b10d7e48b92
76256 F20110109_AABIXS lakshmi_s_Page_38.QC.jpg
70d9152cbe9c66067b8ca4ff3f200501
873f749bbc2dc308ccdbed0b68ad8ed6ac66ac2b
42403 F20110109_AABISV lakshmi_s_Page_59.pro
b90f30810fa0e2377c0f625d1d4a3f78
0af73be6aa93ee2fb03e43c48ea7b6d36970b549
112421 F20110109_AABINY lakshmi_s_Page_22.jp2
1b50fe72ba47721e07bd0f60cb072399
af3acf2ed8e6185d2a997de1e0a9ed1bfca1cd3c
42340 F20110109_AABIXT lakshmi_s_Page_38thm.jpg
e2f1d78de867211230d2ebcb5e042f72
6992bd5c3833376f84d8216bba54bf301c7e4752
386 F20110109_AABISW lakshmi_s_Page_01.txt
8f6e0460031ebf56be7f48ea08381082
f1514c921b8be041bd6e50dcf68406da8f49e0a1
71641 F20110109_AABILA UFE0000559_00001.mets FULL
375143614718e660f4dc9072e3660cb9
0c8555d6f74769cf5f2b1bef333c12b4bd4f8dbf
108416 F20110109_AABINZ lakshmi_s_Page_23.jp2
d5474db43fc575087ab67afce271dcb7
3e02ef6b31aa8935bd21cf32fa47feecd0396776
59960 F20110109_AABIXU lakshmi_s_Page_39.QC.jpg
0feea531efe44ef87394f2f7dcf69d31
2599e498eb700df6b87b1ce06785b91122862d12
100 F20110109_AABISX lakshmi_s_Page_02.txt
ffaf11d9b5119bb6b18cae75663a056f
fff1832da10524fadb9da7009a74b3ae6e759133
19688 F20110109_AABIXV lakshmi_s_Page_39thm.jpg
4b9c95c08d5f7fd7448e97ed4ca73308
d48c2ca50e8628a0b728b1dce44d15c507901e94
77 F20110109_AABISY lakshmi_s_Page_03.txt
4194359cc24c45790e33af66c6fd9c4a
41d435f37944e56dbe27ff9f76a11868b5ab7e15
39828 F20110109_AABIXW lakshmi_s_Page_40thm.jpg
95ec36c9ce01909da652e96c01a14726
ec2b09ff3b327eadb9dd74dd8cb14932be84481f
F20110109_AABIQA lakshmi_s_Page_34.tif
ce861d6dc046f2d9f5b0b1dd6ca2174f
e1d145fe40e167b4d377b8ce5989f15729fcbe8d
922 F20110109_AABISZ lakshmi_s_Page_04.txt
530a78d2f8eefaee577e56b879a1c2df
99d1efde34ef5d7601c165e89cdb268b0c71bf6a
50265 F20110109_AABILD lakshmi_s_Page_01.jpg
0aa6b60e5d78588935b87aa156d3b27c
caf3111455fad52ea7ef39212c26aee5ca153183
78943 F20110109_AABIXX lakshmi_s_Page_41.QC.jpg
b6de0fe0e8476ed77bc6475eb63f24b0
d927a36447cfe8139ebdc3d62d5c4d74a397e0b9
F20110109_AABIQB lakshmi_s_Page_35.tif
1a3233a66eccef0e58e5849a82c5f799
b5574afdfff4e294d7af5d8521ab839dbb854df4
14125 F20110109_AABILE lakshmi_s_Page_02.jpg
b61e7df06d34627335931efcc507fee7
8d451eef3e206924ea3e692bcbda707f0a9f5082
43226 F20110109_AABIXY lakshmi_s_Page_41thm.jpg
7f5a36079088b142656190bea1636f2f
f9618ff22d94cd0c06c1366506c092f7c8532ecd
F20110109_AABIQC lakshmi_s_Page_36.tif
d7d8b2f9d4845581079b369b5950b8f4
a48023304b8e67576c2d98fdaa3353d5300f2f89
99549 F20110109_AABILF lakshmi_s_Page_04.jpg
3f8c5ec490b8e177887c2696fb73120a
37725f214dc17e5e12770fc3d730e4dea52343ae
16450 F20110109_AABIVA lakshmi_s_Page_26thm.jpg
c23ead3cbd5f373fc05efa2bb20bac5a
56dcc15a31566ddb8b91a1e39107f66894d23c34
80844 F20110109_AABIXZ lakshmi_s_Page_42.QC.jpg
45253d789b572e30d6190fb9b1f4aa8a
3d35370e3ab62d9b18cb7ae58e5b2c6569f76033
F20110109_AABIQD lakshmi_s_Page_37.tif
a3eb51752e182f62f5f7f361bab8971b
30f35ad7e06b7a80d601dc64cdeaf035bdb00fec
245197 F20110109_AABILG lakshmi_s_Page_05.jpg
6b7a61efe58017510ecc828d3244955f
52c79301fdc00635f54c575ae23037530df93213
6389 F20110109_AABIVB lakshmi_s_Page_01thm.jpg
f02aa00b445652841479f2927ffd9bf4
f5a3d39eafea4da093bbfb54fc0f4e7a07585630
F20110109_AABIQE lakshmi_s_Page_38.tif
d32ed87a527b879b8ef3e97895a7b942
2d78810644f8a0f65784df72a5c199e6c93822e5
303027 F20110109_AABILH lakshmi_s_Page_06.jpg
7da96c6f4144f4e03536940eab931bf7
fa342406bbfdae58da6d81d50bead89854fcd741
21019 F20110109_AABIVC lakshmi_s_Page_10thm.jpg
1ed223200cedb2e9cd1e12782931d4e6
bd956a6ce4a1a761ee1b2be37e46e3cc8959abe9
F20110109_AABIQF lakshmi_s_Page_39.tif
6a825c98786016f3576db30734b1137c
2f9089c0fb565b9015d05d9c38aa0460d7872d21
142913 F20110109_AABILI lakshmi_s_Page_07.jpg
3fc607b3adf35509efc95fd694b23d47
d04fbdd14eb234b8fb7afffeec420a40001b4ec6
25031 F20110109_AABIVD lakshmi_s_Page_09.QC.jpg
b71467bdcc0fa187d0b4e81e3621c0e6
be05dedd686ffe1154b3bd8bcfbc942ec0b52d5e
F20110109_AABIQG lakshmi_s_Page_40.tif
9ae985a776d18bd99d5ce6a469a64045
beb0e85570bc528906c859bb26834cd8aa74602d
150422 F20110109_AABILJ lakshmi_s_Page_08.jpg
5e40f679ede725f894b393f64e95f619
56689a72a092b820ce633ad26f2a48395d821fb2
23476 F20110109_AABIVE lakshmi_s_Page_42thm.jpg
d6b8e73fd9af3d52f4b138b74fbf8614
ede3008313ba9dc80b371cca3b852368ba33f8d3
F20110109_AABIQH lakshmi_s_Page_41.tif
1a04a6e53052a27156ec63b94b7530eb
9cd84659a500d11ec7812e56849df368ca4ec938
61285 F20110109_AABILK lakshmi_s_Page_09.jpg
8177d0e86acc4d1f1b773126f349894b
86f462556f8203267a39303ee671edcc83c3a592
76603 F20110109_AABIVF lakshmi_s_Page_45.QC.jpg
e55655a70cc6056f66223528cd3d4453
19f31856c5860d7c0013c13b0c8a6ea41d83d831
F20110109_AABIQI lakshmi_s_Page_43.tif
bdad734c97171a92cbfcc8703ac37e72
aca5734f6b753644114e3f881ca37ac416605df8
176463 F20110109_AABILL lakshmi_s_Page_10.jpg
9a97377a00516156cac443acae23b49f
73d0b8ff6cb2c34e58775a7911c05bf952092e3d
46254 F20110109_AABIVG lakshmi_s_Page_35thm.jpg
439bdc52d363b3e6543bd2e91180b01c
94f6fdb7b5ca3cc6fd349801ec5e6338fc714990
F20110109_AABIQJ lakshmi_s_Page_44.tif
45f3f5623d923fed4da721e3a12a8b75
24065022a97bd2a4f4c7a8e820745856368b578e
206807 F20110109_AABILM lakshmi_s_Page_11.jpg
214b6ebdef4cc4a32190e7d768baf9d2
5b57924f2a62673a388df343aa6044ab110abd7c
44594 F20110109_AABIVH lakshmi_s_Page_32thm.jpg
a543a6b26253dd98424514bd39d82bf3
f7921ff3682331cea61183c3ceb71e300b5ba822
F20110109_AABIQK lakshmi_s_Page_46.tif
b71e270bde14725dafccc167ba203f2c
d07be98f95f5d23b3cf9a191d6f792507fd4bd81
168590 F20110109_AABILN lakshmi_s_Page_12.jpg
b0c201c3c9e3fbd883073fda8dbbe338
57c27abf23b8c62bf7e377a05304fe642905d849
F20110109_AABIQL lakshmi_s_Page_47.tif
63b3611a2104b0b358318c86ea5162d6
d3f8cf97a208b9cf4ab8e1a41c529a2a93d48cac
139245 F20110109_AABILO lakshmi_s_Page_13.jpg
41cd7b4749eafba030770f0efb2c717d
c0a1984e85b64811878b6a7faacad590737a2d7a
82708 F20110109_AABIVI lakshmi_s_Page_27.QC.jpg
faae091775c67b1885650b47338e7a05
273139a6e6fc771a1fab57faea9dc7e2eb219459
F20110109_AABIQM lakshmi_s_Page_48.tif
7592abb78d78c7467679aba65a21e6e7
728030c8a69c5cce227a3883a9342d54325347dd
193466 F20110109_AABILP lakshmi_s_Page_14.jpg
57f9d35be25e52eabdfeab9e9bdb2575
90d2266557f18325f6dad22f82513e3eae627e8c
94392 F20110109_AABIVJ lakshmi_s_Page_59.QC.jpg
909494c856e6a5035aaa4020f01fec1e
38d65eead0a69dbff2d3cddd4967a6a2781f3c04
F20110109_AABIQN lakshmi_s_Page_51.tif
8ffa3504fe25ad5728739b66fc8f5489
6d63c4fa1a8b01e9d0eb11160a160b7bd4a6c5b7
113790 F20110109_AABILQ lakshmi_s_Page_15.jpg
c0c2ce9f447adca31361de4cef302a7d
3c7ea249dbb22ebd5b11b247b67def296ce3b03e
38226 F20110109_AABIVK lakshmi_s_Page_60.QC.jpg
7d2561898bffb97f4019fce952e68185
21ff165389f4458d9d5de7197675dc761777f8ec
F20110109_AABIQO lakshmi_s_Page_52.tif
3f8b674a02e0cce058d19035cf2e367e
23d2f85c5828ad0fce528f1203f8b7b46839083d
177648 F20110109_AABILR lakshmi_s_Page_16.jpg
aa336fd8f26922c84c96b560bb233872
b91c290c7d388b8ec4bd776f5855819225859a3e
92614 F20110109_AABIVL UFE0000559_00001.xml
b509549762b43683bd8bb755145e8668
ec0954b97b71b2e99b9c00f4032d41a9d97b3201
F20110109_AABIQP lakshmi_s_Page_53.tif
65bec0d2042b41a7cd0ed056717e3f8a
de5dd1b1f40a8cd79eaf69a1f4bf2a2b678c5f60
159682 F20110109_AABILS lakshmi_s_Page_17.jpg
f595b9bcd0b95307cf50efab27e409b2
102311592cb0e06376f9f54634e472842ecf2db4
17474 F20110109_AABIVM lakshmi_s_Page_01.QC.jpg
7733712f4cba5568eef22d91f24e8f4a
7e4459a3f60fc19ca0a8949c86049d337ae12e45
F20110109_AABIQQ lakshmi_s_Page_54.tif
77cf25d73e5dbdd0d0217bdabe04b617
171275afedafc62a1fd7ff59ca96306da78222dd
5520 F20110109_AABIVN lakshmi_s_Page_02.QC.jpg
fc27cca4d097f87912d97b05bb1c8e45
93de3c1b06b1f69e905c8e5e27a1fa346c4a436c
F20110109_AABIQR lakshmi_s_Page_55.tif
eb2b46ce14c53f492462faf7341c0855
f59c090c8b95a6915a0fc5e3d7b7aea142fc87c6
205750 F20110109_AABILT lakshmi_s_Page_18.jpg
a68cbe51bfdb849e6ac9efe84e9225c7
af67f6104b026952404588d85848bb5b1014c06c
3099 F20110109_AABIVO lakshmi_s_Page_02thm.jpg
af23a6b3ae4fbb57d04d47ae4d96d988
9c0521b99c29b115c34e2625fd86849f1f7ea15b
F20110109_AABIQS lakshmi_s_Page_57.tif
d0264923ce6759dc52fbc25e22d4b85a
cf744cc2d50aa05461b46fe9fec6c6b807c2a766
195307 F20110109_AABILU lakshmi_s_Page_19.jpg
017ddc0f6d2f5f4280d30466e12d8c57
57a5b051092ff0de36cd61aa8a31cda2e6f59464
4838 F20110109_AABIVP lakshmi_s_Page_03.QC.jpg
b1703c27f85c0fb3dc4676385253c158
867171dc13676e3bd2e0d30798c4c980e6b0260b
F20110109_AABIQT lakshmi_s_Page_58.tif
bfdbae82acda5706fb0e10565da28297
24288ed5bb67b961e40e00a9def2d635cc11ea5a
199275 F20110109_AABILV lakshmi_s_Page_20.jpg
ee2a9bbeb0b5eb1be2a2dcb9e6b50d31
0dc195ab1748aa83b6cec9c0fab7eef541d17ec5
2745 F20110109_AABIVQ lakshmi_s_Page_03thm.jpg
951a38d412187fe98e567c761401436f
9fc54d7b6ecbbf99327e28c3a009f5acba7d9933
F20110109_AABIQU lakshmi_s_Page_59.tif
596f03a2fdd025594d89646790e2b53b
16e2c14a68ace9e52e2a6af40a6279ab20d5486e
219966 F20110109_AABILW lakshmi_s_Page_21.jpg
86373073e61e7f69d8b6454014c0a032
95ca784ff1bc83754532edc23b3ba6b2e9ccf635
37837 F20110109_AABIVR lakshmi_s_Page_04.QC.jpg
b8dd27e9ee3fa221abb83d5c82a08cc0
4582ff21207adde125ea94c876057d48f6ef84d0
F20110109_AABIQV lakshmi_s_Page_60.tif
0245cc3e0b518d4dfb548c57cdbaa3ae
ff7d2a6ae611e37cebd627c06dc7d4b2f8ea9988
212030 F20110109_AABILX lakshmi_s_Page_22.jpg
885c538188640de87273682afa80b5fb
b6501a741036825460e905c5b21218090a172a1a
13248 F20110109_AABIVS lakshmi_s_Page_04thm.jpg
3ece9318667d989c46d04898d739d547
185aaf39803eaf511b4bbc0e3e79a5a7fb4571f3
7309 F20110109_AABIQW lakshmi_s_Page_01.pro
0df727a2e0d98cedde903b16d85eb027
10e8da05cd74c0a599630d3c9d56f50e750d8b8a
F20110109_AABIJA lakshmi_s_Page_50.tif
16d76e5d6cd45bdc5d8b330a52838f18
5534688a32aee890a73c56efa852af6f15da1c84
207286 F20110109_AABILY lakshmi_s_Page_23.jpg
0de25731e6f1dd2452e1c759565f1d53
ef68d9bc838a2cf9424ee17871e96a7a933d9ec8
93344 F20110109_AABIVT lakshmi_s_Page_05.QC.jpg
af63f1b566dcd1215f2582a974bed44a
23db152f4d8ffe151c8cfd5f443a32c7687119a4
1175 F20110109_AABIQX lakshmi_s_Page_02.pro
a8a7e3a302b6ec7e53d2027f1fbf12ac
d2bcdd4dc8a19a75e9287f4b5e9941ab5111ed56
602316 F20110109_AABIJB lakshmi_s_Page_40.jp2
650a454b69662a84b6d53435b541d0d6
21a9f41c947982452d00d28dc924044b39bc3647
56662 F20110109_AABILZ lakshmi_s_Page_25.jpg
665f18447cd8e7b742626e15a81ebca4
23b487b3057a4b1701a71b1ed81d443ce5cb1f03
44944 F20110109_AABIVU lakshmi_s_Page_05thm.jpg
c7d4d830d9088eef9a1ab890c3966927
58699565dbd3e1c14a68e6c059c3f28b0def4e03
23783 F20110109_AABIJC lakshmi_s_Page_48thm.jpg
ae0bf9b76f9583cb730d76e45a9860be
4ae449d6a56dd51702877b0f9812b5b49e567c6a
98341 F20110109_AABIVV lakshmi_s_Page_06.QC.jpg
f3b61b98fdb50683e28b12db1f0a2ca5
eb6b142ba0782ea620091d85140aeb275767db8e
859 F20110109_AABIQY lakshmi_s_Page_03.pro
a15052fa73abbbd0d94eeb36d7017235
827972a6026fba945e584dc7a09878a47a4affbf
F20110109_AABIJD lakshmi_s_Page_19.tif
69a2c7fe7e3b909da55dc3170611ae55
513118d300e6dcedabd9ab5e9647f8cc676ba842
64482 F20110109_AABIVW lakshmi_s_Page_07.QC.jpg
b92a8170554d6aeb592a615b72103e46
a21f2284e9a93cb70a33764703c9b564d075df8a
104273 F20110109_AABIOA lakshmi_s_Page_24.jp2
d3efa25c70328f2d0921826281627a87
a8012277178cd9f0f182f7ee8de322cf98b6ce0f
21862 F20110109_AABIQZ lakshmi_s_Page_04.pro
c677f1a056c80f39868b4de23755ec6e
7cfecbf0c99e1850abd8a663027eb32f6a63548f
22802 F20110109_AABIJE lakshmi_s_Page_47thm.jpg
09d9cc608d9efe661ca4ad02fb01b1b8
ebf570d3800b14f5b57b0d61d208a883154424cf
37361 F20110109_AABIVX lakshmi_s_Page_07thm.jpg
cc1c9670ca32f9dfa7f40af670a9ecee
c9f61a3ecb5d560087e18972eba99ba45c0eab6d
27578 F20110109_AABIOB lakshmi_s_Page_25.jp2
b484504d729a181384d9c71e56458a60
acf09fc67f1b6dfb0ae0f50f563d12cbd3a36575
71455 F20110109_AABIJF lakshmi_s_Page_54.QC.jpg
4eb5fa909c79d590b562955ac5ed6068
955800471506aafe229432f84628f7b0ac5790bc
53998 F20110109_AABIVY lakshmi_s_Page_08.QC.jpg
540975680895fc422cbea852f58f5d8a
1df7f3c5fb04a3962ef1b1ed400574173c73dd8b
72424 F20110109_AABIOC lakshmi_s_Page_26.jp2
1bce32ab325cc5c7e800e16c34281f33
f1aadb48c80893c839bdfcef38cf173795a041c9
F20110109_AABIJG lakshmi_s_Page_06.tif
4d607a746f0df3370bb0ebc55b4df020
d247e216f5e961bb6de9b8198fef4280c984aebf
2933 F20110109_AABITA lakshmi_s_Page_05.txt
e62dbb464d466df6a854813174c101ae
154ae9eb8e4f7c75f93b7cc50f389aff7ce821fa
18122 F20110109_AABIVZ lakshmi_s_Page_08thm.jpg
246f92ef941ecc6bc900a604bc905dc0
eb8b73fe89e76677fff1f19477520cd4ae18bb69
747998 F20110109_AABIOD lakshmi_s_Page_27.jp2
6055338e268ddf4af3c12c85e29095ec
5418e9894fef9be611556b68e3ba5f1299cfbd36
F20110109_AABIJH lakshmi_s_Page_28.tif
c016a4475926218a0aedc84ec2188bce
f1c327c9ca9c9eaae724f4cfe8eaf86ae746e0df
3984 F20110109_AABITB lakshmi_s_Page_06.txt
7d45d019ae0103e684c55ae88d2603bb
f491129fd92fd6dbb7c2f5ebd5c95a5db8f00690
101151 F20110109_AABIOE lakshmi_s_Page_28.jp2
0503df3e0cf24a530ef4f0f1baf84e0a
04db9929a65868f3f675caaebecbdaa05e51d3ff
98981 F20110109_AABIJI lakshmi_s_Page_06.pro
5ac7d99188897be2bba8f2e19493c0f6
ee45cfb1a8fface76d5dda803054b3712646844d
1601 F20110109_AABITC lakshmi_s_Page_07.txt
5b52e495a294ed28260b9ee27070a5e0
49862e23b2791ad564d0aa4b520af6f141d09512
93416 F20110109_AABIOF lakshmi_s_Page_29.jp2
58e1f702f5c665973d012ec1964d5a33
e72809651e5ea7f7b3562462fc43c9424aa44683
63916 F20110109_AABIYA lakshmi_s_Page_43.QC.jpg
f548604698a1778ba550448fecd40f05
df00af670df60c4b7b2c5a5434a56b29f8c0edc0
202156 F20110109_AABIJJ lakshmi_s_Page_24.jpg
907d93131bb00647ac3c2cff5e560c87
1c949663bdefd0ff23fad163af1874920d791119
1515 F20110109_AABITD lakshmi_s_Page_08.txt
3eaf80732fda616b35cde26bccf25ac2
a1925af817bf9717fbdd7f9480a351c548833d19
81021 F20110109_AABIOG lakshmi_s_Page_30.jp2
ed6dd404ce7c49d33f6f259b43e6e344
f0c904e5151a718b0220eb934adf75e7db0a6c5b
39491 F20110109_AABIYB lakshmi_s_Page_43thm.jpg
48327d26471db0c6966b810a784750f8
1a50918695ea1c6eea5440f0d8d0426101310d2d
1018269 F20110109_AABIJK lakshmi_s_Page_36.jp2
84651c817690c6f8e2dfb00aca23e7a2
6895ee4a373b376eb1aab43a87e84c2272e41a9b
F20110109_AABITE lakshmi_s_Page_09.txt
6a4f8bbe39fa16d6eab8049a9c53f240
af50b237b8cf93906e9242c3baea88682ccb1169
804150 F20110109_AABIOH lakshmi_s_Page_31.jp2
bb99ae6dfd774825faaf847aaf773819
a59877076ef67a7cde023ca6d53339ec2fe15d83
69682 F20110109_AABIYC lakshmi_s_Page_44.QC.jpg
e929f78ee2a1a049959ebbd175831b04
f444247694ced11d6d2314191697e30e3b01c007
F20110109_AABIJL lakshmi_s_Page_45.tif
51e08156c02018ca87147b894d76024a
b4f0cb00a7d3bf17b7ce613426935e6f0575bf26
1773 F20110109_AABITF lakshmi_s_Page_10.txt
b83322dc95938f87ffe51311fd3b4220
0e5d6de4b267ae2c958428a5d4fa505bf47eea16
1016240 F20110109_AABIOI lakshmi_s_Page_32.jp2
34644c3df1d6aef109f10e173c61cbf4
b12f25be480a95812b0e99cac59f5284d1052fde
24739 F20110109_AABIYD lakshmi_s_Page_45thm.jpg
76cc48e2ac9dba6c962e0b250d968226
acc3a1e6bbce339ba0d326c9a946c3859eaa514f
40949 F20110109_AABIJM lakshmi_s_Page_13thm.jpg
9a28c838976a2b75027ce87c60875a64
33fe8234f2ddaf4ec91b20563d753dc51458e270
1887 F20110109_AABITG lakshmi_s_Page_11.txt
8e5e2702337cb24d19392827ae32f779
ae6a3c5d3fa7b47f440b39e0adb22ecacb9e0b8c
90280 F20110109_AABIOJ lakshmi_s_Page_33.jp2
a3ae851e10077c21c6262210eac88cf5
7e6e779b11cd488922f55cb9bc17bd1353f34bd7
68144 F20110109_AABIYE lakshmi_s_Page_46.QC.jpg
c893735e3e55b44e5dd5980cf54360d5
ee050e9503b143c0629f3b93972ea0b98fe68199
13020 F20110109_AABIJN lakshmi_s_Page_03.jpg
629e48b7c9ce00570d8788e682177b48
3ee9a27b44a18e3f7798dc1421741f951a9fb954
841 F20110109_AABITH lakshmi_s_Page_13.txt
e9064f14c715aed543fb87ea58747385
1b1d40f2cf71b27d0cc7bdb9cc2bc24b52759142
1020160 F20110109_AABIOK lakshmi_s_Page_35.jp2
1bb8013489b06a87a4229b5f255490c6
e1692f09776c44825d031b91685e6a1bd02cf881
20980 F20110109_AABIYF lakshmi_s_Page_46thm.jpg
96ae3f0dbde5a6e0f619dd2f48ef98f6
1546389d34e5f27f68a049a1b8ca663b7d22dbb4
73576 F20110109_AABIJO lakshmi_s_Page_14.QC.jpg
833dfc6b92fb8fd516d81b722a8cf291
c4dbc4d1a584914464482443d301e1e83a867052
1903 F20110109_AABITI lakshmi_s_Page_14.txt
db4e4da82db07b239a927e63e5b68c33
94d0e9efd0dfbb5055a4f4b6e6b85c353d23ac1c
88347 F20110109_AABIOL lakshmi_s_Page_37.jp2
6bef2b5648012808b5c3ceb57b07fadc
d38aa656f4826f302c499c433d761020538418ac
72267 F20110109_AABIYG lakshmi_s_Page_47.QC.jpg
e6f79ceee65d980675d5601c30380dec
26b76f3410b07f9bc723a9dba22dca4b793985c7
63771 F20110109_AABIJP lakshmi_s_Page_56.QC.jpg
2a322a53db32e6b179f5d6ee35999537
9dcb9e7e9611cabde5cf0ef780f2254056dda023
1078 F20110109_AABITJ lakshmi_s_Page_15.txt
c2d3e234e33fc211cd6f1c60436f7c68
8ec05b902187c354c87358136d44e9a452062b1d
759404 F20110109_AABIOM lakshmi_s_Page_38.jp2
25f8da73dacb6305135835c25a7a7097
b706c1c5988af95f4771f2e270b83faba3fa0115
79595 F20110109_AABIYH lakshmi_s_Page_48.QC.jpg
dcff284bf06947becc24a42fc2d7c829
53ac70060b8fe988493ebfc876dba6c98e3ebd7e
1829 F20110109_AABIJQ lakshmi_s_Page_20.txt
269a1dd6c4c0685e457aade6998814bb
efe9b04eb7b92fe16b3bcfa667cbc727d99cbd50
F20110109_AABITK lakshmi_s_Page_16.txt
5733d4bcda41ce1da4f7e21382b996b4
232df894f5f94c91ad97ee4d6bf9287fba008489
83938 F20110109_AABION lakshmi_s_Page_39.jp2
1b58e3ec4ebf48503d2f4efdfdad0103
7000e1a13590819c6d93937deda851f3305447f0
66593 F20110109_AABIYI lakshmi_s_Page_49.QC.jpg
95b6d1498eb46cc90f435caa13487b5e
03c37fb9267c0e55980afe980fb65f402a365804
1279 F20110109_AABITL lakshmi_s_Page_17.txt
c5041c5dce7908bd5fb5537be870645d
7bfd66088ae49a5bc1289baed12551060d0fbd0a
712419 F20110109_AABIOO lakshmi_s_Page_41.jp2
957a7db4393c4528f9e30ad86222b564
fc2ff95ec488959deb3b9818547ab828bf91f554
21676 F20110109_AABIYJ lakshmi_s_Page_49thm.jpg
5055841fcb0e9f7d5064585b26678d79
b33faddc7a4ba2a5bb1a9123bbbd85c94fe1ebf2
F20110109_AABIJR lakshmi_s_Page_05.tif
95e864baade3f79fb6ec9abab02d043f
b3aa3710d95d9adcb2522e9966fabd1783699fbf
2073 F20110109_AABITM lakshmi_s_Page_18.txt
16e4dd4d18c153edc4ae2a534e84d400
0c90ddd6dc3cf2f5d55a4c614bacedb89d3d6c64
123292 F20110109_AABIOP lakshmi_s_Page_42.jp2
e006b8de939e09cc297f933f2926553f
fc9f6108bd6ade0396259c24322fed24aae26148
76906 F20110109_AABIYK lakshmi_s_Page_50.QC.jpg
3c0122d8adb9690c54215e69c25f88c4
ab68417b2eeefe4457549fc796dc80c9560ac2ca
46766 F20110109_AABIJS lakshmi_s_Page_36thm.jpg
026747e45422d4738f48b8f32457a2cf
fdb482f0d89871917a307aea16de4577212b00ca
2212 F20110109_AABITN lakshmi_s_Page_21.txt
6e3749d53d00085c9cab05d075b1d47f
a341aa4c99d96d6b6bc118de0b66a2b2c68d1e6a
101169 F20110109_AABIOQ lakshmi_s_Page_44.jp2
a91b08466de4d80bfdf8b1585db1610b
8702a915d9f85d1260a90f06aa4a52b6bdb5933a
67645 F20110109_AABIYL lakshmi_s_Page_51.QC.jpg
549b4378c5f7af5a7e6513dc3b411e4f
fc1d90c0695c6b63260f650ea23972ad7cd0190b
22478 F20110109_AABIJT lakshmi_s_Page_57thm.jpg
234eb10dbfee234456cf78d47d19ed36
6191e2353b5599934d311b5edde953df5d8d6a32
2123 F20110109_AABITO lakshmi_s_Page_22.txt
815fd2c5daee3b6c965bf859c1ac7fd2
fc0f6defca2e4ebbeb817c3fae9341448b35484e
93739 F20110109_AABIOR lakshmi_s_Page_46.jp2
1585116a87daa515c68f6b8451912ffe
405b5b42efcdb2c3377ff00d0223dfc2ca65d9b6
22354 F20110109_AABIYM lakshmi_s_Page_51thm.jpg
91a84687bdcf262eafcdab789a62074e
d3f26c55e30eac94b8ba308f689dd92d0322a345
62363 F20110109_AABIJU lakshmi_s_Page_42.pro
5293233576ed71d193efbebb8207e3fa
54524e417900e1455fbc64213389e4a861ef9cd1
1941 F20110109_AABITP lakshmi_s_Page_23.txt
bfad41afd9ddb79780f57aa9c6ebf3c5
760a38d96932987cdf0156cc219050cfdd2b2548
98592 F20110109_AABIOS lakshmi_s_Page_47.jp2
efdef69f3a4f092aa12f174c023d0af3
24ff6d5305349d2a2f442a5f226c2185444633bd
77244 F20110109_AABIYN lakshmi_s_Page_52.QC.jpg
ebb479d5a2051a3c18b3e72dd42f9aed
2ac3972298387249e6c8b68dac6d124532d4a73f
72228 F20110109_AABIJV lakshmi_s_Page_40.QC.jpg
4b256356486cfa0607d5ebc7ed07027b
f5d965441f79e8de2902c1c61da8316d0853c1b3
1860 F20110109_AABITQ lakshmi_s_Page_24.txt
0815d46dbb8f2fd2690f4e49ae43825f
bdac5acdb2a802f4a168b65c6bc142cee35b8d4c
106690 F20110109_AABIOT lakshmi_s_Page_48.jp2
1adf75448449835d996fca4dc7c9e649
56abce54aa8f5739e70063afda7bea4f1d1a03f2
23375 F20110109_AABIYO lakshmi_s_Page_52thm.jpg
a356bc153faa28a00c39b266f6672dbc
427a3f2094c1b0530b36789fd02c99c7bfe57811
70397 F20110109_AABIJW lakshmi_s_Page_05.pro
3b3e8da8a5dff431fde9115396871fa8
cf4a1703cb86dce7d71d1835104ac7f5cc5cc5dd
501 F20110109_AABITR lakshmi_s_Page_25.txt
d6d59d34b9258593090cbab63c4b9702
a6024442cb07ba75b90d2d83bfea15f520da4c6d
93463 F20110109_AABIOU lakshmi_s_Page_49.jp2
edea129b36ac3de726d54f55cf493caf
900f4ac69a085a947717523a1bcee9588623765b
65602 F20110109_AABIYP lakshmi_s_Page_53.QC.jpg
0b88c6cebba5ad095b5c0ac861f74ca1
ded90ef4c8919c165a92875995bdae7c386f3171
1377 F20110109_AABITS lakshmi_s_Page_26.txt
5d1ab9dd6309838911417494af378681
8bc736724736b7526f4531ebc8ae2e10ba7ceaec
106332 F20110109_AABIOV lakshmi_s_Page_50.jp2
67ff88b2881c7a40f323c842de439648
8df24a39cf845e56d1aa48ea124703106ce06127
F20110109_AABIJX lakshmi_s_Page_42.tif
5aa383b6a72179941ea927e9be63910a
95c0c664c8d85c3ac0b6e312d9714729bfa862da
22234 F20110109_AABIYQ lakshmi_s_Page_53thm.jpg
bca409f4fbe23321da11eeebf988a97e
a3f91438f49f71023284912bdd891638d5445e5b
808 F20110109_AABITT lakshmi_s_Page_27.txt
19aaff42a6bbc790e1c18810c7cbab57
65c890748a71989e8a9246bcd6aed61def133d35
F20110109_AABIJY lakshmi_s_Page_56.tif
e5c3e113111e9d94322bfbea0b37f2b8
2d52f8d262418092e2f83bda549a44d23f014cc2
22539 F20110109_AABIYR lakshmi_s_Page_54thm.jpg
67e0916c20555db783e76ac582db8b57
d47a96a4affb250afe78bfbf79ff8519e94c124f
1963 F20110109_AABITU lakshmi_s_Page_28.txt
5fdf860f1e8c3c41bcf715bc2eb0bdaa
841ab77c13df4a295ccbd72092a66f9b3a67dd0c
101701 F20110109_AABIOW lakshmi_s_Page_52.jp2
71778ec9709fb715ae1b321537d1003b
3d8b8845d0f10ffec839fc0ce02d1b3f7f0abcb4
7022 F20110109_AABIJZ lakshmi_s_Page_25thm.jpg
5b96a7077e98141d48d52b633ecf7fae
be9d9a1428aa2611af31bf18dfc8ff111a11a8e0
39214 F20110109_AABIYS lakshmi_s_Page_55.QC.jpg
97b15c7193a0b16b28d2f014c2f31ef8
a7d1c55197eb787fd6d0a51da3e5cdc23f5b32a0
1783 F20110109_AABITV lakshmi_s_Page_29.txt
9d9359a61d132ff3f1f9e297e855e748
685f53c9207282ff3e984899cc2f58bc810b0bfd
91802 F20110109_AABIOX lakshmi_s_Page_53.jp2
38d3be4df747b6446054fdd3c1d11bbf
ce9183955f8eebf69af6fa65aa601410a3e26029
14524 F20110109_AABIYT lakshmi_s_Page_55thm.jpg
90045f48dadf02bf2e25025fc7eb1b97
7d69b3c44c2c726ec513009e0ee4f86396fa9e11
1512 F20110109_AABITW lakshmi_s_Page_30.txt
fd4208ec6f0587b99e6f67793eacca07
be258980dec19aa136f07d6e03a14f22d2e99d50
180926 F20110109_AABIMA lakshmi_s_Page_27.jpg
a17e6a3b89f2bee42fd0f99bec5aede8
d44a283db8bcfb9fbacec0e770b2e9cf2b88814b
98540 F20110109_AABIOY lakshmi_s_Page_54.jp2
7329bed54612e598fa5c1743cd38d9a9
7ef075201f984c5ef869f792c65f6e0356e6b6e7
19711 F20110109_AABIYU lakshmi_s_Page_56thm.jpg
7375b374f763ee31813d10b71ca8e7bd
7e8a37d975f9ffb67d14c414046dec20cc54d993
1578 F20110109_AABITX lakshmi_s_Page_31.txt
61efedef5f3b25ef655dc54947c8653b
60bbbd29aba6391435e9c560d139377eec871eb5
200609 F20110109_AABIMB lakshmi_s_Page_28.jpg
af18c8b970671a0c2cdf3bd221db2aba
0f971bc51d8c3505376333b01dca59d5f4dcf314
54920 F20110109_AABIOZ lakshmi_s_Page_55.jp2
96cddf7c4fd9964ce067b73e2348d698
dffae9d008d6ee62a7a7e501407c0be9e82f8e0b
73008 F20110109_AABIYV lakshmi_s_Page_57.QC.jpg
4c2cf566b40736fb5067fe9db80273ae
dcbd822950bc944486b5ed359bf1d80b1a841da8
2218 F20110109_AABITY lakshmi_s_Page_32.txt
e323dd23a9877807fed50f684bb37571
26d8e47a8815ff48b5b66466d39eb236ce31e825
190365 F20110109_AABIMC lakshmi_s_Page_29.jpg
84170c6af77876b00166c0a97360bda6
875cdc01909f605a2198fc68ad30c08777606677
19768 F20110109_AABIYW lakshmi_s_Page_58.QC.jpg
09b645d526ad7f83aeb2ab69e7c9c5c5
6f5c26b85d0c2f71dd2e46a892cb46ff60c9033e
1695 F20110109_AABITZ lakshmi_s_Page_33.txt
0d00758d23c82fd57ed8b3e1bc446e58
4d82023f079e1fe0d8051971d46d756b8c859653
162750 F20110109_AABIMD lakshmi_s_Page_30.jpg
762028aa170c401e95347266fa7d2799
bfa585d79b6c3b3bcc0c06bbaa14f08fecea29e2
36889 F20110109_AABIRA lakshmi_s_Page_07.pro
80f24a4cce8110aa36e4156479df01ff
edbf399a8ec9d8464bf3f1794d375a53079cd1c5
7076 F20110109_AABIYX lakshmi_s_Page_58thm.jpg
31ec58bc18f252e7d1af3f089790aa73
12b669a7905e3336c5da63798ec69c50f1a35fb0
165043 F20110109_AABIME lakshmi_s_Page_31.jpg
acb121e8b80f97619d3ef7f4e3eb26a9
19fef752a818802b6d5c315e6476d2154a6d46d8
33749 F20110109_AABIRB lakshmi_s_Page_08.pro
84ee4dcf6ced96b91f1adbb3fb777b01
5e9345f8f31354ab0ccfc881da1d2b96062a65ab
46297 F20110109_AABIYY lakshmi_s_Page_59thm.jpg
26e11e87696a09bc2519c5400a4f7788
2d6aac29294579aa44b9bacd96d0f97a70cc81e4
180722 F20110109_AABIMF lakshmi_s_Page_32.jpg
8279e05729ef03fd7ff3ffbea719a228
2c840e846b502b2f33a193019edf11bac64cd8a6
13310 F20110109_AABIRC lakshmi_s_Page_09.pro
1cbe49f399d8a785321fc41dca922d80
6195d82e91fb511c35ae98868d514216aaa020b9
12964 F20110109_AABIYZ lakshmi_s_Page_60thm.jpg
91496571a02cf8c49e0acf9d234dfe85
06ff0e7b4220ce22c44e5b4ec83605db6fbf9f21
173756 F20110109_AABIMG lakshmi_s_Page_33.jpg
6cdf69643f89ffcb50141495baaad00d
56f77e6aff2364981701d3fa3c5c23543765bfbd
8023 F20110109_AABIWA lakshmi_s_Page_09thm.jpg
0d6db365514643e3ab0ce4ab49b846e5
f015c6641b9b5ff57bbd43cac75314e89abe9b74
42578 F20110109_AABIRD lakshmi_s_Page_10.pro
dd94957c258044e4b23b0e8c295dffe7
a8c3edfe33c92c51f18f2517089e5813971f3ae7
199829 F20110109_AABIMH lakshmi_s_Page_34.jpg
8c43f9e2a35745b3d7b9fa820c22ee50
cbc57e0ca2daf58abcf00373263b330514b1daea
67156 F20110109_AABIWB lakshmi_s_Page_10.QC.jpg
ad08b57f670e4c0985f45ae8df8eb5d3
0e63643ad32df46d93c483c0bce899a2cade071a
46579 F20110109_AABIRE lakshmi_s_Page_11.pro
3cd94bcd73b6527c6c3727e9301be5cc
2059ed24b35a7acfd3692379f72c50c05cf42b46
200438 F20110109_AABIMI lakshmi_s_Page_35.jpg
b1b273515f81dc706f723f7484302720
faa22206928b0c8e7af453d1b01fee12f87c61ca
62865 F20110109_AABIWC lakshmi_s_Page_12.QC.jpg
31d177d6a0753fafc888a8d7e0be235a
f1eb78f8306c1e26c65a49b8eb6d72b35c92d866
19563 F20110109_AABIRF lakshmi_s_Page_13.pro
cbd90296bcf94c607d8cb552660b8be5
75b80dcc00c8960890b486fdc30ff0c8d6cb0f9d
203004 F20110109_AABIMJ lakshmi_s_Page_36.jpg
4dbcfecc0d6b619fceca0799f0759660
19b25bd70306b438054f98848470da7ea07910ce
20688 F20110109_AABIWD lakshmi_s_Page_12thm.jpg
186c58b873c07af8182d057d835bded6
c9a6b16dab0229f3d84c05261e04b68c2751840a
25807 F20110109_AABIRG lakshmi_s_Page_15.pro
ee21c9f1860adad2531afc2261d579b7
73a27f38abb431d9c3ad6e4ec155f1a4c128dd3e
168975 F20110109_AABIMK lakshmi_s_Page_37.jpg
96247cb835310044924e3786bf613ffd
8c58f5d4f6df066580cdcc02901d5fa636e7c97e
69092 F20110109_AABIWE lakshmi_s_Page_13.QC.jpg
2e5b9945161a1b96ff32335724f25da9
bbb56d2a1c5255fc91fa9952620558ceaf4e03f9
41586 F20110109_AABIRH lakshmi_s_Page_16.pro
b92d2fe20c3b1a4bde36da295a31c072
2109a398bb1c16de7cbf0099993a9c387f54843e
160492 F20110109_AABIML lakshmi_s_Page_38.jpg
b08e6f6b26b2056d44e177a0620a3b4b
100ab9a156e905d13ccfc548db2cba3f89b2b766
22608 F20110109_AABIWF lakshmi_s_Page_14thm.jpg
b99ced95ec5cef68ef260c5995d98d4f
020cce50a7b57db9efe90c01a899bcc1c76de402
29981 F20110109_AABIRI lakshmi_s_Page_17.pro
f8c7d422b5607e3ff4570615dc5db0ea
48531fe4dcf983abb214b2fda9623647d9399a3e
161179 F20110109_AABIMM lakshmi_s_Page_39.jpg
71b90611374bd2b92faa1e46abb6c6f6
ed8ea71b59a344d19660d8bc7490a3848e6db207
43434 F20110109_AABIWG lakshmi_s_Page_15.QC.jpg
c7f2c5609964a49a937f70723376f0c5
7baba7e0ce396261313b60643906eacdcd1b577d
50386 F20110109_AABIRJ lakshmi_s_Page_18.pro
6d0384c5115f24fd9b015fd535632931
5d709351228549947ebb8e3953a3b9c1137397ef
148189 F20110109_AABIMN lakshmi_s_Page_40.jpg
da0007648f2e17bda43d84b2e61b304d
949766faf92c10d76df13f96a682d4bfffb87ed7
13542 F20110109_AABIWH lakshmi_s_Page_15thm.jpg
9f826f71e03cc64ccf49e293d81a1e56
42b60967f1961975b2f468f06120c19875497923
46635 F20110109_AABIRK lakshmi_s_Page_19.pro
433cb5633d85e5a5cda0125a9bc3d29b
f30bcb231d079ffb943254513e29f19c4c1c6d27
169146 F20110109_AABIMO lakshmi_s_Page_41.jpg
c52921280649e8b71e1baa8aaed995f9
841ad639a66ccf06224a86e97da29f27000c83f7
66275 F20110109_AABIWI lakshmi_s_Page_16.QC.jpg
100701f6822c7148a45618abe74d99aa
548affea42be8a72a22d3eb4d9d1a617a7c1bad1
45714 F20110109_AABIRL lakshmi_s_Page_20.pro
fc40660a3aba5f4d4757c5cea7f0ca2c
6ab58fbef386b81cca95449eccc181859429bac0
123081 F20110109_AABIMP lakshmi_s_Page_43.jpg
1532b23c21ce824ec8220d05d6029297
bd716bef3a81dfa4c39bb57d4ce7f18994062036
21319 F20110109_AABIWJ lakshmi_s_Page_16thm.jpg
bc751fcdb0c11c3cb1121d358acc2aff
8859ad258195b6ad9e5934077006d3d0a3c8633e
54124 F20110109_AABIRM lakshmi_s_Page_21.pro
0998bea2e35ee4b759588a4155f033c0
a928d96f9a5b7f219047831fa82886be6dcaa914
197093 F20110109_AABIMQ lakshmi_s_Page_44.jpg
90516cad5021bcc478ca5682ca916069
339b598507ba4f749d16ac408a6d78004946c8b5
43238 F20110109_AABIWK lakshmi_s_Page_17thm.jpg
7bf3c71ed710420a3e0bb1072e4c4e3d
9d76eae7c7acb948ceee0e2fbd557dc8e0501e25
48932 F20110109_AABIRN lakshmi_s_Page_23.pro
9ece213782238ab887dc2071b852fe4b
4e728c56ab807c4a4ecab7a3513734ea5bdf3a29
207296 F20110109_AABIMR lakshmi_s_Page_45.jpg
5d725d0fcdf2e4231827997c66bdcfff
1e72a6f7cdcf7278d13547ddecfd656e6b9aef6d
72029 F20110109_AABIWL lakshmi_s_Page_18.QC.jpg
c20bd68b5cebf938c46c371c15c9011c
d0114e7010a8351ec02a03186173d723ec55f412
46414 F20110109_AABIRO lakshmi_s_Page_24.pro
c428dd12ef6edc927fd3277cc4f6194f
ad5830dbb8e638c70e44b3a682024f6a6325f31b
180362 F20110109_AABIMS lakshmi_s_Page_46.jpg
bc0a141408a0fdfd9e9fdb79ff1ff3b4
80bbe6b685e367167432dcab11eea2feafd1f457
22282 F20110109_AABIWM lakshmi_s_Page_18thm.jpg
f270b5665849d1163c0fb5d8c9b4731c
63f45fb0941f9dde8dc90a7d1010820de1e0f611
10796 F20110109_AABIRP lakshmi_s_Page_25.pro
891bca77596ac2ceabf1090270511a3c
f6499cf30f696c569d9a124ce942cd4d22aa8676
192869 F20110109_AABIMT lakshmi_s_Page_47.jpg
261792a3fc8b74d3c9ea1f597cb904dd
d70976efc1a9e992889edbcee4fca98cae0498d2
71838 F20110109_AABIWN lakshmi_s_Page_19.QC.jpg
78889eceabd0d6d15b7095b5ef3a3a96
db14961a6a10228ebcb3c6c7584f22c385ba5c6d
31832 F20110109_AABIRQ lakshmi_s_Page_26.pro
cfea6bf5b972053c3c77f4fbca55acee
35beb043c2fac70fe4e4cb19cfd90d806b4be77d
23078 F20110109_AABIWO lakshmi_s_Page_19thm.jpg
7e1e7314429d0eb460087501ffc22259
6e6057330bcf35e0a024ee6fa9a79484d8dec811
18754 F20110109_AABIRR lakshmi_s_Page_27.pro
aa5ecabbbad3c9f6b2f0aacc285f34f6
b958bd461ab10c4fbca02b4c38a4d4c7a75adac7
73622 F20110109_AABIWP lakshmi_s_Page_20.QC.jpg
d4a9d2970a56c9431140fa3d8b7c9e80
d42f028c82802a8ffa99489d1db618efa32ccfcd
43675 F20110109_AABIRS lakshmi_s_Page_29.pro
d89c8ec31de712d60164df88e53e350c
51f3ffdaa9f4677a92eae0392e17d0d154113c7f
207888 F20110109_AABIMU lakshmi_s_Page_48.jpg
59c9b57753ed0e0eda68b5cdce4496f3
f58c188692af7516705ef12debae97cd9bababc2
23329 F20110109_AABIWQ lakshmi_s_Page_20thm.jpg
a50f9d3d5f0c0e4504600b2f0427fdd6
6d36820404e155e37d3d3f8a5b7f949a01cb296c
37354 F20110109_AABIRT lakshmi_s_Page_30.pro
272c47aa37089f0df177ca3fdd2490b3
315bd6176f7a3ce6872d0876beeb6aa5ef67856e
179721 F20110109_AABIMV lakshmi_s_Page_49.jpg
1ac5af339278aa350c4d346b0bad8ebc
729956d98261d28d1ba00b38c3fc1411fa5b59eb
74757 F20110109_AABIWR lakshmi_s_Page_21.QC.jpg
157f916eac76fd94ec4d97da974f659d
64c39323ef3475486235d7a1b5f513e2e07ea508
34036 F20110109_AABIRU lakshmi_s_Page_31.pro
48243fe29211d645259ebfb2b93c5cc6
0fcdefe72fe1d300cec1d46f7e74bf923683c73e
207660 F20110109_AABIMW lakshmi_s_Page_50.jpg
3dda8b64de99c0b3cf489d68382bc785
e20a5baf738955dcfe1964e3f1478f5cd3555d8d
23211 F20110109_AABIWS lakshmi_s_Page_21thm.jpg
da18c4d1bf30b4f12c29f15db99d2fe6
e8df9cff55cce1ef49c419d1282d01cb766199f6
45154 F20110109_AABIRV lakshmi_s_Page_32.pro
7360951c264139e8398596f5e82cd6db
8bc1feadd7ee1012c9c170a8018128f31bdcf5ee
186527 F20110109_AABIMX lakshmi_s_Page_51.jpg
2ef05ae87b829c5e73062ce86af709d8
23618b9f23b22d95f15adfd18de1155774dfb97a
75880 F20110109_AABIWT lakshmi_s_Page_22.QC.jpg
bbd1d671d0379a0f9401b86142c56d24
6f37cc8454b7169577e489c4f7948d9497e3b517
42194 F20110109_AABIRW lakshmi_s_Page_33.pro
43d12fe478eb7873c5955ccc727509a3
96191ad4ee8936e268596e4af29f0b95a37a6ea7
96532 F20110109_AABIKA lakshmi_s_Page_51.jp2
0b7d1cea0eb28d8eb33efabeb071294a
66f48c2b119287c4ef0212e31071d0cba5de20d1
201734 F20110109_AABIMY lakshmi_s_Page_52.jpg
18d7ebbb0e06b73cf582bf845520b1b8
bc8c46db3fad55681a5d5da0419ad3a72ad78cab
23711 F20110109_AABIWU lakshmi_s_Page_22thm.jpg
74f8e6c8372e589a2b95456294d20b4a
888a660cb5d4b149dd4e078e1cc8473d9e67cc54
46936 F20110109_AABIRX lakshmi_s_Page_34.pro
629db0ae9ca498b61caf714396a5dbc4
fd1e89bfacafcda5688fd6d7e29c89f86d918142
31023 F20110109_AABIKB lakshmi_s_Page_11thm.jpg
92014d05ef534262cec7efecbe137045
416c707f32dbf7166fe5e43b0590af8e7b26ad2c
179916 F20110109_AABIMZ lakshmi_s_Page_53.jpg
2c38a5f1856af330f6d063686c73fdb1
310e775a90b286b1baf18173ac10f123a7267ed0
76623 F20110109_AABIWV lakshmi_s_Page_23.QC.jpg
4431c5ff798c08f1479be45f25b3725f
9841f23f74ac23a2f3894eafa7c52c15bb5a4985
30859 F20110109_AABIRY lakshmi_s_Page_35.pro
7c8dd653e91ca8f35aef795132cc698e
c753033b09d424edd667c43a987bfbb1b789a80f
113949 F20110109_AABIKC lakshmi_s_Page_21.jp2
aca1a141b2084d671be18c9031bd3e83
9a3f78e07b988f768c3b8795b9dacd4752497c83
24023 F20110109_AABIWW lakshmi_s_Page_23thm.jpg
25569a0b58157f33fd34316c348fd6aa
fd163db30d0f48d0de69ed7a88c8f37e7b472b9e
96407 F20110109_AABIPA lakshmi_s_Page_57.jp2
f855ff695b3d85c13414fe6fcff63282
c7ca4d1722123042c5945f450661690861980257
1608 F20110109_AABIKD lakshmi_s_Page_39.txt
4ce4d7e69485f8cc407dc61c79707a69
4d43d211c5072cdc2dbf787c47f87b2f09e75982



PAGE 1

WEB-BASED SEARCH ENGINE FOR RADIOLOGY TEACHING FILE By SHRIRAM LAKSHMI A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2002

PAGE 2

Copyright 2002 by Shriram Lakshmi

PAGE 3

To My Wonderful Family

PAGE 4

ACKNOWLEDGMENTS I would like to thank Dr. Doug Dankel for encouraging me to start this work and providing timely guidance and help. I would also like to thank Dr. Chris Sistrom for spending a lot of time in reviewing our work and providing excellent feedback and suggestions right from the beginning. I also thank Dr. Joe Wilson for being in my committee and giving suggestions from time to time. I would like to thank Ms. Aarathi Balakrishnan for her valuable criticism and suggestions on my work. I also thank Mr. Balaji Krishnaprasad for providing me with the necessary resources for completing this thesis. I would also like to thank all my friends who have helped me in so many ways throughout my graduate study. Finally, I would like to thank my family for all their love, encouragement and support throughout my life. iv

PAGE 5

TABLE OF CONTENTS page ACKNOWLEDGMENTS.................................................................................................iv LIST OF FIGURES..........................................................................................................vii ABSTRACT.....................................................................................................................viii CHAPTER 1 INTRODUCTION...........................................................................................................1 1.1 Problem Domain......................................................................................................2 1.2 System Design.........................................................................................................3 1.3 Design Advantages..................................................................................................5 1.4 Document Structure.................................................................................................6 2 BACKGROUND AND TECHNOLOGY OVERVIEW.................................................7 2.1 Existing RTF System...............................................................................................7 2.2 Technologies Used...................................................................................................9 2.2.1 Relational Databases....................................................................................10 2.2.2 Structured Query Language.........................................................................10 2.2.3 Stored Procedures........................................................................................11 2.2.4 Triggers........................................................................................................12 2.2.5 Active Server Pages.....................................................................................13 2.2.6 VBScript.......................................................................................................14 2.2.7 Open-Data-Base-Connectivity (ODBC)......................................................14 2.3 Summary and What Is Next...................................................................................16 3 SYSTEM FEATURES AND DESIGN.........................................................................17 3.1 Main Database Design...........................................................................................17 3.1.1 TF Table.......................................................................................................18 3.1.2 Images Table................................................................................................19 3.1.3 Other Tables.................................................................................................20 3.1.3.1 Contributors........................................................................................20 3.1.3.2 Patient_Info.........................................................................................21 3.1.3.3 Modality..............................................................................................21 v

PAGE 6

3.1.3.4 Rating..................................................................................................21 3.1.3.5 Hospital_Info......................................................................................21 3.2 WebSE Walkthrough.............................................................................................22 3.2.1 Free-Text Search..........................................................................................22 3.2.2 Advanced Search..........................................................................................28 3.3 Summary and What Is Next...................................................................................29 4 INSIDE WebSE.............................................................................................................30 4.1 Indexing System.....................................................................................................32 4.1.1 WordList......................................................................................................32 4.1.2 WordInfo......................................................................................................33 4.1.3 ColumnInfo..................................................................................................35 4.1.4 ImageCount..................................................................................................35 4.2 Query Processing: How It Works..........................................................................36 4.2.1 Traditional System.......................................................................................37 4.2.2 WebSE.........................................................................................................38 4.2.2.1 Single term search...............................................................................38 4.2.2.2 Multiple term search...........................................................................39 4.3 Ranking..................................................................................................................40 4.3.1 Frequency of Occurrence.............................................................................41 4.3.2 Column of Occurrence.................................................................................41 4.3.3 Adjacency of Words.....................................................................................42 4.3.4 Weighted Words..........................................................................................42 4.4 Implementation of Ranking...................................................................................42 4.4.1 Ranking in Single Word Searches...............................................................42 4.4.2 Ranking in Multiple Word Searches............................................................43 4.4.2.1 Additional strategy..............................................................................43 4.4.2.2 Implementation...................................................................................45 4.4 Summary and What Is Next...................................................................................46 5 CONCLUSIONS AND FUTURE WORK....................................................................47 5.1 WebSE...................................................................................................................47 5.2 Extensions..............................................................................................................48 5.2.1 Synonyms.....................................................................................................48 5.2.2 Spelling Mistakes.........................................................................................48 5.3 Summary................................................................................................................49 LIST OF REFERENCES...................................................................................................50 BIOGRAPHICAL SKETCH.............................................................................................51 vi

PAGE 7

LIST OF FIGURES Figure page 1-1 High Level Design........................................................................................................4 2-1 Existing RTF Architecture............................................................................................8 3-1 Main Database Design................................................................................................18 3-2 Basic Search Screen....................................................................................................22 3-3 Search Results Screen.................................................................................................23 3-4 Case Details Screen....................................................................................................25 3-5 View Images Screen...................................................................................................26 3-6 Another View Images Screen.....................................................................................27 3-7 Advanced Search Screen............................................................................................29 4-1 The 3-Layer Index Architecture.................................................................................31 4-2 Index Tables and Relationships..................................................................................32 4-3 RTF and Index Tables................................................................................................34 vii

PAGE 8

Abstract of Thesis Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Master of Science WEB-BASED SEARCH ENGINE FOR RADIOLOGY TEACHING FILE By Shriram Lakshmi December 2002 Chair: Dr. Douglas D. Dankel II Major Department: Computer and Information Science and Engineering Teaching in any field can be successful only with the help of good illustrations. This is especially true in the medical field, where even an excellent professor can sound vague without good examples. As a result, the academic medical community started collecting together illustrative images of cases in a database. This database is known as the Radiology Teaching File or simply RTF and has proven to be a great asset to academic radiology departments. However, as the size of the database increases, maintaining the database and searching the database for cases with a particular characteristic become time-consuming and cumbersome. Hence, there is a need for a system that can provide an easy to use interface to maintain the database and also a retrieval system that can fetch the relevant cases. The focus of this thesis is to provide an easy-to-use search engine that can search the RTF efficiently. viii

PAGE 9

This search engine, called WebSE (Web-based Search Engine), was developed with usability, versatility, and scalability in mind. The user can search the database of cases using an easy-to-use general search, like Google (the web search engine), or the user can use a more complicated interface to run a more precise search. In the former, a relevancy ranking mechanism helps the user to see the most important cases first. As a result, this tool helps in making teaching and learning more effective. ix

PAGE 10

1 CHAPTER 1 INTRODUCTION The academic medical community has always felt the need for a database of cases for illustration. A description of any anomaly is never complete without a few practical case reviews. These case reviews are a must not only for making the students better understand the pathologic conditi on at hand, but also for servi ng to expose the student to some real world cases before the student begins to actually diagnose real patients. A case usually includes a few X-rays, and/or other forms of medical images, of the affected part of the patient. There is no substitute for th ese images while teaching. The statement A picture speaks a thousand words is especially true here, since medical images are complex and the students attenti on needs to be driven to the right details. To make teaching effective and complete every medical faculty member needs a database of cases illustrating each pathologic condition. This database of illustrative cases is called the Radiology Teaching File, referr ed to as RTF from this point on. The RTF can be used to store not only cases that are a perfect exampl e of a condition but also cases that are exceptions to the general behavior. This makes the new generation of physicians aware of those exceptions and mo re prepared to handle them. Considering that physicians constantly add cases to the RTF and search it frequently for cases of a particular kind, it is imperative to have a system that can make this process easy and quick. This leads to bett er use of the physicians time and also leads to overall effectiveness of teaching.

PAGE 11

2 1.1 Problem Domain The RTF is an ever-growing database, with a wide variety of cases. Each case has its own set of images. For example, the RTF at the Department of Radiology, University of Florida, has around twenty thousand patient cases with each case having six images on average. In addition, new cases are added on a daily basis. This makes maintaining all the image files and the database of cases cumbersome. Additionally, the size of the RTF places a burden on the physicians when they attempt to locate a case with a particular characteristic. Traditionally, cases of interest were selected from a list of all available cases, which could be viewed sequentially or searched based on special codes assigned to the cases, like the ACR code. 1 Obviously, this involves examining many unrelated cases before finding the right case. In such a scenario, the RTF seems to create more problems than it solves. The RTF can prove useful only if the physicians find it easy to add cases, maintain the database, and retrieve cases quickly [Dugas et al. 2001] and efficiently. The user-interface of the system should not require extensive computer knowledge, since its primary users are physicians. At the same time, the system should be quick, efficient, and require little or no maintenance. This thesis looks closely at the problem of case retrieval, while Ms. Aarathi Balakrishnan examines the user-interface and maintenance of the system in her thesis Design and Analysis of User-Interface for RTF [Balakrishnan 2002]. The case retrieval system is referred to as WebSE, standing for Web-based Search Engine, from this point on. 1 Members of the American College of Radiology evolved the ACR codes to code images in a teaching film library.

PAGE 12

3 The Microsoft Access versio of the RTF, currently used at the University of Florida, has a limited search capability. Though this system provides an easy-to-use interface, it is greatly inhibited by the limitations in the underlying software. WebSE aims to eliminate the shortcomings of this system by using a new design while at the same time providing a user-friendly interface. 1.2 System Design WebSE was developed with the above requirements in mind. It is a database-driven, web-based search engine. The two main components of the overall design are the Data Server and the Web Server. Figure 1.1 illustrates the overall system design. First, let us look at the two components, examining how they work together. The data server consists of two databases. The main database consists of all the patient cases and is called the RTF. In addition to this database, there is another database that is added to speed up query processing in the RTF. This is called the pseudo-index database, which contains meta-data about the data in RTF. The data server stores all the data using SQL Server. The web server accepts queries from the World Wide Web sent to it from client browsers. A set of scripts, written in VB Script, resides on this web server. These scripts are also called Active Server Pages or ASP. Clients send their requests through a browser to the web server. The scripts on the web server interact with the data server and respond to the client by sending the search results back to the client.

PAGE 13

4 Figure 1-1 High Level Design Let us examine how the two components work together at run-time. Firstly, the user inputs his query on the browser interface on his computer. This query (which is usually a set of keywords) is sent over the World Wide Web to the web server. When the web server receives a request from a client, it initiates an instance of the search script and executes it. This script, which runs totally on the web server, first establishes a connection with the data server, running SQL Server, using an ODBC (Open Data Base Connectivity) connection. Then the script analyses the query sent by the user and generates a SQL query.

PAGE 14

5 The script sends this generated SQL query to the database server through the ODBC connection. The instance of the SQL Server, running on the server, accepts this query from the script, executes the query, and returns the result through the ODBC connection to the ASP script. The ASP script formats the result into HTML (Hyper Text Markup Language), which is sent over the World Wide Web back to the client browser initiating the request. The browser on the clients machine renders the HTML source code and presents it to the user in the proper format. 1.3 Design Advantages There are a number of design advantages to this architecture. First, the user-interface offers a whole array of options to the user for searching. The user can enter a few keywords like in Google or can use an advanced search to search by image modality, age, or any other possible field in the database. The user is also provided with a special code search through which the user can build an ACR code [ACR 94] and search the RTF using that code. This ensures versatility of the search engine. Second, the user-interface is designed by modeling the existing system. This eases the transition for the physicians from the old system to WebSE. For the additional components in this design, like the keyword search page, the user-interface is modeled after existing popular interfaces, like the interface presented by the Google search engine. This ensures user-friendliness of WebSE. Third, when the user is presented with the results, the results are sorted in order of decreasing relevance. In this way, the user receives the most relevant case on top of the list. This can be a big time-saver for the user when the database is really large or when the retrieved result set has many cases.

PAGE 15

6 This system is also scalable. The use of pseudo-indexing greatly reduces the processing time involved in searching the database. In addition to making the search quicker, it also makes the search less dependent on the size of the database. This ensures that system performance does not degrade as the size of RTF increases. Finally, since this WebSE is a web-based system, to take advantage of the RTF, users only need to have a browser installed on their client systems. Also, the client can run the browser on any platform. 1.4 Document Structure The following chapters look at the design and performance of WebSE and its interface. Chapter 2 discusses the existing teaching file system at the University of Florida and the technologies needed to develop WebSE. Chapter 3 looks at WebSE from the user-perspective, examining the user-interface. Chapter 4 provides an in-depth view of the architecture of WebSE. Chapter 5 presents conclusions and proposes future extensions.

PAGE 16

CHAPTER 2 BACKGROUND AND TECHNOLOGY OVERVIEW The existing implementation of the RTF system in the Department of Radiology at University of Florida has a reasonably good user-interface. Unfortunately, the underlying technology used, inhibits its capabilities to a great extent. This chapter looks at the design of this system and examines its pros and cons. Then, it examines the software tools used for implementing WebSE. 2.1 Existing RTF System The existing implementation of the teaching file uses a Microsoft Access database. The user-interface was also implemented in Microsoft Access, with the help of Microsoft Access forms. The user-interface was basic and simple with most of the functionalities provided. Since many people wanted access to this well-designed teaching file it was expanded to include sharing. Before looking at the architecture of this design, we need to understand linking as defined in Microsoft Access Help. In an Access database, linking data enables you to read and in most cases, update data in the external data source without importing. The external data source's format is not altered so that you can continue to use the file with the program that originally created it, but you can add, delete, or edit its data by using Microsoft Access as well. You can also link tables from other Microsoft Access databases. For example, you might want to use a table from another Microsoft Access database that is shared on a network [Microsoft 2000b]. This is particularly useful if you want to store all of your tables in one 7

PAGE 17

8 database on a network server, while keeping forms, reports, and other objects in a separate database that is copied among users of the shared database. This concept of linking was used here. The actual data was stored in a separate database. This database had only the tables of the teaching file. The forms and other user-interface related material was placed in another database, which is referenced as the UI database from this point on. This UI database linked to the main database to access the data. Now, the data was present in one central location, and the UI was distributed among all the clients. Figure 2-1 Existing RTF Architecture The following are some of the distinct advantages of this architecture. The UI access database is one small file, which can be distributed among the users of the teaching file easily. Since the data is in one central location, the problem of duplication is eliminated. In other words, everyone works on the same data, even though they are accessing it from different systems.

PAGE 18

9 Any change made to the data by any user (additions, deletions, or updates), will be seen by all the other users immediately. This proved to be an excellent, initial implementation of the teaching file. However, this design is not free from drawbacks, the following are some of its disadvantages. The most significant of these is that Microsoft Access does not support a large number of simultaneous users, thereby limiting the number of people that can access the database at one time. Every person who wants to access the teaching file must have Microsoft Access installed on their system, which also means that the user must be running Windows. Updating the user-interface is very cumbersome, because it involves updating all the copies of the client database. This may even be impossible in some cases. Another drawback is that, Microsoft Access is intended for small databases only. Beyond a certain size, its performance significantly degrades. With the size of the teaching file growing all the time, this would become a problem eventually. With more users wanting to access the teaching file, a system that could support more concurrent users and a system that could be platform independent needed to be developed. Also, the system needed to be scalable and to retain the user-friendly features of the current system. 2.2 Technologies Used This section describes the various technologies used in WebSE. In WebSE, the main data resides on Microsoft SQL Server, also known as Sequel Server [Microsoft 2000c]. The following are some of the reasons why SQL Server was chosen for WebSE. It is an industrial strength database management system, which can handle far bigger databases than Microsoft Access. It provides a more robust access to multiple users at the same time. It supports stored procedures and triggers, which make database maintenance easier.

PAGE 19

10 It also has support for handling permissions and security. One can set permissions for an individual column or for the whole database. This is especially important because, some tables have confidential patient information, which need to be kept private. RTF stores the data in a relational format. SQL Server supports Relational Databases. 2.2.1 Relational Databases Although there are different ways to organize data in a database, relational databases are one of the most effective. Relational database systems are an application of mathematical set theory to the problem of effectively organizing data. In a relational database, data is collected into tables (called relations in relational theory) [Elmasri and Navathe 2001]. A table represents some class of objects that are important to an organization. For example, a company may have a database with a table for employees, another table for customers, and another for stores. Each table is built of columns and rows. Each column represents some attribute of the object represented by the table. Each row, or tuple, represents an instance of the object represented by the table. When organizing data into tables, you can usually find many different ways to define tables. Relational database theory also defines a process called normalization, which ensures that the set of tables you define organizes your data effectively. 2.2.2 Structured Query Language To work with data in a database, you have to use a set of commands and statements (language) defined by the DBMS software. Several different languages can be used with relational databases; the most common is SQL (Structured Query Language) [Elmasri and Navathe 2001]. The American National Standards Institute (ANSI) and the

PAGE 20

11 International Standards Organization (ISO) define software standards, including standards for the SQL language [Microsoft 2000c]. SQL Server 2000, used for WebSE, supports the Entry Level of SQL-92, the SQL standard published by ANSI and ISO in 1992 [Microsoft 2000c]. The dialect of SQL supported by Microsoft SQL Server is called Transact-SQL (T-SQL) [Microsoft 2000c]. Note that SQL Server is the name of the database system sold by Microsoft and is very different from SQL, which is a database access language standard. The two terms should not be confused with each other. In addition to the above-mentioned features, WebSE also uses a couple of other features provided by SQL Server. They are Stored Procedures and Triggers. A brief description of these follows. 2.2.3 Stored Procedures When you create an application with SQL Server, the Transact-SQL programming language is the primary programming interface between your applications and the SQL Server database. When you use Transact-SQL programs, two methods are available for storing and executing the programs. You can store the programs locally and create applications that send the commands to SQL Server and process the results, or you can store the programs as stored procedures in SQL Server and create applications that execute the stored procedures and process the results [Microsoft 2000c]. Stored procedures in SQL Server are similar to procedures in other programming languages in that they can Accept input parameters and return multiple values in the form of output parameters to the calling procedure or batch. Contain programming statements that perform operations in the database, including calling other procedures.

PAGE 21

12 Return a status value to a calling procedure or batch to indicate success or failure (and the reason for failure). The benefits of using stored procedures in SQL Server rather than Transact-SQL programs stored locally on client computers are They allow modular programming. You create a procedure once, store it in the database, and call it any number of times in your program. They allow faster execution. If the operation requires a large amount of Transact-SQL code or is performed repetitively, stored procedures can be faster than batches of Transact-SQL code. They are parsed and optimized when they are created, and an in-memory version of the procedure can be used after the procedure is executed the first time. Transact-SQL statements are repeatedly sent from the client each time they run and are compiled and optimized every time SQL Server executes them. They can reduce network traffic. An operation requiring hundreds of lines of Transact-SQL code can be performed through a single statement that executes the code in a procedure, rather than by sending hundreds of lines of code over the network. They can be used as a security mechanism. Users can be granted permission to execute a stored procedure even if they do not have permission to execute the procedure's statements directly. 2.2.4 Triggers SQL Server provides two primary mechanisms for enforcing business rules and data integrity: constraints and triggers. A trigger is a special type of stored procedure that automatically takes effect when the data in a specified table is modified [Microsoft 2000c, Elmasri and Navathe 2001]. A trigger is invoked in response to an INSERT, UPDATE, or DELETE statement. A trigger can query other tables and can include complex Transact-SQL statements. The trigger and the statement that fires it are treated as a single transaction, which can be rolled back from within the trigger. If a severe error is detected (for example, insufficient disk space), the entire transaction automatically rolls back.

PAGE 22

13 Triggers are useful in the following ways Triggers can cascade changes through related tables in the database; however, these changes can be executed more efficiently using cascading referential integrity constraints. Triggers can enforce restrictions that are more complex than those defined with CHECK constraints. Unlike CHECK constraints, triggers can reference columns in other tables. For example, a trigger can use a SELECT from another table to compare to the inserted or updated data and to perform additional actions, such as modify the data or display a user-defined error message. Triggers can also evaluate the state of a table before and after a data modification and take action(s) based on that difference. Multiple triggers of the same type (INSERT, UPDATE, or DELETE) on a table allow multiple, different actions to take place in response to the same modification statement. 2.2.5 Active Server Pages The Web server component of WebSE supports Active Server Pages (ASP). The server-side scripts are written in VBScript [Microsoft 2000a]. A more detailed description of server side scripts and ASP follows. Microsoft Active Server Pages (ASP) is a server-side scripting environment that you can use to create interactive Web pages and build powerful Web applications [Microsoft 2002]. When the server receives a request for an ASP file, it processes server-side scripts contained in the file to build the Web page that is sent to the browser. In addition to server-side scripts, ASP files can contain HTML (including related client-side scripts) as well as calls to COM components that perform a variety of tasks, such as connecting to a database or processing business logic. A server-side script starts execution when a browser requests a .asp file from the Web server. The Web server then calls ASP, which processes the requested file from top to bottom, executes any script commands, and sends a Web page to the browser.

PAGE 23

14 Because the scripts run on the server rather than on the client, the Web server does all the work involved in generating the HTML pages sent to browsers. Server-side scripts cannot be readily copied because only the result of the script is returned to the browser. Users cannot view the script commands that created the page they are viewing. ASP supports various scripting languages including VBScript, which is used by WebSE. 2.2.6 VBScript Microsoft Visual Basic Scripting Edition, the newest member of the Visual Basic family of programming languages [Microsoft 2000a], brings active scripting to a wide variety of environments, including Web client scripting in Microsoft Internet Explorer and Web server scripting in Microsoft Internet Information Server. It has all the good features of Visual Basic making it easy to use and learn. At the same time, it blends very well with all the other components of WebSE. VBScript talks to host applications using ActiveX Scripting. With ActiveX Scripting, browsers and other host applications do not require special integration code for each scripting component. ActiveX Scripting enables a host to compile scripts, obtain and call entry points, and manage the namespace available to the developer. ActiveX Scripting is used in Internet Explorer and in IIS. VBScript and ActiveX Scripting can also be used as a general scripting language in other applications. 2.2.7 Open-Data-Base-Connectivity (ODBC) The scripts interact with the Data Server over an ODBC connection. ODBC is a standard definition of an application-programming interface (API) used to access data in relational or indexed sequential access method (ISAM) databases [Microsoft 2001]. SQL Server supports ODBC as one of the native APIs for writing C, C++, and Visual Basic applications that communicate with SQL Server.

PAGE 24

15 ODBC enables a database to become an integral part of an application. SQL statements can be incorporated into the application, allowing the application to retrieve and update values from a database. Values from the database can be placed in program variables for manipulation by the application. Conversely, values in program variables can be written to the database. ODBC enables applications to access a variety of data sources, including a wide range of relational databases and local ISAM data. The ODBC driver for SQL Server is included with SQL Server. ODBC defines a call-level interface, or CLI. A CLI is defined as a set of function calls and their associated parameters. A CLI definition uses a native programming language to call functions; therefore, a CLI requires no extensions to the underlying programming language. This contrasts with an embedded API, such as Embedded SQL, where the API is defined as an extension of the source code for a programming language, and applications using the API must be precompiled in a separate step. ODBC aligns with the following specification and standard for relational SQL database CLI definitions: The X/Open CAE specification Data Management: SQL Call-Level Interface (CLI) [Microsoft 2001] and ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI) [Microsoft 2001]. SQL Server programs that are written using the ODBC API communicate with SQL Server through C function calls. The SQL Server-specific versions of the ODBC functions are implemented in a SQL Server ODBC driver. The driver passes SQL statements to SQL Server and returns the results of the statements to the application. ODBC applications are also interoperable with drivers for heterogeneous data sources.

PAGE 25

16 2.3 Summary and What Is Next This chapter examined the existing RTF system and its advantages and disadvantages. It discussed the reasons for choosing SQL Server over Access and examined the various other technologies like Relational Database, Stored Procedures, SQL, Triggers, IIS, ASP, VBScript, and ODBC. The next chapter looks at WebSE from a user point of view and also includes a walkthrough.

PAGE 26

CHAPTER 3 SYSTEM FEATURES AND DESIGN The previous chapters presented a basic design overview of WebSE. This chapter takes a close look at WebSE from the user perspective. The actual inner design for improving performance and scalability and also the implementation details are left for the next chapter. Here, we first examine the underlying database design to better understand the domain of WebSE. Then, we take a screen-by-screen walk through and analyze the functionality offered by WebSE. The User-interface is also scrutinized at every point. 3.1 Main Database Design For any database driven project to be successful, the underlying database design needs to be sound. Needless to say, this was the first phase of implementing this thesis, to analyze the tables and normalize the database design. Figure 3.1 captures the essence of the database design. It shows the main database tables and the relationships existing between them. A brief description of the significance of the main tables and their main fields follows. Note that this is a description of the data tables alone and does not include the pseudo-index tables that are added to the database for improving scalability and performance. 17

PAGE 27

18 Figure 3-1 Main Database Design 3.1.1 TF Table The TF table, or Teaching File, is the main table that holds all the main data related to the cases, excluding image related information and other information like patient information, hospital information, etc. One tuple exists in this table for every different case. This table includes: CASE_NUMBER: This is a unique number assigned to every case in the teaching file. In database terms this is referred to as the primary key of this table. Patient_id: This is a unique number assigned to every patient. Every patient can be uniquely identified with this id. The patient related information is stored in another table.

PAGE 28

19 AGE: This is the age of the patient in days. Since patients can include infants, whose age will be in days, the age is stored in days. For other patients, to get the age in years, we can always divide the age in days with 365. SEX_MALE: This is the gender of the patient. For males, a value of one is assigned and a zero indicates a female patient. ANATOMIC_CODE: This is an anatomical code assigned to every case that is an ACR code developed by the American College of Radiology. PATHOLOGIC_CODE: This is also part of the ACR code. It represents the Pathology. DIAGNOSIS: This field has the final diagnosis of the case. The physician provides this value when adding the case to the teaching file. CHIEF_COMPLAINT: In other words, Symptoms, or the patients initial complaint. COMMENT: This field holds any other comments that the physician may want to add about the case. CONTRIBUTOR: The id of the physician who entered this case. This is stored because it is sometimes useful to know which physician entered this case into the teaching file. IMAG_ANON: Holds the image-anonymous status. Rating_id: This is an optional field that the physician can enter, which identifies how good an example this case is, on a scale of 1 to 10. HXNO: This is the id of the hospital in which this case occurred. The actual hospital details are stored in another table. PRIVATE: This is a flag that sets a case as private or public. Only the contributor of the case can view a private case. 3.1.2 Images Table Every case can have more than one associated image. This table stores the information related to all the images for all the cases. The case_number has a foreign key constraint and references the TF tables case_number. The fields of this table are as follows

PAGE 29

20 CASE_NUMBER: This is the unique id of the case. MODALITY: This is the modality of the image. Every medical image has a modality associated with it. Examples of image modality are X-ray, MRI, CTScan, etc. IMAGE_ANNOT: This is optional information that can be added to any image to describe something about the image. ORIG_IMAGE_LOC: This is the full network path of the image before it was added to the teaching file. IMAGE_DIR: It should be noted that in the teaching file, the images are all stored in a separate set of directories. The database only holds the location to the images and not the images themselves. This is the directory in which the image is presently stored. IMAGE_FILE_NAME: The current file name of the image file. IMAGE_NUMBER: Since a given case can have more than one image, the images should be ordered among themselves to preserve the order of the images. This field contains this information. The above two tables are the most commonly searched tables in the database, since most users are interested in searching for cases and their images. In addition to this main information, other information is stored in a different set of tables. These tables are rarely searched and only by those who have the required privileges. A brief description of these tables follows. 3.1.3 Other Tables 3.1.3.1 Contributors This table holds information about all the contributors. Contributors are physicians with permissions to add to, delete from, and modify cases in the RTF. It contains information regarding their login, password, name, and the type of permissions they have to access the teaching file.

PAGE 30

21 3.1.3.2 Patient_Info This table holds patient information and is not open for public viewing. It should be noted that only the cases are open to the public, the patient information is to be kept confidential at all times. The contents of this table can be viewed only by the administrator or by contributors with appropriate permissions. 3.1.3.3 Modality This is a lookup table storing all the image modalities and their abbreviation. Medical images can be of different types and the type is called its modality. Examples of image modality are X-Ray, CT Scan, etc. 3.1.3.4 Rating This lookup table stores rating descriptions for all possible ratings in the teaching file. A rating can be given to every case inserted into the RTF. It describes the quality of the case some cases are very good illustrations of an anomaly and some are not that good. Having one lookup table for the ratings makes it possible for all the physicians adding cases to the RTF, to use the same scale for rating. 3.1.3.5 Hospital_Info As the name suggests, this table holds hospital information. Right now, only the hospital name is present in this table, as only that was thought necessary, but this table can be extended to hold additional information about hospitals. In addition to the above tables, there are a number of tables holding temporary information and lookup information. The tables mentioned above form the RTF.

PAGE 31

22 3.2 WebSE Walkthrough WebSE offers a wide range of search options to the user from very simple free-text search to a more complex advanced search. Let us look at each of type of search and examine its features. 3.2.1 Free-Text Search Whenever a user wants to search for a case, the first item that comes to his/her mind is the name of the anomaly itself or a set of keywords describing this anomaly. The free-text search offers the user the ability to search the database of cases with these keywords, providing the user with easy and effective communication with the search engine. The user-interface is very similar to Google. This style is used because almost everyone is familiar with this interface, making it ideal for the medical community. Figure 3-2 Basic Search Screen

PAGE 32

23 Figure 3.2 shows the first screen of WebSE. The user enters a set of keywords separated by spaces in the provided text box, then clicks on the search button or presses the enter key. This submits the keywords to RankedSearch1.asp on the web server. Figure 3-3 Search Results Screen

PAGE 33

24 The script in the asp file first establishes a connection with the database using an ODBC connection, then dynamically constructs a SQL query with the keywords submitted by the user. This query is sent over the ODBC bridge to SQL Server. SQL Server executes the query and returns to the asp file the results as a set of records. The results are wrapped in HTML and sent to the users browser. Figure 3.3 shows the screen displaying the search results. In the figure, the user has submitted the phrase cell carcinoma. As can be seen in the search results, all the cases listed at the top contain the search phrase in the diagnosis field. This is because the search results have been sorted for relevance. We examine the strategies used to rank the cases based on relevance later in this chapter. The actual implementation of the strategy is explained in the next chapter. There are three views that show the results to the user, during free-text search. These are Search Results View, Case Details View, and Case Images View. The user can see the search results in the first view. This screen does not give all the details about all the cases. Only a few fields of each case are shown. If the user wants the complete details about a case, he can browse through the list and click on View Case Details. This takes him to the second screen, which shows all the textual information available, about that particular case. The user can also click on Total Images to view the images one by one. This takes him to a screen where he can browse through the images for that case.

PAGE 34

25 Figure 3-4 Case Details Screen As can be seen in Figure 3.4, the view case details page displays all the information shown on the search page. In addition to this information, details like comments are also shown here. The user is provided with two options: he can either view the images of this case by clicking on Total Images or he can go back to the search page by clicking on Back to Search Page to look at the other cases. Figure 3.5 shows the browse images view. Usually, a case contains more than one image. When a user wants to see all the images related to a case, he is taken to the screen shown in this figure. Here, the first image of the case is shown. Below the image, four buttons are provided for navigation through the images.

PAGE 35

26 Figure 3-5 View Images Screen Note that in Figure 3.5, the first and previous buttons are disabled. This is because, the first image for this case is displayed, so it is logical to disable them. In Figure 3.6, the next and last buttons are disabled showing that it is the last image of the case. When showing images that are neither first, nor last, all of the buttons are enabled. This ensures that unnecessary confusions and problems do not arise while browsing through the images. Again, at any point the user has the option of going back to the search results view or to the case details view. This is true for all the three views the user can, at any time switch from one view to the other. This not only makes browsing through the set of cases easy, it also makes the process of browsing efficient.

PAGE 36

27 Figure 3-6 Another View Images Screen The search results view is customizable by the administrator. When the search results are shown, the script first checks the value of a display parameter for each field in the RTF. Only when this parameter is true for a field is it shown in the results. These parameters can be set or unset by the administrator, thereby changing the default behavior of the search results view. Additionally, some users might want to use the RTF to test their skills. To do this, they would like to view all the details of a case except the diagnosis. This way, they can try to determine what the diagnosis might be and then see if their answer matches the one in the RTF. To facilitate this, a link is provided at the bottom of the page that allows the user to search without the diagnosis. This offers the same user-interface, except that the

PAGE 37

28 diagnosis field is not shown until the user selects it [Harvard Medical School 2001, University of Washington 2000]. 3.2.2 Advanced Search Sometimes, the user may want to add other criteria into the search. For example, in addition to entering a search phrase, the user might want to limit his search results to cases involving only infants. Obviously, this cannot be done with the general search. For such queries, an additional search page called the advanced search is provided. Figure 3.7 shows the advanced search screen. Here, in addition to specifying keywords for the search, the user can specify an ACR code, Image Modality, Age range, Sex, and Contributor. None of these fields are mandatory. The user can enter values into any combination of fields and obtain search results. For example, the user can search for all cases contributed by a contributor A, where the patients sex is female. Or, the user might enter a search phrase heart cancer and mention an age range for male patients. This helps in finding very specific cases quickly leading to better use of the information in the RTF. The user can also search by ACR code. An ACR code builder is also provided to help the user build an ACR code for the type of cases for which he is looking. Here, the search results are shown using the same display scripts used by the basic search. Searching without diagnosis is also provided. By using a uniform style for displaying search results, WebSE eases the understanding the user-interface.

PAGE 38

29 Figure 3-7 Advanced Search Screen 3.3 Summary and What Is Next We first examined the database structure of RTF. Then, the two types of search capabilities were examined. The basic search provides a quick and easy way of finding the information while the advanced search helps the user to specify more complicated queries. Search results are displayed in decreasing order of relevancy helping the user look at the most relevant cases first. Also, a uniform and user-friendly interface helps the physician to concentrate on cases, rather than the search tool itself. In the next chapter we examine the interior design of WebSE.

PAGE 39

CHAPTER 4 INSIDE WEBSE All the features of WebSE shown in the previous chapters are not of much use if the search itself takes a long time to execute. The goal of this thesis was to design a search engine that could search through a database of cases efficiently and present the results in a user-friendly manner. The main tables to be searched include the TF table and the images table. The main columns that concern us are diagnosis, chief_complaint, and comment. All these columns contain more than one word, (i.e., there may be many phrases or sentences within each field) where each phrase or sentence contains more than one word. To search for keywords within a field, a normal like % query is used. This type of search capability is provided by most database systems today. Using this feature of the database system might seem to be a very simple solution and is fairly easy to implement. However, the like % query has a big disadvantage in that it is quite slow for larger databases. This is especially undesirable since the teaching file is an ever-growing collection of cases. Hence, a different search strategy has been implemented in WebSE. The search is made much faster if we index every individual word in a field. Since database systems do not generally support this type of indexing, the problem is reduced to indexing parts of a field, using a database system that only supports indexing of whole fields. 30

PAGE 40

31 To accomplish this, a set of special tables is created. These tables hold metadata about the data in the RTF tables. These tables, which will be referred to as pseudo-index tables from now on, act as one layer of the index. These tables are again indexed using SQL Servers index support, which forms the first layer of index. Above all, the main data tables are indexed on the primary key, which acts as the third layer of index. Figure 4.1 shows this 3-layer index architecture. Figure 4-1 The 3-Layer Index Architecture This 3-level indexing expedites the search process greatly on systems that do not support full-text indexing. Now, whenever the user submits a query, the whole indexing

PAGE 41

32 system can be used to directly fetch the relevant cases from the TF table in optimal time. Now, we examine the index tables and the whole system at runtime. 4.1 Indexing System There are 3 main tables that compose the pseudo-index, which is the second layer in the 3-layer indexing system. The Figure 4.2 shows the main tables and the relationships that exist between them. A brief description of each table, its significance, and its columns follow. Figure 4-2 Index Tables and Relationships 4.1.1 WordList This table tracks all the words occurring in the database. It keeps information relating to a word and is independent of the case in which the word occurs. For example, let us say that the word heart occurs many times in the database across many cases. Then, there will be only one entry for the word heart in this table. The information about each individual occurrence of the word heart is stored in another table. The following are the columns in this table.

PAGE 42

33 word: This field has a list of all the words in the database. If a word occurs in any of the indexed fields, in any record, in the database, then it occurs in this field. There is a clustered index built on this column. Clustered indices are supported by most of the commercially available database systems, including SQL Server. When an index is present in a column of a table, an index structure is maintained by SQL Server to point directly to the data page in which the word resides. Also, since the index is a clustered index, the data is physically sorted and arranged in that order in the data pages. A search for any one word on this index table requires only two I/O operations. One for fetching the index page and the other for fetching the data page. word_id: This is a unique id given to every word in this table. This is used when storing extra information about a word in another table. count: This tracks the number of times a word has occurred in the database. The count signifies the importance of the word. Very important words tend to occur far less often than common words and hence will have lower counts. weight: A weight is assigned to each word based on the number of times it occurs in the database. Commonly used words like of and the have a very low weight assigned to them. On the other hand, less frequently used words like carcinoma have a larger assigned weight. 4.1.2 WordInfo This table tracks each instance or occurrence of every word in the wordlist table. For every word in the wordlist table, there are one or more tuples in the WordInfo table. word_id: This is the unique identifier assigned to every word in the wordlist table. case_number: The case number uniquely identifies any given case in the teaching file database. Here, it stores the case_number of the case in which the word in the word_id field exists. column_id: This is a unique identifier given to every column in the teaching file that is being indexed. Here, it represents the column in which the occurrence of the word exists. position: The position field stores the position of a word in a column in a given case. Within a given field, the first word is assigned a position value of and subsequent words get position values incremented by . This field is useful when searching for an exact phrase match.

PAGE 43

34 It must be noted that this table has no primary key. This enables multiple occurrences of words within a case and within a column. Each occurrence of the word has its own entry in this table. Figure 4-3 RTF and Index Tables

PAGE 44

35 Figure 4.3 shows the index tables along with the main tables of RTF and the index built on each table. 4.1.3 ColumnInfo This table stores the list of columns in the TF database that need to be indexed. This list of columns is stored in a separate table for increased flexibility and customizability. Column_id: This is an auto-number generated by the database. It serves as a unique identifier for a column. Column_name: This is the actual name of the column as it occurs in the design of the TF table. This is used by the index populating scripts to obtain the name of the column to be indexed. Column_weight: This is a weight assigned to each column, by the administrator. This weight of the column plays an important role in ranking the query results. The weight of a column signifies its importance compared to other columns in the table. For example, assigning a weight of to Diagnosis and a weight of to Comments means that the diagnosis field is twice as important as the Comments field. 4.1.4 ImageCount ImageCount is an additional table storing pre-calculated image statistics about every case. It is not an index table, but just serves as an extra table to speed up querying. It stores the number of types of images of each modality for every case. This statistical information is to be given to the user when displaying search results. However, calculating these values at runtime slows down query processing. Hence, the values are pre-calculated and stored in this table. At runtime, the values can be obtained from here. Note that, initially, the index tables are populated based on the data in the RTF at that time. However, as updates are made to RTF, the index tables also need to reflect these changes. Keeping the index tables updated is very important since all the searching

PAGE 45

36 is done through these tables. Otherwise, this could lead to cases that are never shown in the search results or non-existent cases appearing in the results. In WebSE, this is done with the help of triggers. Whenever a new case is added to the RTF, triggers add the information about the words in the new case to the index tables. Similarly, when a case is deleted, the related information is deleted from the index tables. When an update is made to a case, all the information related to that case is deleted from the index tables and then updated data is re-inserted. We have seen the various components of the indexing system. Let us now see how the 3-layer indexing system performs during run-time. 4.2 Query Processing: How It Works When a user submits a search phrase, the web server creates an instance of the search engine script. Then, the search phrase entered by the user is split into individual words by assuming space as the delimiter. The script stores all the individual words in an array. Each word is scanned for (wildcard). Depending on the whether wildcard characters are found or not, a normal SQL query or a wildcard SQL query is built. This query is submitted to the Database engine. Every database engine develops a query execution plan before actually executing a query [Stonebraker and Hellerstein 1998]. An execution plan is nothing but a sequence of low-level operations that the database engine needs to perform to execute the query. The plan takes into consideration the indexes present on all the tables involved and also the sizes of the tables involved and optimizes the plan for time taken to execute the query. Here also, once the SQL Server receives a query from the web script, it analyzes the query and tries to formulate a plan. Due to the existence of the index system, the database engine executes the query in a particular way.

PAGE 46

37 We now examine how the query processor executes the query and see why it is quicker than a traditional execution plan. Note that there may be some slight variations in the actual processing path taken by the query processor of SQL Server from what is mentioned below [Stonebraker and Hellerstein 1998]. However, the main steps taken remain the same. We first look at the execution path for a traditional like % query and then look at our system. 4.2.1 Traditional System Let us examine the following SQL query, analyzing its run-time execution. Select from TF where diagnosis like %heart% or chief_complaint like %heart% or comment like %heart% The above query looks for all cases that have the word heart mentioned somewhere within the diagnosis, chief_complaint, or comment fields. Note that, % is the wildcard character in SQL. So, the job of the database engine now is to find all the cases that have the word heart mentioned anywhere in the given fields. But, the database engine does not know which cases in the TF table have the word occurrence. So, the only way to execute this query will be to look at each and every case in the TF table. To do this, it has to fetch every data page that contains any record of the TF table and search the relevant fields for the word heart. Since every page-fetch involves I/O, which is very expensive in terms of time, the whole process can be considerably slow. As the size of the database increases, the total number of I/O operations required to execute a query, also increases linearly. Let us now compare this with what happens in WebSE.

PAGE 47

38 4.2.2 WebSE Query processing in WebSE is performed in two parts, first we look at queries where the user only has one search term and then we look at multiple-term queries. 4.2.2.1 Single term search Let us look at the same example used previously. To search for all the cases with the word heart, the search engine presents a different SQL query to the database engine. This query makes use of the 3-layer indexing system and offers some speedup to query processing. The query is as follows Select from TF where case_number in (Select case_number from wordInfo where word_id in (Select word_id from wordlist where word=heart)). Query execution always starts with the innermost query. So, the first step in the execution plan is to search the wordlist table for the word heart. If the word is present in the wordlist table, then it exists in the TF database. Otherwise, it can be safely assumed that the word does not exist in the TF too. Since there is an index on this tables word field, SQL Server maintains a separate index structure that has pointers to the exact location of every record in its data page, based on the word. SQL Server uses this index structure implicitly for fetching the right tuple from the wordlist table. So, the data page of the wordlist table that has the word heart in it is retrieved. Now, the word_id from this record can be read. The execution now proceeds to the next step and executes the next query in the hierarchy. The goal of this step is to fetch all the records in WordInfo table that have the word_id selected from the previous step. Again, there is a clustered index on the word_id field here. So, the database system knows which data pages need to be retrieved and only

PAGE 48

39 those are fetched. Also, since the index is clustered, all records with the same word_id are stored close to each other, making the number of pages to be fetched, minimal. The case_numbers are selected from this set of records. Now the outer most query needs to be executed. The database engine needs to fetch all cases that have the given case_numbers. Since the TF table also has an index on the case_number field, the database engine retrieves the required data pages into memory. Thus, the required cases are obtained from the TF without having to search the entire TF table. Of course, there has been an overhead of two extra I/O operations to fetch the index table pages. But considering that TF is a very large table and fetching all the pages into memory takes a significant amount of time, the time saved is much greater. Note that the same logic applies to fetching the image information from the images table. The other advantage of this design is that, as the size of the database grows, the time to execute the query does not increase linearly (as with the traditional approach). The total I/O done decides the time taken to execute the query. In the traditional approach, as the size of the database increases, a search would involve more page fetches, making the execution time increase linearly with the size of the database. Here, no matter what the size of the database, only the required pages will be fetched. However, this does not mean that the execution time is totally independent of the database size. All the pages that have cases from the result set will be fetched anyway and so execution time depends on the number of cases in the final search results. 4.2.2.2 Multiple term search If there is more than one word in the search string, then the search process is done as a simple extension of the single-term search. First, a search is performed for all the

PAGE 49

40 individual words, on the wordlist table; similar to the way it is done in a single-term search, which results in a list of word_ids. These word_ids are used to get a list of case_numbers for each word_id. A different list results for each of the word_ids. Every list represents the list of cases having the word with the given word_id somewhere in some column of the TF table. Now, these lists are merged together resulting in a final list of case_numbers, which is used to retrieve the cases from the TF. Again, the rules of indexes still hold, making all searches optimal. WebSE also supports queries with wildcards. In a search phrase, the user can add a wildcard before or after any word. For example, the user can search for cardio* *nomy. This searches for all words starting with cardio and all words ending with nomy. The steps involved in executing wildcard queries are exactly the same. It should be noted that the basic idea used in the search strategy above is that any case having at least one of the words from the search phrase, in some column or the other, is relevant. This is a well-established technique that is the basis of all the web-search engines and information retrieval systems. In addition to searching the TF table efficiently, WebSE also ranks the search results based on relevancy. We now examine how ranking of cases is performed in WebSE. 4.3 Ranking Ranking is the process of ordering the search results in decreasing order of relevancy [Eylen 1997]. There are many ways of computing relevancy of a case for a particular search phrase. The following techniques are used within WebSE.

PAGE 50

41 4.3.1 Frequency of Occurrence Given a search word, a case that has more occurrences of that word in its record is assumed to be more relevant than a case having fewer occurrences of the same word. All major search engines on the web use this principle of word frequency for ranking their results. This statistical approach to ranking in a combination with other strategies has proven to be extremely successful. 4.3.2 Column of Occurrence In addition to using the frequency of occurrence, search engines like Altavista [Eylen 1997] and Google consider the location of the word as well. Documents having the search word in a heading get more weight than documents having the word at the bottom. This idea has been employed within our indexing system. However, the direct application of this principle does not make much sense in our indexing system. For example, the name of a disease might occur either in the bottom or the top of the description of the disease (in any column). Obviously, giving more weight to a case where a disease name occurs closer to the beginning is really not significant. However, consider the following example. Let us say that a user enters a search term, which is the name of a disease. Suppose there are three cases that have the disease name mentioned. Each case has the word occurring in a different column. It would be a good idea to give cases with the word occurring in one column more importance than the others. This is where the ColumnInfo table is used. As mentioned before, this table has a column called columnWeight. Each column that is to be indexed is given a weight in this column. This is a way of assigning importance or relevance for a column. Based on these weights, the case with the word occurring in the most important column can obviously be considered as the most relevant among its peers.

PAGE 51

42 4.3.3 Adjacency of Words Yet another strategy used to order relevant results is to use an exact phrase match. This is also used in all the major web search engines and is a pretty simple approach. If a user is looking for the search phrase heart cancer, then it makes sense that cases having the words heart and cancer adjacent to each other in the same order are more relevant than cases having just one of the two words. Also, this principle can be applied recursively. For example, if the user enters the phrase, swollen heart anomaly, then, as earlier mentioned, the cases with the phrase swollen heart anomaly will be more relevant than cases with only one individual word. In addition to this, cases with partial phrase match should also obtain a higher weight than cases with individual occurrences (i.e., cases with swollen heart or heart anomaly obtain a higher weight than ones with only heart or anomaly or both of them in any other order). 4.3.4 Weighted Words If a search phrase has more than one word, then among the cases with only one word, the cases with the more important word obtains a higher rank than cases with a not so important word. 4.4 Implementation of Ranking 4.4.1 Ranking in Single Word Searches Now, for single word searches the weight of the word is multiplied with the weight of the column in which each occurrence of the word exists. The weight of the word is obtained from the wordlist table and the weight of the column in which it occurs can be obtained from the ColumnInfo table. After completion of the above procedure, the result is a list of case_numbers and corresponding weights. There might be multiple

PAGE 52

43 occurrences of a word in a given case, which means the initial list would have had weights of each individual word occurrence. To consolidate the list, we group the result set by case_number and sum the weights. Mathematically, it can be represented as For each case, the final weight = [ (column_weight) ] word_weight For all occurrences of the word in a case Finally, we have a list of case_numbers and a final weight for each case. This is used to rank the cases such that the case with highest weight gets the best rank. It is obvious that cases with more occurrences of the word in the more important columns are in the top of the list and cases with fewer words in lesser important columns are towards the end and all other combinations exist somewhere in the middle of the list. Changing the weights assigned to columns can change the behavior of the search results greatly. 4.4.2 Ranking in Multiple Word Searches 4.4.2.1 Additional strategy Ranking multiple-word search queries is very different from ranking single-word queries. Here, in addition to the above-mentioned strategies (for single-word queries), the relative ordering of the words within the search phrase also needs to be taken into consideration. The cases where the exact search phrase is found are obviously most relevant and should get the maximum weight. This forms the first tier of cases. In the second tier are cases having all the words of the search phrase, where these words are scattered across the case. Again, column weights still hold here. The third tier consists of all cases having more than one word but not all of them. Ranking of cases in the third tier can be a bit complicated. Cases which having a larger number of higher weighted words in more weighted columns get a better rank than cases

PAGE 53

44 having fewer words in lower weighted columns. Tweaking the weights of the columns can change the behavior of this tier of cases dramatically. The final tier of cases contains only one of the search terms. Obviously these are the lowest ranked among the tiers and within this tier, the ranks of cases vary based on the word they have and the column in which the word exists. To summarize, the cases with the exact-phrase need to be ranked first. The cases without an exact-phrase match follow next. And among them, cases with more words are ranked higher than cases with fewer words. First, we will look at an example and then examine how this is implemented. Table 4-1 Example Table for Ranking case_number Comment 1 This is an interesting case of heart cancer 2 Patient complained of pain in the kidney 3 Good Example of malfunction in the heart 4 Lungs severely affected due to smoking 5 a cancer of heart is suspected 6 patient might need a heart transplant soon 7 Looks like cancer Let us say Table 4.1 is a simplified RTF. For simplicity, it has only two columns and contains 7 cases. Now, when a user submits the search phrase cancer of heart, all cases except case number 4 appear. Case number 5 appears first because it has an exact phrase match this forms the first tier of cases. Case number 1 comes next since it has all the words of the search phrase though not in that order. This is the second tier of cases. Case number 3 forms the next tier. It has two words from the search phrase heart and of. Case numbers 2, 6, and 7 comes last as they all have only one word

PAGE 54

45 from the search phrase. These form the last tier of cases. The ranking among these cases depends on the weights assigned to the words themselves. 4.4.2.2 Implementation First an exact phrase search is done. For this, the case_number lists for all the individual words are calculated. Once these lists are computed, the position fields are checked to see if the words exist adjacent to each other within a given case and column. The lists are merged based on this condition. In the end, only one list of case_numbers exists, which are the cases where the exact phrase is present. This list of cases is kept aside for the time being. Also, a special exact-phrase constant value is added to all these cases weights to make sure that they get a better rank than the other lists of cases. It should be noted that the exact-phrase match works recursively. In other words, even partial exact phrase matches are given extra weight when compared to the single word matches. As the next step, each word is searched in the WordList table, and then with its word_id all the info is obtained from the WordInfo table. So, at the end, we have a list of word_ids and each word_id has a case_number list with weights. If we merge all these lists and group them by case_number and then sum the weights, we obtain one final list of case_numbers with its corresponding final weights. This list is merged with the exact-phrase result list. Since we added a constant to the list of exact phrase weights, they have an increased weight and stay at the top of the list. The cases with a larger number of words obtain a better weight because the sum of all the weights is greater. Mathematically, the formula is for each case, the final weight =

PAGE 55

46 [ (column_weight word_weight) ] + exact_phrase_constant*n For all occurrences of all words in a case where exact_phrase_constant is an arbitrary constant added to exact phrase matches to force them higher in the list. For cases having no phrase matches, this value is zero. And, n is the number of phrase matches found in that case. The final list of case_numbers and weights is sorted in descending order and then the TF table is queried for the corresponding case_numbers to obtain the final list of results. 4.4 Summary and What Is Next We examined the design of the 3-layer indexing system. We then saw how WebSE performs better than the traditional search engine, by making use of this indexing system. We looked at the ranking strategies used and also how these are implemented. We also looked at how the indexing system updates itself. The next chapter proposes some future extensions to WebSE.

PAGE 56

CHAPTER 5 CONCLUSIONS AND FUTURE WORK This thesis examined the requirements of a search engine for the RTF and then presented the design and features of WebSE. WebSE focuses on searching the database efficiently and also providing a method of ranking the search results. Presented were an introduction to the problem, a design overview, the design of the existing RTF, the technologies used, the underlying database design, the design of the indexing system and how it improves the query processing, and the ranking strategies used. This chapter presents a final examination of WebSE and proposes some future extensions. 5.1 WebSE In this thesis, a 3-level indexing system was described and used. It not only helped in making the search process efficient, it also made the search scalable to larger databases without a linear increase in processing time. WebSE also sorts the search results based on the relevancy. This allows the user to look at the most relevant cases first, thus making searching for cases easier and more efficient for the user. WebSE presents a user-friendly interface making it easily acceptable in the medical community. The interface used is borrowed from Google. Since almost everyone is familiar with the Google interface, using the WebSE interface is very intuitive. WebSE allows a basic search where the user can search the RTF using a set of keywords or a more advanced search, where the user can add more constraints to the search to make it more specific. 47

PAGE 57

48 WebSE also offers some customizability. The fields to be shown in the search results screen can be changed by the administrator. The administrator can also change the weights assigned to columns to change the relative ordering of search results. This allows for greater control over ranking. 5.2 Extensions The following features can be added to WebSE to make it more user-friendly and powerful as a search tool. 5.2.1 Synonyms WebSE uses a keyword-based search to find relevant cases in the RTF. However, this is not free from limitations. It is a known fact that synonyms exist for many English words and medical terms. So, if someone searches for the term heart, WebSE will only find cases containing that word. However, there might be some other good cases in the RTF that are very much relevant to heart that use the medical synonym cardio. Right now, the user can get around this by searching for all the synonyms of a word, but it would better if WebSE can build a database of synonyms and automatically search for all of them. 5.2.2 Spelling Mistakes Since most of the information in the RTF is entered through typing, there is always a chance of spelling mistakes. This could lead to cases not appearing in the search results. For example, if the word kidney is misspelt as kidey, then this case will not appear for the search term kidney unless there is an occurrence of kidney somewhere else in the same case. As a future extension to WebSE, a strategy for catching such typographical errors can be devised. This will improve the accuracy of the search system and will lead to better utilization of the information in the RTF.

PAGE 58

49 5.3 Summary In the information age, an efficient and easy-to-use search tool can be priceless in any organization, including the medical community. With WebSEs simple and user-friendly interface and efficient and scalable search, the information in the RTF can be accessed quickly. Once the physicians are able to access any case quickly, they can provide a better teaching experience by using these for illustration.

PAGE 59

LIST OF REFERENCES ACR. 1994. American College of Radiology. www.acr.org Visited Apr 2002. Balakrishnan A. 2002. Design and Analysis of User Interface for Radiology Teaching File. Masters Thesis. University of Florida. Dugas M., Trumm C., Stbler A., Pander E., Hundt W., Scheidler J., Brning R., Helmberger T., Waggershauser T., Matzko M. and Reiser M. Case Oriented Computer-Based Training in Radiology: Concept, Implementation and Evaluation. Oct 2001. BMC Medical Education, University of Munich, Germany. Elmasri R. and Navathe S.B. 2001. Fundamentals of Database Systems. Pearson Education, Singapore. Eylen D.V. 1997. AltaVista Ranking of Query Results. http://www.ping.be/~ping0658/avrank.html Visited Feb 2002. Harvard Medical School. 2001. BrighamRAD. http://brighamrad.harvard.edu/education/online/tcd/tcd.html Visited May 2002. Microsoft. 2000a. VBScript. http://msdn.microsoft.com/library/default.asp?url=/library/enus/script56/html/vtoriVBScript.asp Visited Mar 2002. Microsoft. 2000b. MS Access Help. Microsoft, Seattle. Microsoft. 2000c. SQL Server Help. Microsoft, Seattle. Microsoft. 2001. Microsoft ODBC and Universal Data Access. http://www.microsoft.com/data/odbc/default.htm Visited Mar 2002. Microsoft. 2002. Active Server Pages. http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/iisref/aspguide.ht m Visited Nov 2001. Stonebraker M., Hellerstein J.M. 1998. Readings in Database Systems. Morgan Kaufman, San Francisco, CA. University of Washington. 2000. Radiology Teaching File. http://www.rad.washington.edu/maintf/ Visited May 2002. 50

PAGE 60

BIOGRAPHICAL SKETCH Shriram Lakshmi Narasimhan was born in Tiruchy, Tamil Nadu, India, on November 18 th 1978. He has lived in Hyderabad for the first 21 years of his life. He graduated from Jawaharlal Nehru Technological University in 2000 and received his bachelors degree in computer science and engineering. He is pursuing his graduate study with a specialization in databases at the University of Florida. He plans to graduate in December 2002 with a masters degree in computer science. Shriram worked for the University of Florida McTrans Center as a programmer during his graduate study. There, he contributed to the development of the Highway Capacity Software, among other things. He plans to move to Seattle where he has a position with Microsoft as a software design and test engineer in the SQL Server group. 51


Permanent Link: http://ufdc.ufl.edu/UFE0000559/00001

Material Information

Title: Web-based search engine for radiology teaching file
Physical Description: ix, 51 p.
Creator: Lakshmi, Shriram ( Dissertant )
Dankel, Douglas D. ( Thesis advisor )
Sistrom, Chris ( Reviewer )
Wilson, Joseph N. ( Reviewer )
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2002
Copyright Date: 2002

Subjects

Subjects / Keywords: Computer and Information Science and Engineering thesis, M.S
User interfaces (Computer systems)
Web search engines
Dissertations, Academic -- UF -- Computer and Information Science and Engineering
Radiography, Medical -- Digital techniques

Notes

Abstract: Teaching in any field can be successful only with the help of good illustrations. This is especially true in the medical field, where even an excellent professor can sound vague, without good examples. As a result, the academic medical community started collecting together illustrative images of cases in a database. This database is known as the "Radiology Teaching File" or simply "RTF" and has proven to be a great asset to academic radiology departments. However, as the size of the database increases, maintaining the database and searching the database for cases with a particular characteristic become time-consuming and cumbersome. Hence, there is a need for a system that can provide an easy to use interface to maintain the database and also a retrieval system that can fetch the relevant cases. The focus of this thesis is to provide an easy-to-use search engine that can search the RTF efficiently. This search engine, called WebSE (Web-based Search Engine), was developed with usability, versatility, and scalability in mind. The user can search the database of cases using an easy-to-use general search, like Google (the web search engine), or the user can use a more complicated interface to run a more precise search. In the former, a relevancy ranking mechanism helps the user to see the most important cases first. As a result, this tool helps in making teaching and learning more effective.
Subject: engine, file, radiology, ranking, relevancy, search, teaching
System Details: System requirements: World Wide Web browser and PDF reader.
System Details: Mode of access: World Wide Web.
General Note: Title from title page of source document.
General Note: Includes vita.
Thesis: Thesis (M.S.)--University of Florida, 2002.
Bibliography: Includes bibliographical references.
General Note: Text (Electronic thesis) in PDF format.

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0000559:00001

Permanent Link: http://ufdc.ufl.edu/UFE0000559/00001

Material Information

Title: Web-based search engine for radiology teaching file
Physical Description: ix, 51 p.
Creator: Lakshmi, Shriram ( Dissertant )
Dankel, Douglas D. ( Thesis advisor )
Sistrom, Chris ( Reviewer )
Wilson, Joseph N. ( Reviewer )
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2002
Copyright Date: 2002

Subjects

Subjects / Keywords: Computer and Information Science and Engineering thesis, M.S
User interfaces (Computer systems)
Web search engines
Dissertations, Academic -- UF -- Computer and Information Science and Engineering
Radiography, Medical -- Digital techniques

Notes

Abstract: Teaching in any field can be successful only with the help of good illustrations. This is especially true in the medical field, where even an excellent professor can sound vague, without good examples. As a result, the academic medical community started collecting together illustrative images of cases in a database. This database is known as the "Radiology Teaching File" or simply "RTF" and has proven to be a great asset to academic radiology departments. However, as the size of the database increases, maintaining the database and searching the database for cases with a particular characteristic become time-consuming and cumbersome. Hence, there is a need for a system that can provide an easy to use interface to maintain the database and also a retrieval system that can fetch the relevant cases. The focus of this thesis is to provide an easy-to-use search engine that can search the RTF efficiently. This search engine, called WebSE (Web-based Search Engine), was developed with usability, versatility, and scalability in mind. The user can search the database of cases using an easy-to-use general search, like Google (the web search engine), or the user can use a more complicated interface to run a more precise search. In the former, a relevancy ranking mechanism helps the user to see the most important cases first. As a result, this tool helps in making teaching and learning more effective.
Subject: engine, file, radiology, ranking, relevancy, search, teaching
System Details: System requirements: World Wide Web browser and PDF reader.
System Details: Mode of access: World Wide Web.
General Note: Title from title page of source document.
General Note: Includes vita.
Thesis: Thesis (M.S.)--University of Florida, 2002.
Bibliography: Includes bibliographical references.
General Note: Text (Electronic thesis) in PDF format.

Record Information

Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.
System ID: UFE0000559:00001


This item has the following downloads:


Full Text












WEB-BASED SEARCH ENGINE
FOR
RADIOLOGY TEACHING FILE












By

SHRIRAM LAKSHMI


A THESIS PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
MASTER OF SCIENCE

UNIVERSITY OF FLORIDA


2002




























Copyright 2002

by

Shriram Lakshmi




























To My Wonderful Family















ACKNOWLEDGMENTS

I would like to thank Dr. Doug Dankel for encouraging me to start this work and

providing timely guidance and help. I would also like to thank Dr. Chris Sistrom for

spending a lot of time in reviewing our work and providing excellent feedback and

suggestions right from the beginning. I also thank Dr. Joe Wilson for being in my

committee and giving suggestions from time to time.

I would like to thank Ms. Aarathi Balakrishnan for her valuable criticism and

suggestions on my work. I also thank Mr. Balaji Krishnaprasad for providing me with the

necessary resources for completing this thesis. I would also like to thank all my friends

who have helped me in so many ways throughout my graduate study. Finally, I would

like to thank my family for all their love, encouragement and support throughout my life.
















TABLE OF CONTENTS
page

A C K N O W L E D G M E N T S ................................................................................................. iv

L IST O F F IG U R E S .... ...... ................................................ .. .. ..... .............. vii

A B S T R A C T .......................................... .................................................. v iii

CHAPTER

1 IN TR OD U CTION .................. ............................ ............. .............. .

1.1 Problem Domain ........ ...... ................... ........ .......... .......... 2
1.2 System D design ........................................ 3
1.3 Design Advantages ........ ......... ....................... ............ ......... 5
1.4 Document Structure .. .......... ..................... ...... ...... ............ 6


2 BACKGROUND AND TECHNOLOGY OVERVIEW .............................................7

2.1 Existing RTF System ............... ................. ..... ................ 7
2.2 Technologies Used...... ....... ............... ............. 9
2.2.1 R elational D atabases ................ .......................................................... 10
2.2.2 Structured Query Language .............. ...... ....................... ............ 10
2.2.3 Stored Procedures ............... ............... .............. .. ...................... 11
2.2.4 Triggers ..................................... ............ .............. 12
2.2.5 A ctive Server Pages ....................... .............................. ............ .............. 13
2 .2 .6 V B S cript...................................................... 14
2.2.7 Open-Data-Base-Connectivity (ODBC) ............................................. 14
2.3 Sum m ary and W hat Is N ext............................................................................ ... 16


3 SYSTEM FEATURES AND DESIGN .............. ...................... .............. 17

3.1 M ain Database Design .. ..... .......................................... ...... .............. 17
3.1.1 TF Table............................................ .............. 18
3.1.2 Im ages Table ................................. .............. 19
3.1.3 Other Tables ............................................................................ 20
3.1.3.1 C contributors ................................................. ........ 20
3.1.3.2 Patient Info ....................................................................... 21
3 .1.3 .3 M o d ality ........................................................... 2 1


v









3 .1.3 .4 R eating ......................................................................................... ......... 2 1
3 .1.3 .5 H o sp ital In fo ..................................... ........ ................ ..............2 1
3.2 W ebSE W alkthrough ........................................................... ... .............. 22
3.2.1 Free-Text Search ...................... .............. ...................... .............. 22
3.2.2 A advanced Search.................... .. ............................................ ................ .. 28
3.3 Sum m ary and W hat Is N ext............................................................................ ... 29


4 IN SID E W ebSE ....................... ........................ .... .. ................... 30

4.1 Indexing System .................... ................ .............. .......................... .................. 32
4 .1.1 W ordL ist ...................................................... 32
4 .1.2 W ordInfo ..................................................... 33
4.1.3 ColumnInfo ................................................................. 35
4.1.4 ImageCount .................................................. .............. 35
4.2 Query Processing: How It Works .......................................... ............ 36
4.2.1 Traditional System ......................................................... 37
4.2.2 W eb SE .................. ................... ............... ..... 38
4.2.2.1 Single term search ............................................ ..................... .. ..... 38
4.2.2.2 M multiple term search ................................. .. ....... .......... ....39
4 .3 R ranking ...................... .......................... ................................. ... 40
4.3.1 Frequency of O occurrence ........................................... ....................... ... 41
4.3.2 C olum n of O occurrence .............................................. ...................... ... 4 1
4.3.3 A djacency of W ords........................................ ............... .............. 42
4.3.4 W weighted W words ........................................................... .............. 42
4.4 Im plem entation of R ranking .................................. ................ ... ................. 42
4.4.1 Ranking in Single W ord Searches .............. .............................. ....... ....... 42
4.4.2 Ranking in Multiple Word Searches........................................................ 43
4.4.2.1 A additional strategy .................................... ......................... .. ......... 43
4.4.2.2 Im plem entation ...........................................................................45
4.4 Sum m ary and W hat Is N ext............................................................................ ... 46


5 CONCLUSIONS AND FUTURE WORK .............. .............................................47

5 .1 W eb S E ................................................................... 4 7
5.2 Extensions ..................................................................... ......... 48
5.2.1 Synonym s ................................. ........................... .... ........ 48
5.2.2 Spelling M mistakes ................................. .......................... ....... 48
5 .3 S u m m a ry ...................................................................................................... 4 9


L IST O F R E FE R E N C E S ............................................................................... 50

BIOGRAPHICAL SKETCH ................................. ................................... 51
















LIST OF FIGURES

Figure page

1-1 H igh L ev el D esign .......... .................................................................... ......... . ....

2-1 Existing R TF A rchitecture......................................... .................................. 8

3-1 M ain D database D design ......................................... ..................... ............... 18

3-2 Basic Search Screen.................... ..................................22

3-3 Search R results Screen ........... .............................. .................. 23

3-4 C ase D details Screen ............................................... .. .... ........ ......... 25

3-5 V iew Im ages Screen .............................. .......................... .... ........ .... ..... ...... 26

3-6 Another View Images Screen ................................ .................... 27

3-7 A advanced Search Screen ........................................ .............................................29

4-1 The 3-Layer Index Architecture ................................. ..................................31

4-2 Index Tables and R elationships..................................................... .. .....................32

4-3 R T F and Index T ables ........................................................................ .................. 34




















vii















Abstract of Thesis Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Master of Science

WEB-BASED SEARCH ENGINE FOR RADIOLOGY TEACHING FILE


By

Shriram Lakshmi

December 2002


Chair: Dr. Douglas D. Dankel II
Major Department: Computer and Information Science and Engineering

Teaching in any field can be successful only with the help of good illustrations.

This is especially true in the medical field, where even an excellent professor can sound

vague without good examples. As a result, the academic medical community started

collecting together illustrative images of cases in a database. This database is known as

the "Radiology Teaching File" or simply "RTF" and has proven to be a great asset to

academic radiology departments.

However, as the size of the database increases, maintaining the database and

searching the database for cases with a particular characteristic become time-consuming

and cumbersome. Hence, there is a need for a system that can provide an easy to use

interface to maintain the database and also a retrieval system that can fetch the relevant

cases. The focus of this thesis is to provide an easy-to-use search engine that can search

the RTF efficiently.









This search engine, called WebSE (Web-based Search Engine), was developed with

usability, versatility, and scalability in mind. The user can search the database of cases

using an easy-to-use general search, like Google (the web search engine), or the user can

use a more complicated interface to run a more precise search. In the former, a relevancy

ranking mechanism helps the user to see the most important cases first. As a result, this

tool helps in making teaching and learning more effective.














CHAPTER 1
INTRODUCTION

The academic medical community has always felt the need for a database of cases

for illustration. A description of any anomaly is never complete without a few practical

case reviews. These case reviews are a must, not only for making the students better

understand the pathologic condition at hand, but also for serving to expose the student to

some real world cases before the student begins to actually diagnose real patients.

A case usually includes a few X-rays, and/or other forms of medical images, of the

affected part of the patient. There is no substitute for these images while teaching. The

statement "A picture speaks a thousand words" is especially true here, since medical

images are complex and the student's attention needs to be driven to the right details.

To make teaching effective and complete, every medical faculty member needs a

database of cases illustrating each pathologic condition. This database of illustrative cases

is called the "Radiology Teaching File," referred to as RTF from this point on. The RTF

can be used to store not only cases that are a perfect example of a condition but also cases

that are exceptions to the general behavior. This makes the new generation of physicians

aware of those exceptions and more prepared to handle them.

Considering that physicians constantly add cases to the RTF and search it

frequently for cases of a particular kind, it is imperative to have a system that can make

this process easy and quick. This leads to better use of the physician's time and also leads

to overall effectiveness of teaching.









1.1 Problem Domain

The RTF is an ever-growing database, with a wide variety of cases. Each case has

its own set of images. For example, the RTF at the Department of Radiology, University

of Florida, has around twenty thousand patient cases with each case having six images on

average. In addition, new cases are added on a daily basis. This makes maintaining all the

image files and the database of cases cumbersome.

Additionally, the size of the RTF places a burden on the physicians when they

attempt to locate a case with a particular characteristic. Traditionally, cases of interest

were selected from a list of all available cases, which could be viewed sequentially or

searched based on special codes assigned to the cases, like the ACR code.1 Obviously,

this involves examining many unrelated cases before finding the right case.

In such a scenario, the RTF seems to create more problems than it solves. The RTF

can prove useful only if the physicians find it easy to add cases, maintain the database,

and retrieve cases quickly [Dugas et al. 2001] and efficiently. The user-interface of the

system should not require extensive computer knowledge, since its primary users are

physicians. At the same time, the system should be quick, efficient, and require little or

no maintenance.

This thesis looks closely at the problem of "case retrieval," while Ms. Aarathi

Balakrishnan examines the user-interface and maintenance of the system in her thesis

"Design and Analysis of User-Interface for RTF" [Balakrishnan 2002]. The "case

retrieval" system is referred to as WebSE, standing for Web-based Search Engine, from

this point on.


1 Members of the American College of Radiology evolved the ACR codes to code images
in a teaching film library.









The Microsoft Access version of the RTF, currently used at the University of

Florida, has a limited search capability. Though this system provides an easy-to-use

interface, it is greatly inhibited by the limitations in the underlying software. WebSE

aims to eliminate the shortcomings of this system by using a new design while at the

same time providing a user-friendly interface.

1.2 System Design

WebSE was developed with the above requirements in mind. It is a database-

driven, web-based search engine. The two main components of the overall design are the

Data Server and the Web Server. Figure 1.1 illustrates the overall system design. First, let

us look at the two components, examining how they work together.

The data server consists of two databases. The main database consists of all the

patient cases and is called the RTF. In addition to this database, there is another database

that is added to speed up query processing in the RTF. This is called the "pseudo-index"

database, which contains meta-data about the data in RTF. The data server stores all the

data using "SQL Server."

The web server accepts queries from the World Wide Web sent to it from client

browsers. A set of scripts, written in VB Script, resides on this web server. These scripts

are also called Active Server Pages or ASP. Clients send their requests through a browser

to the web server. The scripts on the web server interact with the data server and respond

to the client by sending the search results back to the client.







































Client Browser Client Browser Client Browser Client Browser


Figure 1-1 High Level Design

Let us examine how the two components work together at run-time. Firstly, the

user inputs his query on the browser interface on his computer. This query (which is

usually a set of keywords) is sent over the World Wide Web to the web server. When the

web server receives a request from a client, it initiates an instance of the search script and

executes it. This script, which runs totally on the web server, first establishes a

connection with the data server, running SQL Server, using an ODBC (Open Data Base

Connectivity) connection. Then the script analyses the query sent by the user and

generates a SQL query.









The script sends this generated SQL query to the database server through the

ODBC connection. The instance of the SQL Server, running on the server, accepts this

query from the script, executes the query, and returns the result through the ODBC

connection to the ASP script. The ASP script formats the result into HTML (Hyper Text

Markup Language), which is sent over the World Wide Web back to the client browser

initiating the request. The browser on the client's machine renders the HTML source

code and presents it to the user in the proper format.

1.3 Design Advantages

There are a number of design advantages to this architecture. First, the user-

interface offers a whole array of options to the user for searching. The user can enter a

few keywords like in Google or can use an advanced search to search by image modality,

age, or any other possible field in the database. The user is also provided with a special

code search through which the user can build an ACR code [ACR 94] and search the RTF

using that code. This ensures versatility of the search engine.

Second, the user-interface is designed by modeling the existing system. This eases

the transition for the physicians from the old system to WebSE. For the additional

components in this design, like the keyword search page, the user-interface is modeled

after existing popular interfaces, like the interface presented by the Google search engine.

This ensures user-friendliness of WebSE.

Third, when the user is presented with the results, the results are sorted in order of

decreasing relevance. In this way, the user receives the most relevant case on top of the

list. This can be a big time-saver for the user when the database is really large or when

the retrieved result set has many cases.









This system is also scalable. The use of pseudo-indexing greatly reduces the

processing time involved in searching the database. In addition to making the search

quicker, it also makes the search less dependent on the size of the database. This ensures

that system performance does not degrade as the size of RTF increases.

Finally, since this WebSE is a web-based system, to take advantage of the RTF,

users only need to have a browser installed on their client systems. Also, the client can

run the browser on any platform.

1.4 Document Structure

The following chapters look at the design and performance of WebSE and its

interface. Chapter 2 discusses the existing teaching file system at the University of

Florida and the technologies needed to develop WebSE. Chapter 3 looks at WebSE from

the user-perspective, examining the user-interface. Chapter 4 provides an in-depth view

of the architecture of WebSE. Chapter 5 presents conclusions and proposes future

extensions.














CHAPTER 2
BACKGROUND AND TECHNOLOGY OVERVIEW

The existing implementation of the RTF system in the Department of Radiology at

University of Florida has a reasonably good user-interface. Unfortunately, the underlying

technology used, inhibits its capabilities to a great extent. This chapter looks at the design

of this system and examines its pros and cons. Then, it examines the software tools used

for implementing WebSE.

2.1 Existing RTF System

The existing implementation of the teaching file uses a Microsoft Access database.

The user-interface was also implemented in Microsoft Access, with the help of Microsoft

Access "forms." The user-interface was basic and simple with most of the functionalities

provided. Since many people wanted access to this well-designed teaching file it was

expanded to include sharing. Before looking at the architecture of this design, we need to

understand "linking" as defined in Microsoft Access Help.

In an Access database, "linking data enables you to read and in most cases, update

data in the external data source without importing. The external data source's format is

not altered so that you can continue to use the file with the program that originally

created it, but you can add, delete, or edit its data by using Microsoft Access as well. You

can also link tables from other Microsoft Access databases. For example, you might want

to use a table from another Microsoft Access database that is shared on a network"

[Microsoft 2000b]. This is particularly useful if you want to store all of your tables in one









database on a network server, while keeping forms, reports, and other objects in a

separate database that is copied among users of the shared database.

This concept of linking was used here. The actual data was stored in a separate

database. This database had only the tables of the teaching file. The forms and other user-

interface related material was placed in another database, which is referenced as the UI

database from this point on. This UI database linked to the main database to access the

data. Now, the data was present in one central location, and the UI was distributed among

all the clients.




TF Database with Data













UI Database UI Database UI Database



Figure 2-1 Existing RTF Architecture

The following are some of the distinct advantages of this architecture.

* The UI access database is one small file, which can be distributed among the users
of the teaching file easily.

* Since the data is in one central location, the problem of duplication is eliminated. In
other words, everyone works on the same data, even though they are accessing it
from different systems.









* Any change made to the data by any user (additions, deletions, or updates), will be
seen by all the other users immediately.

This proved to be an excellent, initial implementation of the teaching file.

However, this design is not free from drawbacks, the following are some of its

disadvantages.

* The most significant of these is that Microsoft Access does not support a large
number of simultaneous users, thereby limiting the number of people that can
access the database at one time.

* Every person who wants to access the teaching file must have Microsoft Access
installed on their system, which also means that the user must be running Windows.

* Updating the user-interface is very cumbersome, because it involves updating all
the copies of the client database. This may even be impossible in some cases.

* Another drawback is that, Microsoft Access is intended for small databases only.
Beyond a certain size, its performance significantly degrades. With the size of the
teaching file growing all the time, this would become a problem eventually.

With more users wanting to access the teaching file, a system that could support

more concurrent users and a system that could be platform independent needed to be

developed. Also, the system needed to be scalable and to retain the user-friendly features

of the current system.

2.2 Technologies Used

This section describes the various technologies used in WebSE. In WebSE, the

main data resides on Microsoft SQL Server, also known as "Sequel Server" [Microsoft

2000c]. The following are some of the reasons why SQL Server was chosen for WebSE.

* It is an industrial strength database management system, which can handle far
bigger databases than Microsoft Access.

* It provides a more robust access to multiple users at the same time.

* It supports stored procedures and triggers, which make database maintenance
easier.









* It also has support for handling permissions and security. One can set permissions
for an individual column or for the whole database. This is especially important
because, some tables have confidential patient information, which need to be kept
private.

RTF stores the data in a relational format. SQL Server supports Relational

Databases.

2.2.1 Relational Databases

Although there are different ways to organize data in a database, relational

databases are one of the most effective. Relational database systems are an application of

mathematical set theory to the problem of effectively organizing data. In a relational

database, data is collected into tables (called relations in relational theory) [Elmasri and

Navathe 2001].

A table represents some class of objects that are important to an organization. For

example, a company may have a database with a table for employees, another table for

customers, and another for stores. Each table is built of columns and rows. Each column

represents some attribute of the object represented by the table. Each row, or tuple,

represents an instance of the object represented by the table.

When organizing data into tables, you can usually find many different ways to

define tables. Relational database theory also defines a process called normalization,

which ensures that the set of tables you define organizes your data effectively.

2.2.2 Structured Query Language

To work with data in a database, you have to use a set of commands and statements

(language) defined by the DBMS software. Several different languages can be used with

relational databases; the most common is SQL (Structured Query Language) [Elmasri

and Navathe 2001]. The American National Standards Institute (ANSI) and the









International Standards Organization (ISO) define software standards, including

standards for the SQL language [Microsoft 2000c]. SQL Server 2000, used for WebSE,

supports the Entry Level of SQL-92, the SQL standard published by ANSI and ISO in

1992 [Microsoft 2000c]. The dialect of SQL supported by Microsoft SQL Server is called

Transact-SQL (T-SQL) [Microsoft 2000c].

Note that "SQL Server" is the name of the database system sold by Microsoft and

is very different from "SQL," which is a database access language standard. The two

terms should not be confused with each other.

In addition to the above-mentioned features, WebSE also uses a couple of other

features provided by SQL Server. They are "Stored Procedures" and "Triggers." A brief

description of these follows.

2.2.3 Stored Procedures

When you create an application with SQL Server, the Transact-SQL programming

language is the primary programming interface between your applications and the SQL

Server database. When you use Transact-SQL programs, two methods are available for

storing and executing the programs. You can store the programs locally and create

applications that send the commands to SQL Server and process the results, or you can

store the programs as stored procedures in SQL Server and create applications that

execute the stored procedures and process the results [Microsoft 2000c].

Stored procedures in SQL Server are similar to procedures in other programming

languages in that they can

* Accept input parameters and return multiple values in the form of output
parameters to the calling procedure or batch.

* Contain programming statements that perform operations in the database, including
calling other procedures.









* Return a status value to a calling procedure or batch to indicate success or failure
(and the reason for failure).

The benefits of using stored procedures in SQL Server rather than Transact-SQL

programs stored locally on client computers are

* They allow modular programming. You create a procedure once, store it in the
database, and call it any number of times in your program.

* They allow faster execution. If the operation requires a large amount of Transact-
SQL code or is performed repetitively, stored procedures can be faster than batches
of Transact-SQL code. They are parsed and optimized when they are created, and
an in-memory version of the procedure can be used after the procedure is executed
the first time. Transact-SQL statements are repeatedly sent from the client each
time they run and are compiled and optimized every time SQL Server executes
them.

* They can reduce network traffic. An operation requiring hundreds of lines of
Transact-SQL code can be performed through a single statement that executes the
code in a procedure, rather than by sending hundreds of lines of code over the
network.

* They can be used as a security mechanism. Users can be granted permission to
execute a stored procedure even if they do not have permission to execute the
procedure's statements directly.

2.2.4 Triggers

SQL Server provides two primary mechanisms for enforcing business rules and

data integrity: constraints and triggers. A trigger is a special type of stored procedure that

automatically takes effect when the data in a specified table is modified [Microsoft

2000c, Elmasri and Navathe 2001]. A trigger is invoked in response to an INSERT,

UPDATE, or DELETE statement. A trigger can query other tables and can include

complex Transact-SQL statements. The trigger and the statement that fires it are treated

as a single transaction, which can be rolled back from within the trigger. If a severe error

is detected (for example, insufficient disk space), the entire transaction automatically

rolls back.









Triggers are useful in the following ways

* Triggers can cascade changes through related tables in the database; however, these
changes can be executed more efficiently using cascading referential integrity
constraints.

* Triggers can enforce restrictions that are more complex than those defined with
CHECK constraints. Unlike CHECK constraints, triggers can reference columns in
other tables. For example, a trigger can use a SELECT from another table to
compare to the inserted or updated data and to perform additional actions, such as
modify the data or display a user-defined error message.

* Triggers can also evaluate the state of a table before and after a data modification
and take actions) based on that difference.

* Multiple triggers of the same type (INSERT, UPDATE, or DELETE) on a table
allow multiple, different actions to take place in response to the same modification
statement.

2.2.5 Active Server Pages

The Web server component of WebSE supports Active Server Pages (ASP). The

server-side scripts are written in VBScript [Microsoft 2000a]. A more detailed

description of server side scripts and ASP follows.

Microsoft Active Server Pages (ASP) is a server-side scripting environment that

you can use to create interactive Web pages and build powerful Web applications

[Microsoft 2002]. When the server receives a request for an ASP file, it processes server-

side scripts contained in the file to build the Web page that is sent to the browser. In

addition to server-side scripts, ASP files can contain HTML (including related client-side

scripts) as well as calls to COM components that perform a variety of tasks, such as

connecting to a database or processing business logic.

A server-side script starts execution when a browser requests a .asp file from the

Web server. The Web server then calls ASP, which processes the requested file from top

to bottom, executes any script commands, and sends a Web page to the browser.









Because the scripts run on the server rather than on the client, the Web server does

all the work involved in generating the HTML pages sent to browsers. Server-side scripts

cannot be readily copied because only the result of the script is returned to the browser.

Users cannot view the script commands that created the page they are viewing. ASP

supports various scripting languages including VBScript, which is used by WebSE.

2.2.6 VBScript

Microsoft Visual Basic Scripting Edition, the newest member of the Visual Basic

family of programming languages [Microsoft 2000a], brings active scripting to a wide

variety of environments, including Web client scripting in Microsoft Internet Explorer

and Web server scripting in Microsoft Internet Information Server.

It has all the good features of Visual Basic making it easy to use and learn. At the

same time, it blends very well with all the other components of WebSE. VBScript talks to

host applications using ActiveX Scripting. With ActiveX Scripting, browsers and other

host applications do not require special integration code for each scripting component.

ActiveX Scripting enables a host to compile scripts, obtain and call entry points, and

manage the namespace available to the developer. ActiveX Scripting is used in Internet

Explorer and in IIS. VBScript and ActiveX Scripting can also be used as a general

scripting language in other applications.

2.2.7 Open-Data-Base-Connectivity (ODBC)

The scripts interact with the Data Server over an ODBC connection. ODBC is a

standard definition of an application-programming interface (API) used to access data in

relational or indexed sequential access method (ISAM) databases [Microsoft 2001]. SQL

Server supports ODBC as one of the native APIs for writing C, C++, and Visual Basic

applications that communicate with SQL Server.









ODBC enables a database to become an integral part of an application. SQL

statements can be incorporated into the application, allowing the application to retrieve

and update values from a database. Values from the database can be placed in program

variables for manipulation by the application. Conversely, values in program variables

can be written to the database.

ODBC enables applications to access a variety of data sources, including a wide

range of relational databases and local ISAM data. The ODBC driver for SQL Server is

included with SQL Server.

ODBC defines a call-level interface, or CLI. A CLI is defined as a set of function

calls and their associated parameters. A CLI definition uses a native programming

language to call functions; therefore, a CLI requires no extensions to the underlying

programming language. This contrasts with an embedded API, such as Embedded SQL,

where the API is defined as an extension of the source code for a programming language,

and applications using the API must be precompiled in a separate step.

ODBC aligns with the following specification and standard for relational SQL

database CLI definitions:

* The X/Open CAE specification Data Management: SQL Call-Level Interface (CLI)
[Microsoft 2001] and

* ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI) [Microsoft 2001].

SQL Server programs that are written using the ODBC API communicate with

SQL Server through C function calls. The SQL Server-specific versions of the ODBC

functions are implemented in a SQL Server ODBC driver. The driver passes SQL

statements to SQL Server and returns the results of the statements to the application.

ODBC applications are also interoperable with drivers for heterogeneous data sources.






16


2.3 Summary and What Is Next

This chapter examined the existing RTF system and its advantages and

disadvantages. It discussed the reasons for choosing SQL Server over Access and

examined the various other technologies like Relational Database, Stored Procedures,

SQL, Triggers, IIS, ASP, VBScript, and ODBC. The next chapter looks at WebSE from a

user point of view and also includes a walkthrough.














CHAPTER 3
SYSTEM FEATURES AND DESIGN

The previous chapters presented a basic design overview of WebSE. This chapter

takes a close look at WebSE from the user perspective. The actual inner design for

improving performance and scalability and also the implementation details are left for the

next chapter. Here, we first examine the underlying database design to better understand

the domain of WebSE. Then, we take a screen-by-screen walk through and analyze the

functionality offered by WebSE. The User-interface is also scrutinized at every point.

3.1 Main Database Design

For any database driven project to be successful, the underlying database design

needs to be sound. Needless to say, this was the first phase of implementing this thesis, to

analyze the tables and "normalize" the database design. Figure 3.1 captures the essence

of the database design. It shows the main database tables and the relationships existing

between them. A brief description of the significance of the main tables and their main

fields follows. Note that this is a description of the data tables alone and does not include

the pseudo-index tables that are added to the database for improving scalability and

performance.







































Figure 3-1 Main Database Design


3.1.1 TF Table

The TF table, or "Teaching File," is the main table that holds all the main data

related to the cases, excluding image related information and other information like

patient information, hospital information, etc. One tuple exists in this table for every

different case. This table includes:

* CASE NUMBER: This is a unique number assigned to every case in the teaching
file. In database terms this is referred to as the primary key of this table.

* Patientid: This is a unique number assigned to every patient. Every patient can be
uniquely identified with this id. The patient related information is stored in another
table.









* AGE: This is the age of the patient in days. Since patients can include infants,
whose age will be in days, the age is stored in days. For other patients, to get the
age in years, we can always divide the age in days with 365.

* SEXMALE: This is the gender of the patient. For males, a value of one is
assigned and a zero indicates a female patient.

* ANATOMIC_CODE: This is an anatomical code assigned to every case that is an
ACR code developed by the American College of Radiology.

* PATHOLOGIC_CODE: This is also part of the ACR code. It represents the
Pathology.

* DIAGNOSIS: This field has the final diagnosis of the case. The physician provides
this value when adding the case to the teaching file.

* CHIEFCOMPLAINT: In other words, "Symptoms," or the patient's initial
complaint.

* COMMENT: This field holds any other comments that the physician may want to
add about the case.

* CONTRIBUTOR: The id of the physician who entered this case. This is stored
because it is sometimes useful to know which physician entered this case into the
teaching file.

* IMAGANON: Holds the image-anonymous status.

* Ratingid: This is an optional field that the physician can enter, which identifies
how good an example this case is, on a scale of 1 to 10.

* HXNO: This is the id of the hospital in which this case occurred. The actual
hospital details are stored in another table.

* PRIVATE: This is a flag that sets a case as private or public. Only the contributor
of the case can view a private case.

3.1.2 Images Table

Every case can have more than one associated image. This table stores the

information related to all the images for all the cases. The "casenumber" has a foreign

key constraint and references the TF table's "casenumber." The fields of this table are as


follows









* CASENUMBER: This is the unique id of the case.

* MODALITY: This is the modality of the image. Every medical image has a
modality associated with it. Examples of image modality are X-ray, MRI, CTScan,
etc.

* IMAGEANNOT: This is optional information that can be added to any image to
describe something about the image.

* ORIGIMAGE_LOC: This is the full network path of the image before it was
added to the teaching file.

* IMAGEDIR: It should be noted that in the teaching file, the images are all stored
in a separate set of directories. The database only holds the location to the images
and not the images themselves. This is the directory in which the image is presently
stored.

* IMAGEFILENAME: The current file name of the image file.

* IMAGE NUMBER: Since a given case can have more than one image, the images
should be ordered among themselves to preserve the order of the images. This field
contains this information.

The above two tables are the most commonly searched tables in the database, since

most users are interested in searching for cases and their images. In addition to this main

information, other information is stored in a different set of tables. These tables are rarely

searched and only by those who have the required privileges. A brief description of these

tables follows.

3.1.3 Other Tables

3.1.3.1 Contributors

This table holds information about all the contributors. Contributors are physicians

with permissions to add to, delete from, and modify cases in the RTF. It contains

information regarding their login, password, name, and the type of permissions they have

to access the teaching file.









3.1.3.2 Patient Info

This table holds patient information and is not open for public viewing. It should be

noted that only the cases are open to the public, the patient information is to be kept

confidential at all times. The contents of this table can be viewed only by the

administrator or by contributors with appropriate permissions.

3.1.3.3 Modality

This is a lookup table storing all the image modalities and their abbreviation.

Medical images can be of different types and the type is called its modality. Examples of

image modality are X-Ray, CT Scan, etc.

3.1.3.4 Rating

This lookup table stores rating descriptions for all possible ratings in the teaching

file. A rating can be given to every case inserted into the RTF. It describes the quality of

the case some cases are very good illustrations of an anomaly and some are not that

good. Having one lookup table for the ratings makes it possible for all the physicians

adding cases to the RTF, to use the same scale for rating.

3.1.3.5 Hospital_Info

As the name suggests, this table holds hospital information. Right now, only the

hospital name is present in this table, as only that was thought necessary, but this table

can be extended to hold additional information about hospitals.

In addition to the above tables, there are a number of tables holding temporary

information and lookup information. The tables mentioned above form the RTF.










3.2 WebSE Walkthrough

WebSE offers a wide range of search options to the user from very simple "free-

text search" to a more complex "advanced search." Let us look at each of type of search

and examine its features.

3.2.1 Free-Text Search

Whenever a user wants to search for a case, the first item that comes to his/her

mind is the name of the anomaly itself or a set of keywords describing this anomaly. The

free-text search offers the user the ability to search the database of cases with these

keywords, providing the user with easy and effective communication with the search

engine. The user-interface is very similar to Google. This style is used because almost

everyone is familiar with this interface, making it ideal for the medical community.


r UIF X


File Edit View Favorites Tools Help
*-Back 4 [ 1 l Search GiFavorites *Media Q %- B U /
Address ii I 1 11 1 -, I hlhtm J rGo Links
University of Florida
Dept of Radiology
Teaching File


II Search ]
Advanced Search Search without Diag osis












FFi 7 B .', 1 inanet
Figure 3-2 Basic Search Screen


1'3http://localhostishriram/RankedGoogieSearchl.htm Microsoft lnterAI111











Figure 3.2 shows the first screen of WebSE. The user enters a set of keywords


separated by spaces in the provided text box, then clicks on the search button or presses


the enter key. This submits the keywords to "RankedSearchl.asp" on the web server.

Jl J ll r l_ l


I c x


File Edit View Favorites Tools Help
Back O 1 t2 QS each IFavorites IMedia 3 R- rl 9 1
Address l rrt I I r hriramr/RankedSearchl.asp j &Go Links

University of Florida
Dept of Radiology
Teaching File

Icell carcinoma Search

Advanced Search Search without Diamlosis

Search Results..

Diagnosis : Huge renal cell carcinoma with necrosis
ACR CODE: 81.32
Total Images : 2
Modalities : UnClassified=2
Age of Pt: 50 Gender : Male
Chief_Conplaint : Incidental finding on pre heart transplant abdonin
View Case Details

Dialgosis : Squanious cell carcinoma obstructing the RLL bronch
ACR CODE: 6.32
Total hnages : 12
Modalities : UnClassified=12
Age of Pt: 68 Gender: Female
Chief_Complaint : Fever, SOB.
View Case Details

Diagiosis : Metastatic renal cell carcinoma.
ACR CODE: 761.332
Total Imases : 13
Modalities : UnClassified 13
Age of Pt: 75 Gender : Female
Chief Complaint : Restaging scan.
View Case Details

Diagnosis : Left renal cell carcinoma.
ACR CODE: 81.324
Total nIages : 9
Modalities : UnClassified=9
Age of Pt: 55 Gender : Male
Chief_Complaint : Left flank pain
View Case Details

Diagnosis : Transitional cell carcinoma of right renal pelvis.
ACR CODE: 813.321
Total hnages : 4
Modalities : CT=4
Age of Pt: 72 Gender: Female

FF | F Local ntranet
Figure 3-3 Search Results Screen


Vl









The script in the asp file first establishes a connection with the database using an

ODBC connection, then dynamically constructs a SQL query with the keywords

submitted by the user. This query is sent over the ODBC bridge to SQL Server. SQL

Server executes the query and returns to the asp file the results as a set of records. The

results are wrapped in HTML and sent to the user's browser.

Figure 3.3 shows the screen displaying the search results. In the figure, the user has

submitted the phrase "cell carcinoma." As can be seen in the search results, all the cases

listed at the top contain the search phrase in the diagnosis field. This is because the search

results have been sorted for relevance. We examine the strategies used to rank the cases

based on relevance later in this chapter. The actual implementation of the strategy is

explained in the next chapter.

There are three views that show the results to the user, during free-text search.

These are

* Search Results View,
* Case Details View, and
* Case Images View.

The user can see the search results in the first view. This screen does not give all

the details about all the cases. Only a few fields of each case are shown. If the user wants

the complete details about a case, he can browse through the list and click on "View Case

Details." This takes him to the second screen, which shows all the textual information

available, about that particular case. The user can also click on "Total Images" to view

the images one by one. This takes him to a screen where he can browse through the

images for that case.











File Edit View Favorites Tools Help
Back M- Q B2 Q QSearch 3Favorites tMedia 3 'r F al1 13 '5 Y
Address li rr4 I i r hriram/viewCaseDetails.asp?casenumber=696&search cell%20carcinoma&mark=MarkO J &Go Links

Radiology Teaching File Case Details

Name ofPt:
Dia_4osis : Huge renal cell carcinoma with necrosis
ACR CODE: 81.32
Total Images : 2
Modalities : UnClassified=2
Age of Pt: 50 Gender : Male
Contributor: sistromc Imnaanon : ALLAN
Chief_Complaint : Incidental finding on pre heart transplant abdomin
Conunmets : COMMENT: Sections from left. nephrectomy specimen reveal renal cell carcinomna with extensive tumor
necrosis and tumor extension to renal capsule. However, a thin rim ofpericapsular adipose tissue is present (less than
0.21mm to tle tumor). No tumor is identified in the inked soft tissue margin. There is no tumor present inl ureter
margin. No gross tumor identified in the renal artery or renal vein.
Back to Search Page








.-I 1^1 Local Intranet
Figure 3-4 Case Details Screen

As can be seen in Figure 3.4, the view case details page displays all the information

shown on the search page. In addition to this information, details like comments are also

shown here. The user is provided with two options: he can either view the images of this

case by clicking on "Total Images" or he can go back to the search page by clicking on

"Back to Search Page" to look at the other cases.

Figure 3.5 shows the browse images view. Usually, a case contains more than one

image. When a user wants to see all the images related to a case, he is taken to the screen

shown in this figure. Here, the first image of the case is shown. Below the image, four

buttons are provided for navigation through the images.










File Edit View Favorites Tools Help
Back -+ 0 M f Q Search aFavorites OMedia p- a 11 ED
Address Ill rr I i r i.-iram/viewimagesl asp?casenumber 800&search cell%20carcinoma&mark MarkO J Go I Links


'"'Ii I" -'''I Bak to Scaili Page Vic%% Ca..'Dem iI
.(-I |^1 Local Intranet
Figure 3-5 View Images Screen

Note that in Figure 3.5, the "first" and "previous" buttons are disabled. This is

because, the first image for this case is displayed, so it is logical to disable them. In

Figure 3.6, the "next" and "last" buttons are disabled showing that it is the last image of

the case. When showing images that are neither first, nor last, all of the buttons are

enabled. This ensures that unnecessary confusions and problems do not arise while

browsing through the images.

Again, at any point the user has the option of going back to the search results view

or to the case details view. This is true for all the three views the user can, at any time

switch from one view to the other. This not only makes browsing through the set of cases

easy, it also makes the process of browsing efficient.









Jxjl


File Edit View Favorites Tools Help
*-Back 1 S Search GFavorites *Media J1 Iya- a 111 Ydi R
Addressl .rr, i I, r .i,-iram/viewimagesl.asp J Go I Links"


_____] "z__I __ 1Back to Search Pae Vie% Caie Deadiii
: F F i- .inranet
Figure 3-6 Another View Images Screen

The search results view is customizable by the administrator. When the search

results are shown, the script first checks the value of a "display" parameter for each field

in the RTF. Only when this parameter is true for a field is it shown in the results. These

parameters can be set or unset by the administrator, thereby changing the default behavior

of the search results view.

Additionally, some users might want to use the RTF to test their skills. To do this,

they would like to view all the details of a case except the diagnosis. This way, they can

try to determine what the diagnosis might be and then see if their answer matches the one

in the RTF. To facilitate this, a link is provided at the bottom of the page that allows the

user to search without the diagnosis. This offers the same user-interface, except that the


J'a ttp//lcalhst/hriam/vewiagel~ap icrsof Intrne Exlo-









diagnosis field is not shown until the user selects it [Harvard Medical School 2001,

University of Washington 2000].

3.2.2 Advanced Search

Sometimes, the user may want to add other criteria into the search. For example, in

addition to entering a search phrase, the user might want to limit his search results to

cases involving only infants. Obviously, this cannot be done with the general search. For

such queries, an additional search page called the "advanced search" is provided. Figure

3.7 shows the advanced search screen.

Here, in addition to specifying keywords for the search, the user can specify an

ACR code, Image Modality, Age range, Sex, and Contributor. None of these fields are

mandatory. The user can enter values into any combination of fields and obtain search

results. For example, the user can search for all cases contributed by a contributor "A,"

where the patient's sex is female. Or, the user might enter a search phrase "heart cancer"

and mention an age range for male patients. This helps in finding very specific cases

quickly leading to better use of the information in the RTF. The user can also search by

ACR code. An ACR code builder is also provided to help the user build an ACR code for

the type of cases for which he is looking.

Here, the search results are shown using the same display scripts used by the basic

search. Searching without diagnosis is also provided. By using a uniform style for

displaying search results, WebSE eases the understanding the user-interface.











File Edit View Favorites Tools Help
+-Back 4 e Ed Search aIFavorites *Media 1 N- i [- l |
Addressldlrn. I i, r hrirarr/advancedsearch.htm l Go Links

University of Florida

Dept of Radiology

Teaching File


Keywords |
ACR Code r ACR Code Builder
Modality ALL _
Age Select an Age Group
Sex Select a Gender
Contributor I Select Contributor
Search |


Basic Search Search Without Diaegosis

J ': r i Local ntanet

Figure 3-7 Advanced Search Screen

3.3 Summary and What Is Next

We first examined the database structure of RTF. Then, the two types of search

capabilities were examined. The basic search provides a quick and easy way of finding

the information while the advanced search helps the user to specify more complicated

queries. Search results are displayed in decreasing order of relevancy helping the user

look at the most relevant cases first. Also, a uniform and user-friendly interface helps the

physician to concentrate on cases, rather than the search tool itself. In the next chapter we

examine the interior design of WebSE.














CHAPTER 4
INSIDE WEB SE

All the features of WebSE shown in the previous chapters are not of much use if

the search itself takes a long time to execute. The goal of this thesis was to design a

search engine that could search through a database of cases efficiently and present the

results in a user-friendly manner.

The main tables to be searched include the TF table and the images table. The main

columns that concern us are "diagnosis," "chief complaint," and "comment." All these

columns contain more than one word, (i.e., there may be many phrases or sentences

within each field) where each phrase or sentence contains more than one word. To search

for keywords within a field, a normal "like %" query is used.

This type of search capability is provided by most database systems today. Using

this feature of the database system might seem to be a very simple solution and is fairly

easy to implement. However, the "like %" query has a big disadvantage in that it is quite

slow for larger databases. This is especially undesirable since the teaching file is an ever-

growing collection of cases.

Hence, a different search strategy has been implemented in WebSE. The search is

made much faster if we index every individual word in a field. Since database systems do

not generally support this type of indexing, the problem is reduced to indexing parts of a

field, using a database system that only supports indexing of whole fields.









To accomplish this, a set of special tables is created. These tables hold metadata

about the data in the RTF tables. These tables, which will be referred to as pseudo-index

tables from now on, act as one layer of the index. These tables are again indexed using

SQL Server's index support, which forms the first layer of index. Above all, the main

data tables are indexed on the primary key, which acts as the third layer of index. Figure

4.1 shows this 3-layer index architecture.


Query Requests





SQL Server Index Lnver 1
On Pseudo-Index Tables

Pseudo-Index Tables of WebSE Layer 2



SQL Server Index Layer 3
On RTF .


Main RTF Tables


Figure 4-1 The 3-Layer Index Architecture

This 3-level indexing expedites the search process greatly on systems that do not

support full-text indexing. Now, whenever the user submits a query, the whole indexing









system can be used to directly fetch the relevant cases from the TF table in optimal time.

Now, we examine the index tables and the whole system at runtime.

4.1 Indexing System

There are 3 main tables that compose the pseudo-index, which is the second layer

in the 3-layer indexing system. The Figure 4.2 shows the main tables and the

relationships that exist between them. A brief description of each table, its significance,

and its columns follow.


WordList _ColumnInfo
WordInfo
Word
Worded Word id Cohmumi id
Wordid i d

Case munber / ColmunnNaie
Count
Column id Cohlunnweight
Weight -
Position



Figure 4-2 Index Tables and Relationships

4.1.1 WordList

This table tracks all the words occurring in the database. It keeps information

relating to a word and is independent of the case in which the word occurs. For example,

let us say that the word "heart" occurs many times in the database across many cases.

Then, there will be only one entry for the word "heart" in this table. The information

about each individual occurrence of the word "heart" is stored in another table. The

following are the columns in this table.









* word: This field has a list of all the words in the database. If a word occurs in any
of the indexed fields, in any record, in the database, then it occurs in this field.
There is a clustered index built on this column. Clustered indices are supported by
most of the commercially available database systems, including SQL Server. When
an index is present in a column of a table, an index structure is maintained by SQL
Server to point directly to the data page in which the word resides. Also, since the
index is a clustered index, the data is physically sorted and arranged in that order in
the data pages. A search for any one word on this index table requires only two I/O
operations. One for fetching the index page and the other for fetching the data page.

* word_id: This is a unique id given to every word in this table. This is used when
storing extra information about a word in another table.

* count: This tracks the number of times a word has occurred in the database. The
count signifies the importance of the word. Very important words tend to occur far
less often than common words and hence will have lower counts.

* weight: A weight is assigned to each word based on the number of times it occurs
in the database. Commonly used words like "of' and "the" have a very low weight
assigned to them. On the other hand, less frequently used words like "carcinoma"
have a larger assigned weight.

4.1.2 WordInfo

This table tracks each instance or occurrence of every word in the wordlist table.

For every word in the wordlist table, there are one or more tuples in the WordInfo table.

* word_id: This is the unique identifier assigned to every word in the wordlist table.

* case_number: The case number uniquely identifies any given case in the teaching
file database. Here, it stores the case number of the case in which the word in the
word id field exists.

* column_id: This is a unique identifier given to every column in the teaching file
that is being indexed. Here, it represents the column in which the occurrence of the
word exists.

* position: The position field stores the position of a word in a column in a given
case. Within a given field, the first word is assigned a position value of"0" and
subsequent words get position values incremented by "1." This field is useful when
searching for an exact phrase match.










It must be noted that this table has no primary key. This enables multiple

occurrences of words within a case and within a column. Each occurrence of the word

has its own entry in this table.





WordList
wword word id count weight
wo



ColumnInfo
Column id Colunn name Collunweight


WordInfo
word word id case number column id position






aseTF case er ... t comment
case munber ... diagnosis chief complaint comment
case_ mber


ccase_nmrnber CTComut XrayColut ... TotalCou
case_n ber -



ShImages
cacaseinuiber ImageLocation Image_annot ... Imaq
case n nber




< Represents a clustered index on the left most column of the table


Figure 4-3 RTF and Index Tables









Figure 4.3 shows the index tables along with the main tables of RTF and the index

built on each table.

4.1.3 ColumnInfo

This table stores the list of columns in the TF database that need to be indexed.

This list of columns is stored in a separate table for increased flexibility and

customizability.

* Column_id: This is an "auto-number" generated by the database. It serves as a
unique identifier for a column.

* Column_name: This is the actual name of the column as it occurs in the design of
the TF table. This is used by the index populating scripts to obtain the name of the
column to be indexed.

* Column_weight: This is a weight assigned to each column, by the administrator.
This weight of the column plays an important role in ranking the query results. The
weight of a column signifies its importance compared to other columns in the table.
For example, assigning a weight of "2" to Diagnosis and a weight of "" to
Comments means that the diagnosis field is twice as important as the Comments
field.

4.1.4 ImageCount

ImageCount is an additional table storing pre-calculated image statistics about

every case. It is not an index table, but just serves as an extra table to speed up querying.

It stores the number of types of images of each modality for every case. This statistical

information is to be given to the user when displaying search results. However,

calculating these values at runtime slows down query processing. Hence, the values are

pre-calculated and stored in this table. At runtime, the values can be obtained from here.

Note that, initially, the index tables are populated based on the data in the RTF at

that time. However, as updates are made to RTF, the index tables also need to reflect

these changes. Keeping the index tables updated is very important since all the searching









is done through these tables. Otherwise, this could lead to cases that are never shown in

the search results or non-existent cases appearing in the results.

In WebSE, this is done with the help of triggers. Whenever a new case is added to

the RTF, triggers add the information about the words in the new case to the index tables.

Similarly, when a case is deleted, the related information is deleted from the index tables.

When an update is made to a case, all the information related to that case is deleted from

the index tables and then updated data is re-inserted.

We have seen the various components of the indexing system. Let us now see how

the 3-layer indexing system performs during run-time.

4.2 Query Processing: How It Works

When a user submits a search phrase, the web server creates an instance of the

search engine script. Then, the search phrase entered by the user is split into individual

words by assuming "space" as the delimiter. The script stores all the individual words in

an array. Each word is scanned for (wildcard). Depending on the whether wildcard

characters are found or not, a normal SQL query or a wildcard SQL query is built. This

query is submitted to the Database engine.

Every database engine develops a "query execution plan" before actually executing

a query [Stonebraker and Hellerstein 1998]. An execution plan is nothing but a sequence

of low-level operations that the database engine needs to perform to execute the query.

The plan takes into consideration the indexes present on all the tables involved and also

the sizes of the tables involved and optimizes the plan for time taken to execute the

query. Here also, once the SQL Server receives a query from the web script, it analyzes

the query and tries to formulate a plan. Due to the existence of the index system, the

database engine executes the query in a particular way.









We now examine how the query processor executes the query and see why it is

quicker than a traditional execution plan. Note that there may be some slight variations in

the actual processing path taken by the query processor of SQL Server from what is

mentioned below [Stonebraker and Hellerstein 1998]. However, the main steps taken

remain the same. We first look at the execution path for a traditional "like %" query and

then look at our system.

4.2.1 Traditional System

Let us examine the following SQL query, analyzing its run-time execution.

"Select from TF where diagnosis like '%heart%'

or chief complaint like '%heart%'

or comment like '%heart%' "

The above query looks for all cases that have the word "heart" mentioned

somewhere within the diagnosis, chief complaint, or comment fields. Note that, "%" is

the wildcard character in SQL.

So, the job of the database engine now is to find all the cases that have the word

"heart" mentioned anywhere in the given fields. But, the database engine does not know

which cases in the TF table have the word occurrence. So, the only way to execute this

query will be to look at each and every case in the TF table. To do this, it has to fetch

every data page that contains any record of the TF table and search the relevant fields for

the word "heart."

Since every page-fetch involves I/O, which is very expensive in terms of time, the

whole process can be considerably slow. As the size of the database increases, the total

number of I/O operations required to execute a query, also increases linearly. Let us now

compare this with what happens in WebSE.









4.2.2 WebSE

Query processing in WebSE is performed in two parts, first we look at queries

where the user only has one search term and then we look at multiple-term queries.

4.2.2.1 Single term search

Let us look at the same example used previously. To search for all the cases with

the word "heart," the search engine presents a different SQL query to the database

engine. This query makes use of the 3-layer indexing system and offers some speedup to

query processing. The query is as follows

"Select from TF where case number in

(Select casenumber from wordlnfo where wordid in

(Select word_id from wordlist where word='heart'))."

Query execution always starts with the innermost query. So, the first step in the

execution plan is to search the wordlist table for the word "heart." If the word is present

in the wordlist table, then it exists in the TF database. Otherwise, it can be safely assumed

that the word does not exist in the TF too. Since there is an index on this table's "word"

field, SQL Server maintains a separate index structure that has pointers to the exact

location of every record in its data page, based on the word. SQL Server uses this index

structure implicitly for fetching the right tuple from the wordlist table. So, the data page

of the wordlist table that has the word "heart" in it is retrieved. Now, the word id from

this record can be read.

The execution now proceeds to the next step and executes the next query in the

hierarchy. The goal of this step is to fetch all the records in WordInfo table that have the

wordid selected from the previous step. Again, there is a clustered index on the wordid

field here. So, the database system knows which data pages need to be retrieved and only









those are fetched. Also, since the index is clustered, all records with the same word id are

stored close to each other, making the number of pages to be fetched, minimal. The

case numbers are selected from this set of records.

Now the outer most query needs to be executed. The database engine needs to fetch

all cases that have the given casenumbers. Since the TF table also has an index on the

casenumber field, the database engine retrieves the required data pages into memory.

Thus, the required cases are obtained from the TF without having to search the entire TF

table.

Of course, there has been an overhead of two extra I/O operations to fetch the index

table pages. But considering that TF is a very large table and fetching all the pages into

memory takes a significant amount of time, the time saved is much greater. Note that the

same logic applies to fetching the image information from the images table.

The other advantage of this design is that, as the size of the database grows, the

time to execute the query does not increase linearly (as with the traditional approach).

The total I/O done decides the time taken to execute the query. In the traditional

approach, as the size of the database increases, a search would involve more page fetches,

making the execution time increase linearly with the size of the database. Here, no matter

what the size of the database, only the required pages will be fetched. However, this does

not mean that the execution time is totally independent of the database size. All the pages

that have cases from the result set will be fetched anyway and so execution time depends

on the number of cases in the final search results.

4.2.2.2 Multiple term search

If there is more than one word in the search string, then the search process is done

as a simple extension of the single-term search. First, a search is performed for all the









individual words, on the wordlist table; similar to the way it is done in a single-term

search, which results in a list of wordids. These word_ids are used to get a list of

casenumbers for each wordid. A different list results for each of the wordids. Every

list represents the list of cases having the word with the given word_id somewhere in

some column of the TF table. Now, these lists are merged together resulting in a final list

of casenumbers, which is used to retrieve the cases from the TF. Again, the rules of

indexes still hold, making all searches optimal.

WebSE also supports queries with wildcards. In a search phrase, the user can add a

wildcard before or after any word. For example, the user can search for "cardio* *nomy."

This searches for all words starting with "cardio" and all words ending with "nomy." The

steps involved in executing wildcard queries are exactly the same.

It should be noted that the basic idea used in the search strategy above is that any

case having at least one of the words from the search phrase, in some column or the

other, is relevant. This is a well-established technique that is the basis of all the web-

search engines and information retrieval systems.

In addition to searching the TF table efficiently, WebSE also ranks the search

results based on relevancy. We now examine how ranking of cases is performed in

WebSE.

4.3 Ranking

Ranking is the process of ordering the search results in decreasing order of

relevancy [Eylen 1997]. There are many ways of computing "relevancy" of a case for a

particular search phrase. The following techniques are used within Web SE.









4.3.1 Frequency of Occurrence

Given a search word, a case that has more occurrences of that word in its record is

assumed to be more relevant than a case having fewer occurrences of the same word. All

major search engines on the web use this principle of "word frequency" for ranking their

results. This statistical approach to ranking in a combination with other strategies has

proven to be extremely successful.

4.3.2 Column of Occurrence

In addition to using the frequency of occurrence, search engines like Altavista

[Eylen 1997] and Google consider the location of the word as well. Documents having

the search word in a heading get more weight than documents having the word at the

bottom. This idea has been employed within our indexing system. However, the direct

application of this principle does not make much sense in our indexing system. For

example, the name of a disease might occur either in the bottom or the top of the

description of the disease (in any column). Obviously, giving more weight to a case

where a disease name occurs closer to the beginning is really not significant.

However, consider the following example. Let us say that a user enters a search

term, which is the name of a disease. Suppose there are three cases that have the disease

name mentioned. Each case has the word occurring in a different column. It would be a

good idea to give cases with the word occurring in one column more importance than the

others. This is where the ColumnInfo table is used. As mentioned before, this table has a

column called "columnWeight." Each column that is to be indexed is given a weight in

this column. This is a way of assigning importance or relevance for a column. Based on

these weights, the case with the word occurring in the most important column can

obviously be considered as the most relevant among its peers.









4.3.3 Adjacency of Words

Yet another strategy used to order relevant results is to use an exact phrase match.

This is also used in all the major web search engines and is a pretty simple approach. If a

user is looking for the search phrase "heart cancer," then it makes sense that cases having

the words "heart" and "cancer" adjacent to each other in the same order are more relevant

than cases having just one of the two words. Also, this principle can be applied

recursively.

For example, if the user enters the phrase, "swollen heart anomaly," then, as earlier

mentioned, the cases with the phrase "swollen heart anomaly" will be more relevant than

cases with only one individual word. In addition to this, cases with partial phrase match

should also obtain a higher weight than cases with individual occurrences (i.e., cases with

"swollen heart" or "heart anomaly" obtain a higher weight than ones with only "heart" or

"anomaly" or both of them in any other order).

4.3.4 Weighted Words

If a search phrase has more than one word, then among the cases with only one

word, the cases with the more important word obtains a higher rank than cases with a not

so important word.

4.4 Implementation of Ranking

4.4.1 Ranking in Single Word Searches

Now, for single word searches the weight of the word is multiplied with the weight

of the column in which each occurrence of the word exists. The weight of the word is

obtained from the wordlist table and the weight of the column in which it occurs can be

obtained from the ColumnInfo table. After completion of the above procedure, the result

is a list of casenumbers and corresponding weights. There might be multiple









occurrences of a word in a given case, which means the initial list would have had

weights of each individual word occurrence. To consolidate the list, we group the result

set by casenumber and sum the weights. Mathematically, it can be represented as

For each case, the final weight =


[ 1: (column weight)] word weight
For all occurrences of
the word in a case
Finally, we have a list of casenumbers and a final weight for each case. This is

used to rank the cases such that the case with highest weight gets the best rank. It is

obvious that cases with more occurrences of the word in the more important columns are

in the top of the list and cases with fewer words in lesser important columns are towards

the end and all other combinations exist somewhere in the middle of the list. Changing

the weights assigned to columns can change the behavior of the search results greatly.

4.4.2 Ranking in Multiple Word Searches

4.4.2.1 Additional strategy

Ranking multiple-word search queries is very different from ranking single-word

queries. Here, in addition to the above-mentioned strategies (for single-word queries), the

relative ordering of the words within the search phrase also needs to be taken into

consideration. The cases where the "exact search phrase" is found are obviously most

relevant and should get the maximum weight. This forms the first tier of cases. In the

second tier are cases having all the words of the search phrase, where these words are

scattered across the case. Again, column weights still hold here.

The third tier consists of all cases having more than one word but not all of them.

Ranking of cases in the third tier can be a bit complicated. Cases which having a larger

number of higher weighted words in more weighted columns get a better rank than cases









having fewer words in lower weighted columns. Tweaking the weights of the columns

can change the behavior of this tier of cases dramatically.

The final tier of cases contains only one of the search terms. Obviously these are

the lowest ranked among the tiers and within this tier, the ranks of cases vary based on

the word they have and the column in which the word exists.

To summarize, the cases with the exact-phrase need to be ranked first. The cases

without an exact-phrase match follow next. And among them, cases with more words are

ranked higher than cases with fewer words. First, we will look at an example and then

examine how this is implemented.


Table 4-1 Example Table for Ranking

case number Comment
1 This is an interesting case of heart cancer
2 Patient complained of pain in the kidney
3 Good Example of malfunction in the heart
4 Lungs severely affected due to smoking
5 a cancer of heart is suspected
6 patient might need a heart transplant soon
7 Looks like cancer

Let us say Table 4.1 is a simplified RTF. For simplicity, it has only two columns

and contains 7 cases. Now, when a user submits the search phrase "cancer of heart," all

cases except case number 4 appear. Case number 5 appears first because it has an exact

phrase match this forms the first tier of cases. Case number 1 comes next since it has all

the words of the search phrase though not in that order. This is the second tier of cases.

Case number 3 forms the next tier. It has two words from the search phrase -

"heart" and "of." Case numbers 2, 6, and 7 comes last as they all have only one word









from the search phrase. These form the last tier of cases. The ranking among these cases

depends on the weights assigned to the words themselves.

4.4.2.2 Implementation

First an exact phrase search is done. For this, the casenumber lists for all the

individual words are calculated. Once these lists are computed, the position fields are

checked to see if the words exist adjacent to each other within a given case and column.

The lists are merged based on this condition.

In the end, only one list of casenumbers exists, which are the cases where the

exact phrase is present. This list of cases is kept aside for the time being. Also, a special

"exact-phrase" constant value is added to all these case's weights to make sure that they

get a better rank than the other lists of cases. It should be noted that the exact-phrase

match works recursively. In other words, even partial exact phrase matches are given

extra weight when compared to the single word matches.

As the next step, each word is searched in the WordList table, and then with its

word id all the info is obtained from the WordInfo table. So, at the end, we have a list of

wordids and each word_id has a casenumber list with weights. If we merge all these

lists and group them by casenumber and then sum the weights, we obtain one final list

of casenumbers with its corresponding final weights.

This list is merged with the "exact-phrase" result list. Since we added a constant to

the list of exact phrase weights, they have an increased weight and stay at the top of the

list. The cases with a larger number of words obtain a better weight because the sum of

all the weights is greater. Mathematically, the formula is

for each case, the final weight =










[ I (column weight word weight)] + exactphraseconstant*n
For all occurrences of
all words in a case
where "exactphrase_constant" is an arbitrary constant added to exact phrase

matches to force them higher in the list. For cases having no phrase matches, this value is

zero. And, "n" is the number of phrase matches found in that case.

The final list of casenumbers and weights is sorted in descending order and then

the TF table is queried for the corresponding casenumbers to obtain the final list of

results.

4.4 Summary and What Is Next

We examined the design of the 3-layer indexing system. We then saw how WebSE

performs better than the traditional search engine, by making use of this indexing system.

We looked at the ranking strategies used and also how these are implemented. We also

looked at how the indexing system updates itself. The next chapter proposes some future

extensions to WebSE.














CHAPTER 5
CONCLUSIONS AND FUTURE WORK

This thesis examined the requirements of a search engine for the RTF and then

presented the design and features of WebSE. WebSE focuses on searching the database

efficiently and also providing a method of ranking the search results. Presented were an

introduction to the problem, a design overview, the design of the existing RTF, the

technologies used, the underlying database design, the design of the indexing system and

how it improves the query processing, and the ranking strategies used. This chapter

presents a final examination of WebSE and proposes some future extensions.

5.1 WebSE

In this thesis, a 3-level indexing system was described and used. It not only helped

in making the search process efficient, it also made the search scalable to larger databases

without a linear increase in processing time. WebSE also sorts the search results based on

the relevancy. This allows the user to look at the most relevant cases first, thus making

searching for cases easier and more efficient for the user.

WebSE presents a user-friendly interface making it easily acceptable in the medical

community. The interface used is borrowed from Google. Since almost everyone is

familiar with the Google interface, using the WebSE interface is very intuitive. WebSE

allows a basic search where the user can search the RTF using a set of keywords or a

more advanced search, where the user can add more constraints to the search to make it

more specific.









WebSE also offers some customizability. The fields to be shown in the search

results screen can be changed by the administrator. The administrator can also change the

weights assigned to columns to change the relative ordering of search results. This allows

for greater control over ranking.

5.2 Extensions

The following features can be added to WebSE to make it more user-friendly and

powerful as a search tool.

5.2.1 Synonyms

WebSE uses a keyword-based search to find relevant cases in the RTF. However,

this is not free from limitations. It is a known fact that synonyms exist for many English

words and medical terms. So, if someone searches for the term "heart," WebSE will only

find cases containing that word. However, there might be some other good cases in the

RTF that are very much relevant to "heart" that use the medical synonym "cardio." Right

now, the user can get around this by searching for all the synonyms of a word, but it

would better if WebSE can build a database of synonyms and automatically search for all

of them.

5.2.2 Spelling Mistakes

Since most of the information in the RTF is entered through typing, there is always

a chance of spelling mistakes. This could lead to cases not appearing in the search results.

For example, if the word "kidney" is misspelt as "kidey," then this case will not appear

for the search term "kidney" unless there is an occurrence of "kidney" somewhere else in

the same case. As a future extension to WebSE, a strategy for catching such

typographical errors can be devised. This will improve the accuracy of the search system

and will lead to better utilization of the information in the RTF.






49


5.3 Summary

In the information age, an efficient and easy-to-use search tool can be priceless in

any organization, including the medical community. With WebSE's simple and user-

friendly interface and efficient and scalable search, the information in the RTF can be

accessed quickly. Once the physicians are able to access any case quickly, they can

provide a better teaching experience by using these for illustration.















LIST OF REFERENCES


ACR. 1994. American College of Radiology. www.acr.org. Visited Apr 2002.

Balakrishnan A. 2002. Design and Analysis of User Interface for Radiology Teaching
File. Master's Thesis. University of Florida.

Dugas M., Trumm C., Stabler A., Pander E., Hundt W., Scheidler J., Briining R.,
Helmberger T., Waggershauser T., MatzkoM. and Reiser M. Case Oriented
Computer-Based Training in Radiology: Concept, Implementation and Evaluation.
Oct 2001. BMC Medical Education, University of Munich, Germany.

Elmasri R. and Navathe S.B. 2001. Fundamentals of Database Systems. Pearson
Education, Singapore.

Eylen D.V. 1997. AltaVista Ranking of Query Results.
http://www.ping.be/-ping0658/avrank.html. Visited Feb 2002.

Harvard Medical School. 2001. BrighamRAD.
http://brighamrad.harvard.edu/education/online/tcd/tcd.html. Visited May 2002.

Microsoft. 2000a. VBScript.
http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/script56/html/vtoriVB Script. asp. Visited Mar 2002.

Microsoft. 2000b. MS Access Help. Microsoft, Seattle.

Microsoft. 2000c. SQL Server Help. Microsoft, Seattle.

Microsoft. 2001. Microsoft ODBC and Universal Data Access.
http://www.microsoft.com/data/odbc/default.htm. Visited Mar 2002.

Microsoft. 2002. Active Server Pages.
http://msdn.microsoft.com/library/default.asp?URL=/library/psdk/iisref/aspguide.ht
m. Visited Nov 2001.

Stonebraker M., Hellerstein J.M. 1998. Readings in Database Systems. Morgan
Kaufman, San Francisco, CA.

University of Washington. 2000. Radiology Teaching File.
http://www.rad.washington.edu/maintf/. Visited May 2002.















BIOGRAPHICAL SKETCH

Shriram Lakshmi Narasimhan was born in Tiruchy, Tamil Nadu, India, on

November 18th, 1978. He has lived in Hyderabad for the first 21 years of his life. He

graduated from Jawaharlal Nehru Technological University in 2000 and received his

bachelor's degree in computer science and engineering.

He is pursuing his graduate study with a specialization in databases at the

University of Florida. He plans to graduate in December 2002 with a master's degree in

computer science.

Shriram worked for the University of Florida McTrans Center as a programmer

during his graduate study. There, he contributed to the development of the Highway

Capacity Software, among other things. He plans to move to Seattle where he has a

position with Microsoft as a software design and test engineer in the SQL Server group.