1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.07 [en] (X11; I; Linux 2.0.36 i586) [Netscape]">
<TITLE>Title</TITLE>
<!--Created by Applixware HTML Author, Release 4.4 on Sat Nov 6 00:00:46 1999-->
<!--Ax:WP:DocVar:HTMLOriginalPath@:"/tmp/ex03380d.aw"-->
</HEAD>
<BODY>
<CENTER><B><FONT FACE="helvetica, helv, geneva"><FONT SIZE=+2>Open-Source
Medical Information Management</FONT></FONT></B>
<P>Copyright 1999, Daniel L. Johnson</CENTER>
<BR>
<P><BR>
<P><B>Disclaimers</B>
<P>I have no commercial interest in any of the software discussed in this
essay; in fact, I've spent a lot of my own money on this project just for
the pure pleasure of it. My only conflict in this arena is that I have
lately come to own a little Red Hat stock through accident of birth.
<P>I am not a <I>GNU/Linux</I> or <I>free software / open source</I> zealot;
I simply recognize its genuine strengths and enormous potential. I am not
opposed to commercial software; in fact, I am an investor and board member
of a company, Technology Concepts, Inc., that is a provider of real estate
database software and which does not use any free or open source technology,
and is wedded to Microsoft technolgy.
<P>My employer, the Red Cedar medical Center, and our owner, the Mayo Regional
Health System,
<BR>have not supported this work, nor have they been asked to endorse it.
It is purely my own
<BR>work.
<P>I have done enough coding to know that my time is better spent supporting
skilled hackers rather than trying to become one. I have watched the computer
industry carefully for twenty years, but I do not know nearly enough about
it; in this essay I have done my best to tell the truth: all errors are
inadvertent, and I'll be grateful to be educated where you see a need for
it.
<P>Whenever something I say in this document seems not to make sense, please
consider it a failed attempt at humor.
<P><B>Author's background</B>
<P>I am Daniel L. Johnson, an internist from Menomonie, Wisconsin. I've
had an interest in office ergonomics for about 30 years, since being an
office supervisor before medical school; and an interest in finding ways
to use computers to aid clinical efficiency since about 1983, when I found
a replacement for the accounts-receivable software that my clinic was using.
In 1985, after a change in practices, I became interested in the intellectual
and manual processes of mining information from a clinical record for medical
decision-making. This led me in 1986 to write a specification for software
to make the intellectual tasks of the office physician more efficient,
but the databases and tools did not yet exist to make this feasible. This
specification, updated for current technology is available at
<P>http://lorenzo.uwstout.edu/QQMIM/qq4.html.
<P>The tools now exist to create such a system, but it remains to be determined
whether interest, motivation, and human capital can be assembled to bring
this about. This specification I whimsically call "QuickQuack."
<P>The html version of this essay will be located at
<P>http://lorenzo.uwstout.edu/QQMIM/medicalfreesource.html
<P>You may contact me at
<BR> johnson.danl@mayo.edu
<BR> or
<BR> johnsondanl@m1.uwstout.edu
<P><B><FONT SIZE=+1>Open-source medical software.</FONT></B>
<P>The focus of this essay is medical-record software aimed at the outpatient-care
setting. Hospital care requires record-keeping with an entirely different
philosophy than outpatient clinical care, such that it is not possible
to do justice to both in one presentation.
<P>Hospital documentation is oriented around single, completely encapsulated
events of care, lasting hours to weeks. Outpatient-clinic documentation
is oriented around longitudinal care for at least an episode of illness,
but in primary medicine, the "episode of care" is the patient's entire
life. In the most general sense, any chronic illness or primary care requires
rapt attention to the longitudinal aspects of the patient's condition;
a transient condition is an "interlude"<SUP>1</SUP> of care.
<P>Thus a hospital-based electronic medical record could be subsumed within
an outpatient-clinic record, as a "lobe" off the main record; but it is
not possible to take a record designed for the hospital and generalize
it to the outpatient-clinic setting.
<P>A strategy of any project must be to begin simply; to identify accurately
the essentials of the electronic record and focus on these while planning
for the inevitable addition of complexity and evolutionary needs. One of
my goals here is to begin to identify the "kernel" of the record and recognize
the directions it must take.
<P><B>Extant Computerized Medical Information Management Projects</B>
<BR>
<TABLE BORDER CELLPADDING=0 WIDTH="524" >
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Project</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">Internet address for more information,
if any
<P>(principal author or project leader, project location)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Perceptions</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.enjellic.com
<P>(Greg Wettstein, Fargo, North Dakota)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>VistA</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.hardhats.org/apps/APPSmain.html
<P>or http://www.va.gov/vama.htm</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Arachne</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.arachne.org/arachne_overview.html
<P>(Stephan R.A. Deibel, John Ehresman, Massachusetts)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Littlefish</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.paninfo.com.au/intro/littlefishproject_homepage.htm
<P>(Chris Fraser, Australia)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Tk_familypractice</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.psnw.com/~alcald/Tk_familypractice.README.html
<P>(Alexander Caldwell, California)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>FreeMed</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://freemed.org/
<P>(Jeff Buchbinder, Connecticut)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>FreePM</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.freepm.org/
<P>(Tim Cook)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>Circare</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://www.minoru-development.com/circare/
<P>(Brian Bray, Joseph Dal Molin, Hamilton, Ontario)</TD>
</TR>
<TR ALIGN=CENTER>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="22%"><B>QQ-MIM</B></TD>
<TD ALIGN=LEFT VALIGN=TOP WIDTH="78%">http://lorenzo.uwstout.edu/QQMIM/medicalfreesource.html
<P>and /QQMIM/qq4.html</TD>
</TR>
</TABLE>
<P>A listing of most projects is at
<P><FONT FACE="helvetica, helv, geneva">http://www.minoru-development.com/en/healthlinks.html#projects</FONT>
<P><B><FONT SIZE=+1>A brief history of free software:</FONT></B>
<P>(See http://www.fsf.org/gnu and http://www.tuxedo.org/~esr/writings/hacker-history/)
<P>In the 1970's, the success of proprietary operating systems, particularly
UNIX, created frustration in the academic community, who could not use
these systems for study or teaching. This was a tremendous hindrance to
their effectiveness. This situation motivated Richard Stallman to begin
the GNU project in the mid 1980's. At first this project produced utilities
and applications, but its fundamental goal was a free OS. Meanwhile, the
proliferation of different flavors of UNIX resulted in development of the
POSIX standards. In 1991, the world still was without a functional OS that
was available for teaching.
<P>The FSF had already begun an OS project, but this had bogged down due
to hardware limitations and its own complexity. Into this vacuum, Linus
Torvalds in 1991 posted his preliminary work on making a UNIX-compatible
OS for Intel processors. This project was sufficiently simple and its goals
quite clear; and the felt need was very great, so that it attracted the
interest of many skilled programmers around the world.
<P>It is important to realize that Linux was initially a success: it immediately
was a useful teaching tool and its development quickly liberated academicians
from the vendor lock that had paralyzed them for a quarter-century. These
developments are more important to the rapid progress of software and connectivity
than is its subsequent commercial success, as free access by programmers
to code and basic tools makes them significantly more efficient and more
effective.
<P>A by-product of this success has been a controversy over the meaning
of "free" and the development of an interesting variety of points of view
on what restrictions are or are not important for the continued development
of such software. The controversy ends up, of course, with some disagreement
over whether there is some code that must be or should be confidential
and proprietary in order to ensure the viability and reliability of businesses
that develop it and are expected to maintain it.
<P>To review the open-source material, visit
<P>http://www.opensource.org
<P><B><FONT SIZE=+1>The Moral Basis of Free Software/Open Source.</FONT></B>
<P>Now that I have your full attention, let me explain why I use the word
"moral" here. Although I have seen programmers deride the enthusiasms of
f-s/o-s enthusiasts as "religious," this accusation is inaccurate, and
the movement is not in any way a religion. The word "moral" is an important
secular term to describe the fact that when we form groups and associations,
we encourage and follow rules that define the group and that help the group
produce benefit for all its members. Such rules are, in the most general
sense, "moral" obligations, which are relative to the goals of the group.
The social nature of mankind is such that group loyalties are strong, and
the norms of any tightly-knit group may sometimes be enforced with "religious"
zeal. The f-s/o-s movement was begun by people with strong convictions,
and continues to attract some people with strong convictions about what
it can and should be.
<P>Hence, to understand the strength of the "free software"/"open-source"
community and the vigor of the debates over proper handling of free software,
we must notice that these phenomena involve groups of people, not individuals.
These groups did not form on the basis of economic need, but of educational
and functional need. Economic use followed.
<P>Let's step aside briefly to understand the free-software/open-source
revolution better:
<P>Capitalism has traditionally been a bastion of individualism, and personal
freedom is thought to be part of its foundation. On the other hand, academia
and commercial enterprise have often been in conflict, partly because free
exchange of ideas is the most important principle of an academic community,
while privileged knowledge has always been a source of riches for the businessman.
<P>In the centuries since Adam Smith's work, economists have paid ever-closer
theoretical attention to the idealized construct of "perfect competition."
Two of the requirements of perfect competition are freedom to participate
in the economy ("to trade") and equal access to information. Businessmen
who profess loyalty to "competition" and to the ideals of capitalism are
assertive in advocating their rights to freely participate in trade and
to compete, but don't share information, favoring imperfection as long
as it favors them. Academicians have paid scant attention to trade and
have devoted much attention to freedom of ideas, often with trumpeting
and breast-beating.
<P>In 1986, David Gauthier famously wrote in <I>Morals by Agreement</I>
that a perfectly competitive market, "Were it realized, would constitute
a morally-free zone, a zone within which the constraints of morality would
have no place. ...this is not a fault, but the essential virtue of the
market." This libertarian ideal has had significant influence on the behavior
of judges and businessmen. But it is not correct. The reason it is not
correct, and the fact it is not correct, are important to understanding
the vitality of the open-source, free-software community.
<P>In his forthcoming book, <I>The Moral Conditions of Economic Efficiency,
</I>Walter
Schultz analyzes the Fundamental Theorem of Economics and clarifies its
presuppositions, and proves rigorously that an idealized economy cannot
be efficient if the agents acting within it have neither moral constraints
nor an internal incentive to act morally.
<P>One key to understanding is that "morality," at its kernel, is neither
religious nor absolute. It is relative to the values of a particular community.
Schultz, a philosopher, presents a minimal definition of "morality" that
is valid across Western and modern Eastern cultures:
<P><I>Morality</I> is
<BR> - a normative social practice,
<BR>
the purpose of which pertains to collective and individual well being,
<BR> - guided by beliefs held in common,
<BR>
concerning
<BR>
- criteria by which to evaluate behavior,
<BR>
- criteria for mutual responsibility, and
<BR>
- procedures for mutual accountability.
<P>That is, "morality" is the word we use to describe the behavioral standards
or limits a group evolves to define itself, for the benefit of the group
and the individuals in it. The well being of the individual does not necessarily
conflict with group well-being, but when they do conflict, the balance
is tipped somewhat in favor of the well being of the group as long as the
individual is not harmed.<SUP>2</SUP>
<P>We humans are social animals; we--that is, our self-concept and our
public identity--are significantly defined by the groups we belong to and
which will have us. Some of our deepest convictions and strongest emotions
involve group dynamics. Much of what we regard as "right" or "wrong," "just"
or "unjust," stem not from religious moral absolutes but from informal
group or community dynamics.
<P>So Robert Young of Red Hat is taking a consciously moral stance when
he states that Red Hat releases all its code because "it is the right thing
to do," and when he refers to partnerships with developers and users as
"setting up an ecosystem" that creates a "virtuous circle." (See PC Week,
Sept. 27, 1999, p.100)
<P>As Linux has drawn millions into the fringes of the free-software movement,
we have seen vigorous debates over the standards and "normative constraints"
which are proper for this evolving community. These debates are an essential
part of community formation and evolution; their outcomes define the community
and the nature of the "well being" it confers on its members. The enduring
conflict of values and priorities between the commercial and the academic
communities, both of which can benefit from free software, has fueled the
fires of debate. The existence of "community" <I>does not</I> imply <B>consensus</B>!
Anyone who's lived in a small town knows this.
<P>In fact, the objectivity and the personal restraint of most participants
in this debate is more remarkable than the occasional bursts of intolerance
or foolish egocentrism. (As opposed to prudent egocentrism...)
<P>Robert Young notes the lack of consensus in the same PC Week interview:
"This term "Linux Community" and the implication to outsiders that the
community is cohesive--it has never been cohesive. It is, far and away,
the most argumentative, acerbic group I have ever had the misfortune to
be a part of . But don't get me wrong. That has been good for the technology.
It's a community that values truth and values engineering excellence over
marketing and compromise."
<P><B>Academic Freedom and Capitalist Opportunity.</B>
<P>The history of the medical community is a paradigm for what has been
developing in the free software/open source community, as the same debates
have occurred across recent centuries.
<P>Two and three hundred years ago, doctors, particularly surgeons, were
entrepreneurial craftsmen. Those who had discovered secrets of anatomy,
surgery, or medication used this special knowledge to make themselves famous
and rich. They used this knowledge to attract clients and apprentices,
and an apprenticeship to a famous surgeon was not purchased cheaply. Their
discoveries were published after decades, or posthumously, if at all.
<P>In fact, publication itself is a late development. Gutenberg's invention
of the printing press was not done in order to make mass publication possible.
The motive and the first use was simply to reduce the production cost of
illuminated manuscripts, to sell these for the (very high) going rate,
and make a large profit. Mass communication became possible only with inexpensive
methods of typesetting, paper production, and printing -- and with the
discovery that a mass market might indeed exist, a nineteenth-century phenomenon.
<P>Today doctors, particularly surgeons, still put enormous energy and
politically-sophisticated efforts into justifying and protecting our high
fees and comfortable incomes. But this is no longer done through entrepreneurial
promotion of medical secrets; it is done by maintaining special expertise
in areas of highly complex <I>public</I> knowledge and providing <I>service
</I>of
extremely high quality.
<P>In fact, if a health practitioner claims to have special, secret knowledge,
this is always assumed to be quackery -- until it is published and subjected
to the rigors of scientific validation. The "doctor" who practices strictly
entrepreneurial medicine using "peculiar" knowledge is viewed contemptuously
by physicians, and is in fact acting immorally based on the standards (social
norms) of the medical community using the cross-cultural definition of
"morality" above.
<P>This is exactly the transformation that free software, particularly
GNU/Linux, is fostering. Software is becoming a community asset, and community
ownership is becoming a moral standard.
<P>Why is this happening?
<P>Because there is unequivocal <I>community benefit.</I>
<P>The justification for academic freedom is ultimately that common knowledge
benefits society -- "community" in the broadest sense.
<P>The reason that medical knowledge has become public property is that
there have been successive revolutions in knowledge of anatomy, surgical
technique, anesthesia, bacteriology, antibiotics, physiology, pharmacology,
and now immunology and molecular genetics which have transformed medical
care from shamanism to reliability. To share this knowledge benefits mankind
-- "community" in the broadest sense.
<P>And the reason that proprietary operating systems and basic tools are
coming under the rubric of academic freedom -- the underlying significance
of "free software" -- is that computers are becoming a ubiquitous and essential
tool of society.
<P>Our definition of "moral" limns (highlights) the observation that social
benefit, in practice, outweighs individual benefit. That is, if a group
is to exist at all, benefit to the group must outweigh benefit to an individual
when they are in conflict. To put it another way, the group exists to benefit
its members: this is an individual benefit. But when taking an action that
benefits an individual will "harm" the group in some way, then the individual
is "morally" constrained in some way to avoid the harm; ideally without
also harming the individual.
<P>The "harm" that proprietary, secret code brings to a community of users
(end-users and the programmers that serve them) is (for examples) delayed
development and failure to resolve bugs, frustration from achieving goals
of known feasibility, inefficiency, and financial exploitation. The "benefit"
of open code is (for examples) to accelerate development, enhance efficient
use of code, freely exchange and debate ideas, which leads to improved
algorithms and techniques, to expedite agreement on communication and exchange
protocols, and to hinder financial exploitation and gouging by introducing
competition for service.
<P><B>How does this apply to the development of medical software?</B>
<P>It means that those features of software which will be of general use
to the entire medical community in promoting communication, appropriate
data exchange, and those features which tend to improve health care in
society should be subject to the principles of academic freedom: the code
should be open.
<P>It means that software designed to perform tasks that tend to be unique
to organizations or matters of individual preference, or knowledge that
is special to a particular enterprise need <I>not</I> be open; in fact,
opening such code does jeopardize the security of the vendor.<SUP>3</SUP>
<P>Nevertheless, users of software tools are learning that open code helps
protect them from vendor lock and exploitation, and sophisticated users
are beginning to require, as part of vendor agreements, that the code as
well as the executables be released to the user, typically with a non-disclosure
agreement executed by the user on behalf of the vendor.
<P><B>Rights of the Programmer</B>
<P>Dr. Schultz, after proving rigorously that economic inefficiency is
the outcome of a morality-free community, then asks what are the normative
conditions that will provide efficiency in an idealized competitive economy.
He rigorously proves that at least four exist in respect to economic exchange
situations, which happen to moral rights in the cross-cultural sense already
given. I list them without his proof:
<BR><FONT FACE="symbol">·</FONT><B> A right to truth.</B> This is
a right to truth regarding goods and services and acceptable prices; it
entails an obligation not to lie.
<BR><FONT FACE="symbol">·</FONT><B> A right to property.</B> This
permits a set of defined property rights; it entails an obligation against
theft.
<BR><FONT FACE="symbol">·</FONT><B> A right to autonomy.</B> This
is a liberty right, to act freely within group constraints; it prohibits
exploitation and slavery.
<BR><FONT FACE="symbol">·</FONT><B> A right to welfare.</B> The
Fundamental theorem presumes an "initial consumption bundle;" this right
obligates the community to restore a minimally adequate consumption bundle
to the person whom disaster strikes; everyone else contributes to its restoration;
it entails an obligation to give. (This is what commercial insurance and
government disaster relief provide.)
<P>It is useful, in seeking to understand the nature of the free-software/open-source
movement, to extend these rights to production situations, specifically
the economics of software production and service. In this sense, what do
these rights entail? I attempt here to connect them with the known mores
of the community, to the extent that there appears to be any consensus.
<P><FONT FACE="symbol">·</FONT> <B>A right to truth.</B>
<P>The hacker has a right to verifiable code.
<P>There is an obligation not to distribute (deliberately) obfuscated code,
rogue patches or binaries, Trojan horses, and not to give false instruction.
<P><FONT FACE="symbol">·</FONT> <B>A right to property.</B>
<P>There can be a set of ownership rights by which a hacker may own and
distribute code, and there is (separately) an absolute right to have possession
of code.
<P>This right also implies a right to hack; there is an obligation not
to hinder hacking, an obligation not to plagiarize code; and an obligation
not to destroy code or its repositories (an obligation not to disseminate
destructive viruses).
<P>This property right gives a hacker the right to earn a living from the
community's code and his/her own modifications.<SUP>4</SUP>
<P><FONT FACE="symbol">·</FONT> <B>A right to autonomy.</B>
<P>There is a right to liberty within the community; to hack in whatever
way the individual wishes; the right not to be exploited, interfered with,
or enslaved. It entails an obligation not to intrude on the autonomy of
others (e.g., with false announcements).
<P><FONT FACE="symbol">·</FONT> <B>A right to welfare.</B>
<P>There is a right to receive a "grubstake" from the community, either
as a newbie or after a destructive disaster. This entails a right to learn
to hack new code (apprenticeship) and an obligation to teach others in
the community. (Property welfare is in our society covered by commercial
insurance.)
<P>Programmers in the free-software/open-source community are not, of course,
in any sense consciously working under these principles; what I have done
is to attempt to take a well-defined set of theoretical rights that apply
to an idealized exchange economy and ask informally whether there is commonality
with what I've observed in the f-s/o-s community. These parallels are interesting.
<P><B><FONT SIZE=+1>Motivations of Open-Source Participants</FONT></B>
<P>What causes programmers to participate in the f-s/o-s community? Several
people have commented on this with interest, and after reading some of
this commentary and after analyzing my own observations, the only possible
conclusion is that people participate in this activity for the full range
of reasons that they participate in any other activity, and it is not realistic
to attribute any particular motive to the entire community, even though
one part of the community might be easily characterized for one reason
or another.
<P>Regardless, there are some important factors to consider, that are important
in understanding the free software / open software communities.
<P><B>Non-economic incentives.</B>
<P>In the beginning of free software, there was "officially" only Richard
Stallman, and he has made his motives clear in his own writings. Some of
those who latched on perhaps shared his motives, but it's also clear that
not all did. Nevertheless, for several years, free and open software was
not commercially useful, so while economic dreams might exist, participants
had to satisfy their economic needs elsewhere. Thus free software was the
hobby of the "rich," and those who devoted time to it were doing so for
reasons other than simple avarice.
<P>By "rich," I do not mean that the participants have been or are financially
wealthy; only that their survival needs are somehow satisfied in a way
that left considerable time for experimentation with free software. Some
may have been wealthy; most simply had "day jobs" or were students with
the usual sources of student support.
<P>My own impression, from the sidelines, was that to some extent the free
software community was a "sandbox culture." That is, like play in a child's
sandbox, some of the work was done for the sheer pleasure of being able
to build something by yourself, which one did not have the opportunity
to do otherwise, for any variety of natural reasons. Linus Torvalds was
quoted in an interview in the November, 1999, <I>Linux Journal</I>, as
saying, "Linux didn't start out as a message to the masses. Unlike Richard
Stallman, I really don't have a message. He has one and can go on about
it forever. I'm just an engineer. Let's see. Do things well! Do them with
heart!..." The desire to build seems to be built into the human psyche,
and to build well is a natural goal.
<P>It is also clear that some participation is morally based, as Stallman's
seems to be; often this is a response or adverse reaction to negative commercial
values such as greed or debilitating secrecy. In any case, as a community
develops, it intrinsically develops a morality that defines its borders
and its purposes. This results in strong and even militant advocacy of
these characteristics. To the extent that non-economic incentives are seen
as an essential characteristic of the community, there will be emotional
and persuasive argument against permitting economic incentives to guide
the community. We have seen such debates.
<P><B>Economic Incentives.</B>
<P>The quality and usefulness of the mature GNU/Linux system has been great
enough to make these tools useful in many ways to people who must make
their living with software. This has led to non-commercial successes such
as <I>Apache</I> and <I>Debian</I> and to commercial successes such as
<I>Red Hat
</I>and <I>Caldera.</I> As a result, we now have a larger community,
which presently includes all the usual economic motives for participating.
This has resulted in the "free" versus "open" software debate, and the
recognition by most people that it is economically appropriate for some
software not to be free. (Overall, the commercial-software community does
not understand the strength of freedom for power and quality, does not
understand its benefits to the end user, and does not understand when software
is most suitably "open" and when it is suitable to keep it "closed.") The
agreement that some software is best "free" and other software may be suitably
proprietary has, of course, resulted in vigorous and sometimes intense
debate about where to draw the grey zone.
<P><B>"Open" vs. "closed" medical software.</B>
<P>The medical community brings a special complication to this debate,
because the information that is kept by this community is <B><I>confidential</I>
</B>.
The requirement for confidentiality will inevitably confuse the debate
about what aspects of medical software may be open-source. Some of this
confusion will likely be deliberate. While the code may be free, the information
it contains and manipulates must never be free. It is perhaps less obvious
that commercial exploitation of this confidential information, whether
or not behind the veil of closed code, is unethical.
<P>Briefly, our need in the medical community is for open-source connectivity
tools, common databases, and open-source security and authentication tools.
That is, we medical professionals need to be able, on behalf of good care
for our patients, to transfer clinical information electronically to other
professionals involved in a patient's medical care, either concomitant
with a referral or by the direction of the patient. At the same time, we
must protect this data from mining by insurance companies, government agencies,
and interested individuals who have no right to the information, and who
might use it in ways adverse to the patient's benefit.
<P>It is clear that user interfaces, productivity tools, and display techniques
can be as proprietary as desired. Business offices, medical ancillary staff,
and physicians do need to have top-level tools that help them work efficiently,
and this is best done by being able to customize theses tools to local
and individual needs.
<P><B><FONT SIZE=+1>Open-source Medical Software Projects</FONT></B>
<P>With this philosophical rubric in mind, let's review current open-source
projects and consider how they meet the need for free code in medical information
management.
<P><B><FONT SIZE=+1>Classification of software:</FONT></B>
<BR>
<TABLE BORDER CELLPADDING=0 WIDTH="525" >
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER><B><I><FONT FACE="helvetica, helv, geneva">Project</FONT></I></B></CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER><B><I><FONT FACE="helvetica, helv, geneva">Classification</FONT></I></B></CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Perceptions</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Creviceware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>DHCP / VistA </CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Whaleware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Arachne</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Creviceware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Littlefish</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Wholeware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Tickle-FP</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Taskware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>FreeMed</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Cloneware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>FreePM</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Designware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Circare</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Foundationware</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>QuickQuack</CENTER>
</TD>
<TD VALIGN=TOP WIDTH="50%">
<CENTER>Demoware</CENTER>
</TD>
</TR>
</TABLE>
<P>The classifications are whimsical, and should not need elaborate definition;
there is no "hidden meaning."<B><FONT SIZE=+1>Perceptions</FONT></B>
<P>At the beginning of this decade, the Roger Maris Cancer Center was formed
in Fargo, ND. The staff was faced with the challenge of managing four legacy
systems which could not communicate with each other. Important goals were
to develop an information support system (for the clinicians brought together
by the center) and to increase business efficiency. The usual barriers
were encountered while trying to link the four legacy systems through cooperative
efforts with the vendors, and during this process Linux emerged into the
world.
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Dr. Wettstein has
offered some reflections on my comments, which I quote in this typeface
(Helvetica).</FONT></FONT>
<P>Dr. Greg Wettstein developed this information system, deployed with
Linux 0.96c and continuously upgrading kernels as Linux matured, which
successfully achieved all the functional goals of the group, and which
survived from 1993 until 1997, when it was replaced by a less efficient
commercial system. The design and functionalities of <I>Perceptions</I>
are important to this project.
<P>I call <I>Perceptions</I> "creviceware" because an important prerequisite
for clinical usefulness is to fill the (very large) interstices left by
commercial software, which is characteristically single-task software,
and which is never designed primarily with the information needs or efficiency
needs of clinicians in mind.
<P>Using shell scripts, Dr. Greg created a set of "interrogatory robots"
to mine the legacy databases. When a patient came to the center and registered,
these interrogatory robots were dispatched from the workstation to collect
data for a packaging utility. This data packaging utility followed the
patient through the center and additional data was added. Update utilities
were used to maintain parallel database concurrency. A modular mid-level
tool set, written in Perl 5, was used to manage this process. The user
interface was written with tcl/Tk.
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1><I>Perceptions</I>
was basically built as a series of software packages that sat on top of
the information distribution system. This design strategy basically flowed
from the fact that Perceptions started out as simple patient tracking software.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>This paradigm actually
proved to be quite powerful. One of the most interesting features of the
system from a pharmacy perspective was that the pharmacy component of the
tracking system actually 'looked' for patients that were scheduled for
treatment. This work was actually motivated by my study of Just In Time
Inventory (JITI) control methods that were being deployed in the late 1980's
and early 1990's in American industry.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>A big component of
ambulatory treatment of cancer patients involves administration of multi-day
treatment regimes, eg. VP16/CDDP, CF/5-FU. The pharmacists would designate
that treatment orders were multi-day in nature and Perceptions would immediately
schedule subsequent treatment dates. On subsequent days the pharmacy software
would watch the tracking logs to see when a patient registered at the front
desk. When they did the orders would automatically be executed in the pharmacy
and labels created to initiate creation of the chemotherapy product.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>This system allowed
logical enhancements to be made to the system. One of the problems with
JITI was that as dose-intensity increased, situations began to arise when
the patient's clinical state warranted discontinuation or modification
of therapy. The pharmacy tracking system component was modified to implement
a state-engine which required that multiple criteria be recognized from
the tracking log analysis before an error could be generated. For example
the patient had to check in to the front desk and be placed in a treatment
room before the order would be executed. Extensive work was being initiated
on this component of the software when the roof fell in.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>The Linux workstations
that composed the system basically replaced terminals at many locations
that were used to contact legacy systems. Typically these terminals had
serial connections to the legacy systems which Linux talked to. When a
patient arrived at the front desk an initial tracking message was broadcast
to all the workstations. These workstations than contributed additional
information that they were able to find on these patients and broadcast
this information as well.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>The software was
designed on the following hierarchy:</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Shell script wrapper
-> Perl functionality -> tcl/TK interface</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>All the utilities
and programs were encapsulated with a shell script wrapper which did things
like parse options etc. Major functionality was implemented with Perl programs
which could stand by themselves if necessary. In the case where a GUI was
needed the Perl scripts were designed to open a wish shell and would talk
back and forth over a bidirectional pipe to implement the user interface.</FONT></FONT>
<P>This system provided a means to perform the fundamental clinical information
task of the center -- collection, organization, and presentation of clinical
data -- and also increased staff efficiency sufficiently that a 75% increase
in patient load required only a 20% increase in staff.
<P>Subsequent development of mid-level languages and standards would make
this task easier today, but functionally the needed design is the same:
both horizontal and vertical modularity of software, particularly to separate
the process of data acquisition from the task of presentation.
<P>Two crucially important features of this system, not present in any
commercial software I've seen, are that it was specifically designed :
<P><FONT FACE="symbol">·</FONT> to aid clinical decision-making
by collecting, organizing, and displaying information for physicians, and
<P><FONT FACE="symbol">·</FONT> to make the work of business staff
and ancillary medical staff more efficient.
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Another major feature
of the system is that it was actually implementing functional data interchange
long before XML was in vogue.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>The data abstraction
was carried out interestingly enough by using TeX. When a pharmacist entered
an order into the pharmacy component of the system the function of the
data entry was to basically encapsulate all the patient information into
a TeX script. Running the TeX script through a document header file specific
to the needs of the pharmacy resulted in generation of IV labels etc. The
same TeX script run through a document header specific to the nursing unit
caused it to generate a charting label which met the requirements laid
out by the Oncology Nursing Society (ONS) for chart notes.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>This worked to support
one of the most important design criteria of the system. This criterion
was that information obtained and/or entered by one discipline or group
within the center should work to increase or aid the functioning of other
groups. More simplistically we were trying to address the age-old issue
of having to double enter data.</FONT></FONT>
<P><I>Perceptions</I> is no longer in use due to the merger of the Cancer
Center with a large hospital and the administrative insistence on a commercial
"solution." Perceptions is not maintained, nor is the code available to
the community. Dr. Wettstein and his colleague, oncologist Paul Etzell,
MD, presented an excellent summary of their work at the first MIT conference
on Free Software in 1996. Dr. Wettstein has promised to convert this paper
to .html and .ps or .pdf and place it on his web site "shortly" at
<BR> http://www.enjellic.com/
<BR>and he is considering making the entire code available to the free
software community.
<P><I>Perceptions</I> deserves a place of honor in f-s/o-s annals not only
as the first open-source medical information manager but also because it
was thoughtfully conceived, ergonomically designed, and well engineered.
<P>We hope that future medical information management software will be
not only creviceware, but the central software tool of the enterprise.
Still, the special strength of the GNU/Linux system is in communications
and data acquisition, so that this is the best choice for linking disparate
systems no matter what other tasks are assigned to it.
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>I would have to say
quite unequivocally that the most important component of the success of
Perceptions was that it was based on an open source philosophy and toolset.
I was never really afraid of failure since we were in control of all aspects
of the project. If something didn't work we simply invented something different
that did work. That sense of flexibility and solution mobility simply does
not exist when working with commercial solutions.</FONT></FONT>
<P><B><FONT SIZE=+1>DHCP / VISTA</FONT></B>
<P>This is the medical software project of the (USA) Veterans Administration
system. We'll call this <I>Whaleware</I> because it is the largest public-domain
medical information mammal on earth. Originally called the DHCP (Decentralized
Hospital Computer Program), it was begun in 1982. It is now called <B>VistA</B>,
Veterans Health Information Systems & Technology Architecture. Information
about this sophisticated and complete medical information system is available
at the VA's web site at
<BR> http://www.va.gov/vama.htm
<BR>and at a programmers' web site
<BR> http://www.hardhats.org
<BR>where it is maintained by volunteers who are current and former employees
of the Department of Veterans Affairs (DVA). The VistA system is available
on CD-ROM through a Freedom of Information Request, which can be initiated
at the hardhats web site. Some software components have been published
to the hardhats web site. A full descriptive monograph is published at
http://www.va.gov/monogrph.htm
<P>VistA is clearly well developed and in use. It comprises more than 80
integrated DHCP applications which include both administrative and clinical
functions, including medical imaging, laboratory management, and pharmacy
management.
<P>The M computer language is the foundation of DHCP / VistA. This non-proprietary
4GL began life at Massachusetts General Hospital as MUMPS, and has become
an ANSI-standard programming language, database management system with
related bindings and protocols (for a non-technical explanation of M, see
http://www.mcenter.com/mtrc/whatism.html).
<P>I do not know whether this work, designed around the needs of the VA
system, could be "ported" to the private-sector medical community with
an acceptable expenditure of time and effort. There are two barriers to
use: the M language, which "makes sendmail scripts seem organized and Perl
seem well structured;" and that it was designed around the needs of the
VA system, which is like no other medical organization on earth.
<P><B><FONT SIZE=+1>Littlefish</FONT></B>
<P>The <I>Littlefish</I> project is an ambitious enterprise led by an Australian,
Chris Fraser, to bring the power and efficiency of database tools, particularly
epidemiologic analysis, to third-world and remote practices. The project
will follow the GEHR or Good Electronic Health Record standards (see http://www.gehr.org/
The GEHR standards are at http://www.gehr.org/gehr_architecture.html in
.pdf format).
<P>I lightheartedly call such software "wholeware" because their goal is
to be a complete solution to the perceived needs. This project is in design.
I have not investigated it in detail yet.
<P><B><FONT SIZE=+1>Tk-FP</FONT></B>
<P>This is a personal project of Dr. Alexander Caldwell, a family physician
in California. He uses tcl/Tk to produce an information-gathering and documentation
system. Features include menu-driven progress note generation, prescription
management, preventive health management, and importation of lab values
from his lab information system.
<P>This software is available for Linux, Windows 95/98/NT, and Macintosh
OS's. It is oriented toward specific tasks important to the physician,
so I'll call this "taskware."
<P>Dr. Caldwell is constructing a system that serves the primary care physician's
ergonomic needs, as can be seen by his list of working modules. Inspection
shows that some of these tasks are essential to efficiency, others are
decorative enhancements made possible by powerful software tools. I quote
from his own description.
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Insert drawings into
progress notes - mods to Impress, a Tcl/Tk program. Store templates for
various anatomical or other drawings, draw on them, then save directly
into a progress note.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Lab Results - automated
download from an IBM AS/400 directly into Tk_familypractice with some user
intervention on Linux only. Requires a TCP/IP connection to the AS/400.
Script edited by hand to suit each user's log in and host configuration.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Clinical Decision
MAPs - integrated with progress note writing module. Tcl/Tk widgets used
in clinical decision making algorithms create chart notes as you interact
with the program.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Prescription Module
- Fax based, stores and sends drug refill information to drugstores. The
stored data can be used to compile a medication list for inclusion in clinical
notes. Prints hardcopy Rx and patient education monograph for the patient.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Demographic Data
Module - addresses, phone numbers etc.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Problem List Module
- stores problem list, allergies, past medical history. Data can be inserted
into clinical notes.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Progress Note Generator
- History and Physical Synthesizer - GUI based program that presents menus
for numerous common office problems or presenting complaints. Your commonly
used phrases can be inserted at the click of a mouse. Phrases are easily
added or removed from the menus. Automatic saving to patient's file and
a daily file that can be printed out at the end of the day for hard copies.
Integrated with the other modules so data from problem list, allergies,
medications can be inserted into the notes with the push of one button.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Progress Note Display
Module - data stored as HTML so you can insert pictures, tables, etc. and
enables data to be accessed via a web server. Can work with IBM's Via Voice
for speech recognition under Windows 95/98, or run the Linux version on
one machine and use X-win 32 (an Xwindow server that runs on a Windows
machine) for the display to dictate into the Tk text widgets using Via
Voice with the data stored on the Linux machine.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Allergy Checking
- checks prescription refills against patient's allergies</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Drug Interactions
- checks prescription refills against the patient's drug profile for drug
interactions.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Drug Doses - checks
prescription refills for appropriate doses, with Pop-up menus.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Drug Information
- patient package insert information can be viewed or printed out for the
patient.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>HMO authorization
request generation - generates an HMO authorization request form that can
be faxed or send via e-mail to an HMO office. Includes copies of progress
notes you specify.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Recall Letter Generator
- when writing a progress note, you can set a future date for a recall
letter .</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Referral Letter Generator
- fax or e-mail a referral letter to the consultant, including a copy of
your patient's progress note if desired. You just highlight the part of
the note you want to send and pick from a menu of consultants you use.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Statistics - view
or print various stats on no. of prescriptions, list of patients on a certain
drug, most commonly prescribed drugs etc.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>Graphic data plotting
- scan your data and plot weights, blood pressures and lab data, etc.,
over time.</FONT></FONT>
<P><FONT FACE="helvetica, helv, geneva"><FONT SIZE=-1>The modules are linked
so that if you are working on a patient's drug refills, all his or her
data in the other modules are pulled up at the same time so you have access
to all information on that patient if you need it.</FONT></FONT>
<P><B><FONT SIZE=+1>Arachne</FONT></B>
<P>The Arachne project was a "Toolset for the Development of Clinical Workstation
Applications from Distributed Components." It currently is a more general
tool designed to provide an extensive, CORBA-2 compliant, object-oriented
tool set for integration of disparate systems. The first iteration was
done in order to permit the development of clinically useful tools. The
Arachne group, whose principals were IT specialists in Massachusetts, was
part of an "Internet Collaboratory" project, InterMed, that included medical
informatics specialists at Columbia, Stanford, Massachusetts General Hospital,
and others. This part of the project has been abandoned. The open source
license does not include any healthcare-specific parts of the code. So
at this point the project has been pared down to purely an open source
CORBA implementation.
<P>The motivation for its development was the frustration inherent in the
current state of commercial medical software, based primarily on large,
single-vendor systems not designed for integration or customization. This
is characterized by a lack of common software infrastructure, services,
or paradigms. The Arachne project has as its goal the ability to construct
richly interoperating software components via a suite of cross-platform
software tools, collectively referred to as Arachne. A description of this
ambitious project is at
<P>http://www.arachne.org/arachne_overview.html
<P>Work on Arachne began in 1992. Its first release was in August, 1997;
its current version is 0.8.4.2, is dated Dec 16, 1998. The developers of
course discovered that cost and limited function prohibited the use of
commercial products as a basis for portable component development and integration.
The development of Arachne required laborious tracking of relevant and
conflicting industry standards, and consists of several largely independent
subsystems, which are capable of platform independence and permit the construction
and integration of arbitrary software components. Arachne is currently
available for Windows 95/NT, Linux, HP/UX, SunOS, and Macintosh .
<P>Arachne fits into the category of "creviceware" because its most important
purpose was to permit connectivity and data exchange for the purpose of
presenting integrated medical data to clinicians to support decision making.
<P><B><FONT SIZE=+1>Freemed</FONT></B>
<P>This is a project of a Connecticut IT professional, Jeff B, and a podiatrist.
It is designed to be an functional clone of a commercial medical management
system, The Medical Manager
<P>(http://www.mdmgr.com/).
<P>It uses MySQL, a proprietary SQL server. It is functional. I have not
been able to access its site for a couple of weeks, so I don't know the
current public status of the project.
<P>Its chief limitation as an open-source/free software "solution" is that
it was designed to duplicate the functionality of a particular commercial
product, and thus has the inherent limitations that this design approach
entails.
<P><B><FONT SIZE=+1>FreePM</FONT></B>
<P>FreePM is a new project, aiming to produce a completely open-source
practice management system. Design was begun in June, 1999.
<BR> See http://www.freepm.org/
<P>The design of this project appears to be carefully done, and the database
is currently in design.
<P>PostgreSQL is being used for the database; ZOPE for middleware. They
plan to use CORBA based OMG's (object management groups).
<BR> see http://www.omg.org/omg/background.html
<BR>
http://www.zope.org/
<BR>
http://www.corba.org/
<BR>
http://www.postgreSQL.org/
<P>FreePM's efforts are being coordinated with Circare.
<P><B><FONT SIZE=+1>Circare</FONT></B>
<P>Circare is a new project to build an open source patient centered network
index system. It is a commercial project of Minoru Development, Inc., a
Toronto firm. Primary funding has been by the non-profit Hamilton, Ontario,
Information Network, HappIN. The project's goal is to provide key infrastructure
for Regional Health Networks, by developing new modules which include
<BR><FONT FACE="symbol">·</FONT> a clinical management system,
<BR><FONT FACE="symbol">·</FONT> a Web-based physician-pharmacist
consultation system (this involves an effort by pharmacists to electronically
notify physicians of the full list of medications--including herbal remedies--taken
by an individual and potential interactions; and
<BR><FONT FACE="symbol">·</FONT> a geriatric patient index: this
includes a minimum clinical data set.
<P>Circare is a client and provider index that ties together the information
about a single patient and makes it available securely to care providers
in a distributed network. Thus it aims to be a solution to the "portability"
problem that hinders the exchange of clinical information necessary to
care for patients as they are referred from one provider to another in
an extended health care system, or as they necessarily change primary providers
for all the usual reasons.
<P>Overall, this appears to be a sophisticated and well-managed project
by experienced IT professionals.
<P>Circare is open source software, distributed under the GNU public license:
<BR> http://www.fsf.org/copyleft/gpl.htm
<P>Minoru Development maintains a web page that collects all the open-source
efforts related to health care
<BR> http://www.minoru-development.com/en/healthcare.html
<P>Minoru sponsored an Open Source Practice Management Summit, held in
Toronto, Canada, on September 23, 1999. I was not able to attend this conference,
and have not seen a summary of it yet. At this conference, Minoru staff
offered to coordinate open-source coding projects by sponsoring a discussion
group and offering space.
<P><B><FONT SIZE=+1>QQ-MIM</FONT></B>
<P>QQ-MIM is my project. It began in 1985, when I changed practices, and
been able to learn about database, medical software, and microcomputers,
so that the clinician's need to gather information came into focus while
I adjusted to a new charting system at the same time that I became fully
aware of the potential of computers as a tool to information storage and
retrieval. I wrote a long specification that I whimsically called "QuickQuack"
that described the ergonomics a physician needed in such a system, but
was unable to persuade any of the leaders I knew in software firms to invest
their capital in solving all the world's problems.
<P>It also turned out that the leadership of my clinic and most of the
other physicians were extremely comfortable with the world as it was, and
had neither sufficient discomfort with the limitations of the paper chart
to motivate interest, nor sufficient knowledge of computing to understand
what I was trying to say. In retrospect, they have not been interested
in learning, either; but I naively believed that if they saw a system that
put a few concepts into practice, that the light would dawn. It has not.
<P>Meanwhile, my First Offspring, Michael K. Johnson, who had been immersed
in the free software world since Linus Torvald's first post, has worked
diligently to educate me on its potential.
<P>After I was done paying college tuition, I decided to fund a demonstration
project with some simple programming. Stage One was the development of
a simple progress-notes reader: In this project we took a collection of
ASCII progress notes, created a simple PostgreSQL database, and used Perl
to create a reader that displayed each patient's notes in a standard browser,
in reverse chronological order.
<BR> http://www.postgreSQL.org/
<BR> http://www.perl.com/
<P>Stage Two was the development of a prescription-tracking system. This
was done in two steps: First, the drugs in the FDA Orange Book (available
in several segments on the web) was reduced to a PostgreSQL database.
<BR> http://www.fda.gov/cder/ob/
<P>Later, ZOPE was used to create a medication-tracking system and prescription
writer that is still in development.
<BR> http://www.zope.org/
<P>One criterion of this project has been to use only free software, and
to donate the finished work to the free software community when it is sufficiently
mature to do so.
<P>During this project, I came out of my hole into the sunlight and looked
around, blinked, and discovered that several other projects were under
way, most begun in 1999, to perform many of the same functions. This has
redirected my interests toward the overall effort to create a free-software
medical information manager; the most important question to answer, in
aiming to contribute, is to ask how free software can be most useful to
the medical community.
<P>The functional priorities seem clear to many people: connectivity, data
exchange, and usability (ergonomics) are worth attention, energy, and time.
A crucial secondary priority, because we deal with confidential information,
is authentication and security. (It is secondary not in importance but
is functionally subordinate to the task of achieving connectivity and exchange
while creating tolerable ergonomics.)
<P>I assume that you understand the need for connectivity and easier data
exchange. It is not clear whether the need for efficient ergonomics is
well understood by anyone. Administrators seem to assume that the inherent
efficiencies of computers are obtained automatically; programmers insulate
themselves from users to increase their work output and do not do "time
and motion" studies to see if users are actually made efficient. Users
are hindered both administratively and technologically from making their
tasks more efficient. Physician-users sometimes have the power and sophistication
necessary, but tend to be afflicted with egocentrism, which tends to produce
idiosyncratic solutions rather than general solutions.
<P><B><FONT SIZE=+1>Important tasks for medical software projects:</FONT></B>
<P>I believe that the most effective evolution of free and open source
medical information management software will be roughly like this: First,
the greatest strength of the GNU/Linux system is connectivity. This is
why the first clinically effective use of free software, the <I>Perceptions</I>
project, was "creviceware," a collection of tools and programs that made
connectivity and efficiency possible among independent commercial products
that were never designed to work together.
<P>Second, free and open software tends to begin as hobby projects. These
begin with individuals designing tools that meet their own needs. Superficial
examination of such projects may leave the impression that they are purely
idiosyncratic; the truth is that beneath the idiosyncracy there are usually
useful, generalizable paradigms. More importantly, they serve as demonstration
projects that teach users, observers, and programmers how to make the next
iteration of software design more efficient and functional. In this stage
specific tools are designed -- "taskware."
<P>If specific tools are designed <I>within</I> a culture that understands
their design principles ("has a clue") and recognizes the importance of
connectivity, then the project can begin to actually reshape the medical
community, producing "wholeware" -- software systems that actually begin
to meet the needs of an enterprise.
<P>At first, these enterprise systems will need to "embrace" proprietary
legacy software; but as the power and flexibility of using open code becomes
generally understood, strictly proprietary solutions will atrophy.
<P>How can we best proceed to build shareable open code? I believe that
the following conceptual foundations are necessary:
<BR><FONT FACE="symbol">·</FONT> Protocols and data structures for
area-wide exchange of individuals' basic health information: a <B>"medical
demographic."</B> This is the significance of the <I>Circare</I> project
in Hamilton, Ontario.
<BR><FONT FACE="symbol">·</FONT> Agreement on <B>database design
</B>.
I believe that it is important for the medical f-s/o-s community to maintain
a common database design, independent of code. This is the significance
of the <I>FreePM</I> project of Tim Cook.
<BR><FONT FACE="symbol">·</FONT> Free availability of <B>coding
systems
</B>for clinical information. The fact that the CPT system is proprietary
to the AMA is a great hindrance, and the AMA should be pressured to make
this coding system freely available to the community, under appropriate
commercial restrictions that permit the AMA to recover the high costs of
maintaining this complex system.
<P>Let's look at these principles in more detail.
<P><B><FONT SIZE=+1>Foundational needs of open-source medical software</FONT></B>
<P>Contemplating the various f-s/o-s efforts that are being attempted,
and the work that has been done, such as the Health Level 7 project (http://www.hl7.org/
), to create data standards for medical software it is difficult to envision
how to effectively corral the enormous efforts that are going on and harness
them to a single wagon.
<P>Each "player" is performing in a different arena; has unique needs;
has individual priorities. There is such a large variety of tools and mid-level
languages that it is difficult to envision how it may be possible to provide
a substrate suitable for every need.
<P>I conclude that it is impossible to create a software project that can
encompass the needs of everyone in the medical community, and therefore
we should not attempt to do so. Instead, we must focus first on identifying
the commonalities: what <I>everyone</I> needs (whether they realize it
or not).
<P>Let's approach this logically. The reason this community exists is to
provide health care for individuals. Hence the first consideration is,
what are the fundamental "data needs" of the individual?
<P><B>Demographics must include health information</B>
<P>The first mistake made by commercial software developers is to assume
that the standard "demographic information" is an adequate description
of a patient. It is not. For billing we try to collect enough information
about each person to uniquely identify them. Name and date of birth are
the starting points; in a large population this is not sufficient. Social
security number is used in the USA, but organizations do not have a legal
right to require this, and many people either refuse or provide a false
one. So we collect a large amount of ancillary, usually temporary, information
that serves to locate rather than identify persons.
<P>But in all this effort, we have not included in our demographics the
<I>medical</I> identity of the patient: their <I>conditions</I>. Every
physician knows that this is the medical identity of a person; this is
why we refer to "the gallbladder in room 320A." Such talk can be demeaning,
but in a professional context it is a whimsical way of focusing discussion
on a disease process rather than on a personality.
<P>So a minimum medical demographic must include some version of what is
called a person's "problem list." The fact that this is not "public knowledge"
and must be protected from inappropriate access and use has been an absolute
hindrance to adding it to the demographics. But medically to do so is an
absolute necessity. There is a corresponding obligation to include in the
specification of the complete medical demographic <B>a confidentiality
rule and procedure</B>.
<P>This rule and procedure is at its heart simple: the public and non-public
data in the medical demographic record must be differentiated within the
record; release of non-public data is permissible from one provider to
another in order to provide health care to the individual and other release
is permissible only with the express, documented, permission of the individual.
Any software project must therefore include security procedures that permit
protection of this confidentiality.
<P>But without this "problem list" the patient remains "unidentified" medically;
no software will be clinically useful that excludes this data.
<P>As an aside, it is worth mentioning that all the information in the
demographic record, <I>including the patient's name,</I> may be considered
confidential and non-public by the patient. Famous or notorious people
may not want anyone to know they are part of your organization's client
list; telephone numbers may be unlisted, addresses private. The medical
information is <I>especially sensitive</I> to breaches of confidentiality,
but it is proper and prudent to give equal importance to preserving the
confidentiality and privacy of every datum held on a person.
<P>This has smaller implications for area-wide data repositories than might
be thought. First, the patient must be informed that this area-wide repository
exists, its purposes, the conditions under which consent to share data
is implied, the conditions under which explicit release is necessary, and
the recourse the patient has for violations. If all the organization's
data is held in an off-site repository, the organization has the responsibility
to ensure its security and confidentiality. There is no reason for an individual
to object to an area-wide data-sharing arrangement if the privacy protection
is as good as it should be.
<P>In fact, practices are already beginning to use data services located
as far as across the continent from the practice location, and there will
of course the suspicion that vendors will mine this data for commercial
purposes. I have no doubt that this will occur unless contractual and procedural
protection is added to the legal protections that already exist.
<P><B>Dynamic inaccuracy.</B>
<P>The most important feature of the medical demographic is its <I>dynamic
inaccuracy
</I>. What do I mean by this?
<P>Persons are real, and exist until death (after which they are at least
no longer dynamic). Any demographic information is a representation of
a person, to permit indexing of records and to aid locating persons in
order to communicate with them. Historically, the only interest in communicating
with the patient was to send a bill. Recent changes in practice paradigms
have led to communications about health maintenance, which a cynic would
see as a means to ensure the sending of more bills.
<P>Anyone who has ever interacted with demographic records knows that they
are inherently inaccurate for several reasons:
<BR><FONT FACE="symbol">·</FONT> The person is constant, but characteristics,
even names, change.
<BR><FONT FACE="symbol">·</FONT> Typographical errors and incomplete
or partially duplicate entries are made by operators.
<BR><FONT FACE="symbol">·</FONT> Locations change.
<BR><FONT FACE="symbol">·</FONT> Medical conditions change.
<P>This means that any demographic record is only temporarily accurate,
and that the degree of inaccuracy will increase with the passage of time.
I call this <I>dynamic inaccuracy</I>, and it is, in my judgment, the most
important characteristic of a demographic record.
<P>Thus the most important task for the keeper of the record is maintenance.
Who is willing to take responsibility for "keeping" the record? There are
four people who have clear and primary interest in its accuracy:
<BR><FONT FACE="symbol">·</FONT> the person about whom the record
is a summary
<BR><FONT FACE="symbol">·</FONT> the medical professional using
the record to make healthcare decisions
<BR><FONT FACE="symbol">·</FONT> the fiscal intermediary who is
responsible for making proper compensation for correct claims
<BR><FONT FACE="symbol">·</FONT> the programmer who creates the
repository and the tools to access it.
<P>Note that this list <I>does not</I> include the well-meaning receptionist
who records the information in the data repository, the manager of the
clinic or hospital providing care, or anyone's attorney. These folks have
a <I>secondary</I> interest in its accuracy.
<P>Successful continual validation of the dynamically erroneous record
requires that there be an <B>audit trail</B> of changes. It should include
(or point to) the prior field contents and the new contents, and include
<I>when</I> the change was made, <I>who</I> made the change (i.e., who
was the source or informant and which entry tech recorded the change),
<I>why
</I>the change was made, if a reason is relevant (such as "marriage"
"adoption" or "divorce" for a name change; "moved" "postal office directive"
or "temporary address" for an address change). This audit trail need not
be kept forever; once changes are validated independently and confirmed,
the audit trail becomes irrelevant, and the record is ready to acquire
fresh inaccuracy.
<P>The remarkable thing about our current record-keeping practices is that
we never allow the person whose data is stored to see, enter, or verify
its accuracy directly. With rare exceptions, even the medical information
stored there is not reviewed or verified by the healthcare professional
who created it. (In most current systems this is the collection of diagnosis
codes in the accounts-receivable system.)
<P>A goal therefore, of any clinical information system must be to allow
the patient and the physician each to have access to this summary record
and to propose corrections to it.
<P>What should this "medical demographic" contain?
<BR><FONT FACE="symbol">·</FONT> Identifying information
<BR><FONT FACE="symbol">·</FONT> Location
<BR><FONT FACE="symbol">·</FONT> Payors
<BR><FONT FACE="symbol">·</FONT> Medical data set.
<P>The minimum contents of this medical data set are well known to practitioners:
<BR><FONT FACE="symbol">·</FONT> Medication allergies and intolerances
<BR><FONT FACE="symbol">·</FONT> Active medical problems
<BR><FONT FACE="symbol">·</FONT> Past health events that will affect
future health decisions
<BR><FONT FACE="symbol">·</FONT> Heritable health influences
<BR><FONT FACE="symbol">·</FONT> Continuing medication use.
<P><B>Ergonomics</B>
<P>Two seductive characteristics of computers lure the unsuspecting: the
potential for automated data handling, and the possibility of enhanced
efficiency. But computers do not save time, money, or effort -- unless
they and their use are managed intelligently and with discipline. To use
computers to manage large databases efficiently and effectively does require
technical expertise. <I>Ergonomic design for efficiency requires detailed
knowledge of how specific work is or should be done</I>.
<P>Studies have shown that the chief barriers to acceptance and deployment
of computerized medical record systems are <B>cost</B> and <B>usability</B>.
It is not my purpose to address cost, except to note as an aside that medical
enterprises are throwing away money on commercial systems that turn out
to be extremely expensive to maintain due to needless inefficiency and
to the economic captivity of <I>vendor lock</I>.
<P>It is important to acknowledge the major barriers to usability, well
identified in the literature:
<BR><FONT FACE="symbol">·</FONT> workflow integration
<BR><FONT FACE="symbol">·</FONT> geographic access to devices
<BR><FONT FACE="symbol">·</FONT> the importance of actually improving
productivity
<BR><FONT FACE="symbol">·</FONT> the effect of the "learning curve"
on the use of systems
<BR><FONT FACE="symbol">·</FONT> the effect of failing to use web-based,
modular, "lightly structured" approaches.
<P>Executives seldom have knowledge of either information technology or
physician work patterns; in any organization they tend to isolate themselves
from detail and often become captives to a whirlwind of communication with
each other and communiques to their underlings. IT professionals and physicians
are both often thought to be too "narrow" to be effective leaders; American
management culture is mistrustful of experts, who are presumptively viewed
as egocentric and biased, as if ignorance granted objectivity or wisdom.
<P>Commercial medical software has been and remains "pieceware," applications
designed to serve a particular part of the enterprise. More importantly,
data exchange with other applications has been completely and deliberately
ignored, in the best circumstance to ensure that when a company expands
its efforts to another area within the medical enterprise, it will not
have "given away" anything to a potential competitor.
<P>The first software in clinics and hospitals was <I>accounts-receivable
</I>systems,
and these products continue to dominate the market. They have been completely
unsuccessful in producing useful computerized medical record applications
because they have designed their efforts around the needs and requirements
of medical records technicians, which has characteristically produced software
that is ergonomically stressful for physicians.
<P>Comprehensive <I>laboratory</I> data-management systems have emerged
in this decade; they are chiefly oriented to the needs of laboratory technicians
and their regulatory responsibilities; providing data to clinicians is
superficially considered, and interfacing to clinical systems is not planned
for.
<P>Pharmacy software has emerged to aid in pharmacy management and dispensing;
this has not been designed with the idea of providing integration with
physician prescription-writing, or receiving prescriptions from physicians
with electronic validation.
<P><I>Transcription </I>software has been designed around the needs of
typists, and has not been planned to create any kind of a structured record
that might be useful in creating even a modestly useful database.
<P>Some <I>hospitals</I> have tried to create ordering software and integrated
charting; but these are characteristically oriented toward complete documentation,
not for ergonomic efficiency; in any case, the hospitals that have felt
able to invest in such systems are large and complex; the temptation is
to try to do everything imaginable at once, which spawns bloatware, and
hinders the discipline that could progress from a simple system that does
essential, easily-automated tasks well into a collection of simple systems
that interact smoothly, later adding features and complexity in a logical
and ergonomically-driven sequence.
<P>A few <I>physicians</I> have tried to create electronic medical records;
not surprisingly, the only clinically respected EMR/CPR systems are those
that have been designed by physicians for clinical usefulness. These developers
have discovered that integration with legacy systems, especially those
doing accounts receivable and laboratory data management, has been an interesting
and laborious challenge.
<P><B><FONT SIZE=+1>Security, Confidentiality, and Authentication</FONT></B>
<P>It is not my goal to reproduce here the important discussions that have
taken place regarding the challenge that the Internet presents for security
and authentication for system access and data exchange. Instead, I wish
to point out that there are several important issues, of which the technological
challenge of S & A is only the foundation.
<P>It is worth pointing out, as an aside to this discussion, that the most
important threat to confidentiality of medical information is <I>not</I>
unauthorized access to either paper or electronic records. The greatest
threat is <I>authorized</I> access. Insurance companies, in particular,
have for decades habitually required applicants to sign a blanket release
for all medical records. Their signature authorizes exactly this, and clinics
comply. What electronic records do is merely to make release easier and
less expensive, and permit extremely sophisticated searches and statistical
analysis. They also present an opportunity to use the information for commercial
purposes without release, which itself presents some ethical concerns.
<P><B>Confidentiality</B>
<P>Ethically, all information regarding a patient, whether provided voluntarily
or at the insistence of the nice receptionist, or produced by the clinicians
and consultants, belongs jointly to the patient and the organization; despite
having a share in ownership, the organization has only a limited "property
right" over this information, as the patient has a greater interest in
its control and more to lose by mishandling than does the organization.
<P>There are no ethical levels of confidentiality; there are regulatory
levels, related to the adverse consequences to the organization or to individuals
in it that may follow inappropriate release. The organization does not
have the right to release even the "public" information about a patient,
for to do so reveals that the patient is in fact a client of the organization.
<P>Based on the likelihood of "injury" to the patient and the consequences
to the miscreant of inappropriate release, there are at least three levels
of confidentiality:
<BR><FONT FACE="symbol">·</FONT> Public information: address, telephone
number, names of related persons, etc.
<BR><FONT FACE="symbol">·</FONT> Routine medical information: ordinary
diagnoses, lab results of no "general" interest and so on.
<BR><FONT FACE="symbol">·</FONT> Sensitive medical and counseling
information: psychology and psychiatry notes, pregnancy test results, lab
results and clinical notes regarding sexually transmitted disease and the
like.
<P>Because of this construct, clinics customarily create "superconfidentiality"
for psychology notes and HIV test results, which in most states is protected
by law.
<P>Thus any medical information management system should be designed to
provide multiple levels of confidentiality.
<P>Medical enterprises depend primarily on a <I>culture of confidentiality
</I>rather
than strict policing to preserve the privacy of medical records. The rules
have been simple and clear for ages; the incentive to comply with these
rules is part of "professionalism," and we store the records in mildly
inaccessible places, not in bank vaults. Within our buildings, we leave
charts laying all over, in stacks that are part of the records-handling
process, and only a few employees are permitted (by rule) to have access
to them. Security <I>within an intranet</I> can use professionalism similarly
to keep security procedures simple enough that they do not hinder efficient
work.
<P>But the Internet poses special problems for security and authentication,
both to make sure our firewalls effectively prevent unauthorized access,
but also with the growing use of off-site data storage pioneered by Oracle
and others, to devise effective protections against both confidentiality
breaches and against commercial exploitation of their contents.
<P><B><FONT SIZE=+1>Clinical data</FONT></B> (database design)
<P>The key to creating a community medical informatics system is common
agreement on the database configuration. It is not necessary to agree on
every detail, as any user is free to modify the structure and any code
as desired. But the felt need for such modifications will be minimized
by careful attention to defining the essentials. The <B>FreePM</B> project,
led by Tim Cook, is paying careful attention to database design in this
manner. He realizes that it is more important to design well than to begin
coding promptly. He expects to spend several months with database design.
<P>There are four arenas which require this fundamental attention:
<P><B>Professional fees</B>. To create a billing system for the salaried
health care provider is a non-task. All other professionals have some fee
structure that has these components:
<BR>- the service(s) provided
<BR>- the condition(s) treated
<BR>- the identity of the provider (with location)
<BR>- the identity of the patient (with location)
<BR>- the date or duration of the encounter
<P><B>Clinical documentation.</B> This is most importantly "progress notes,"
but also related records such as prescription or medication tracking, problem
lists, immunization history, growth charts, pregnancy flow sheets, and
other documents created by the provider that serve as an institutional
memory.
<P>We must remember, in designing the database, that individual practitioners
have strong personal preferences for various types of organization and
presentation of clinical documents, so the database design must not presume
any particular display organization for the elements that contribute to
this material.
<P>For example, some providers produce a single, unfragmented, narrative
clinical document for each encounter. At the other end of the spectrum
are technologically sophisticated providers such as Dr. Alex Caldwell,
author of Tk-FP, who has written finely granular menuing software that
permits creation of a progress note via mouse clicks from boilerplate text
and can past text from the problem list, medication list, etc.
<P>The solution for the database designer is to create a finely granular
structure, as this can accommodate the highly subdivided note structure,
and can be easily adapted to the needs of the user who creates a less structured
note.
<P>But to create a clinical record, even an organized one, is not the real
task. The real challenge is to create a clinical record from which either
oneself or <I>another provider</I> can easily cull newly-important information.
The difficulty of this task is apparent when one thinks about the fact
that the record created today, for a well patient with a sprained ankle,
may be reviewed next month when the same person presents with abdominal
pain. The fragments of history and observation that are <I>generally pertinent
</I>across
time need to be recorded or displayed differently that those fragments
that are not of enduring interest medically, and are preserved only because
the profession of law has a representative down the block who also may
serve the patient in the indefinite near future.
<P>What does a clinician actually look for in reviewing past notes. I claim,
based on twenty years of experience in internal medicine, that a clinicial
is never interested in the continuous narrative of an old note. We chiefly
look for the following types of information:
<BR><FONT FACE="symbol">·</FONT> The (approximate) date of onset
of a chronic condition; e.g., when hypertension was noted, or diabetes
began.
<BR><FONT FACE="symbol">·</FONT> The(approximate) date and nature
of any life-changing isolated events; e.g., when the left ankle fracture
occurred, how severe it was, and what treatment was used; or when the laparotomy
was done, why, and what was found; or significant but temporarily medical
illnesses like tuberculosis.
<BR><FONT FACE="symbol">·</FONT> A history of (dates of and results
of) "health maintenance" actions: e.g., mammograms, endoscopies. immunizations,
pap smears, and the like.
<BR><FONT FACE="symbol">·</FONT> A medication history: allergies
and intolerances, hopefully with a contemporaneous description; what medications
were prescribed (especially for chronic conditions), what was the clnical
response, and when and why they were discontinued.
<BR><FONT FACE="symbol">·</FONT> Treatment history of chronic disease:
especially radiation or chemotherapy for malignancies, immunologic treatment
of non-malignant disease (e.g. Crohn's or RA), or significant changes in
insulin regimens for diabetics
<BR><FONT FACE="symbol">·</FONT> "Descriptive" historical data:
baseline and recent chest xrays, EKG's, laboratory values, weight, blood
pressure, visual acuity, etc.
<P>We tend to depend on <I>summaries</I> for this information, and so look
for hospital admission and discharge summaries, surgical reports, radiology
reports, problem lists, and laboratory flow sheets.
<P>Ergonomically, the clinician's task in reviewing past clinical notes
is to sort out what has become "chaff" from what has been made "wheat"
by the current complaint. It is possible to design our database, the display,
and the user interface either to hinder or to expedite this task.
<P>New enforcement pressures have been put on providers from the US government,
which threatens criminal fraud action if the "level of documentation" does
not match or exceed the "level of care" charged for. This has resulted
in sometimes massive increases in verbiage to guarantee that the clinical
note is as fat as the professional fee, and the result for the clinician,
winnowing old notes in the chart for kernels of crucial information, has
been a blizzard of chaff that often successfully obscures essential factoids
and at least make the information-gathering task laborious.
<P><B>Dual-track Clinical Notes Record Needed.</B>
<P>The best solution to this challenge is to judiciously fragment clinical
notes, using boilerplate as needed for documentation of charges, but to
store separately the <I>boilerplate</I> and any <I>customization</I>. The
electronic record, then, would consist of a collection of pointers to boilerplate
text and a collection of unique observations about the individual.
<P>When the entire note is to be printed or displayed, the boilerplate
and customizations are merged to produce a complete document; but the clinician
when viewing the record can choose to view only the unique observations.
<P>Problem lists, flow sheets, medication lists and prescription writing
are all features of a clinical notes system that each requires its own
specification. It is not now my purpose to create such specifications.
<P><B>Clinical supporting data: intelligent system needed</B>.
<P>This supporting data is pre-eminently laboratory results. The clinician's
need for presentation of this data is usually different than the standard
laboratory output provides. Hence the extensive use of <I>flow sheets
</I>in
clinical practice, for patients with conditions that persist for some time.
Not nearly enough is done with data analysis. We need an <B>intelligent
system</B> to mine and present this physiologic data in ways that are pertinent
to the patient's current and continuing medical conditions.
<P>This intelligent system would, based on the diagnoses in the patient's
"problem list" (summarized as ICD-9 codes, for example) and the presenting
complaint(s) (gathered by ancillary staff and summarized as V-codes, for
example), "mine" the electronic record for pertinent laboratory data, radiology
reports, health maintenance actions, and relevant clinical notes. It would,
between the time the patient checks in and the time the physician joins
the patient, prepare customized flow sheets of lab data and an index to
relevant narrative notes, and have these available for display on screen.
<P>Here's how this could work for laboratory results:
<P>The flow sheet format that will work best is one which does not display
empty columns, and that "collapses" into a single column those values obtained
on approximately equivalent dates. The older the lab value, the less important
for clinical decisions is its exact date. Use actual dates for the past
month, monthly dates for four months, quarterly for a year, and then annual
data telescoped in single columns. The "collapsed" or "telescoped" columns
might contain several values, in which the rang) and number of observations
could be reported, e.g.,
<BR><TT><FONT FACE="courier, courier new"><FONT SIZE=-1>
|alk ptase | 32-75 (4)
</FONT></FONT></TT>| .
<BR>If exact numbers are wanted, the user should be able to reference the
cell or column with the cursor or keystrokes and "expand" perhaps by clicking
on it. e.g.,
<BR><TT><FONT FACE="courier, courier new"><FONT SIZE=-1>
YR - QTR - MON - DAY .</FONT></FONT></TT>
<P>The rightmost column could simply be labelled "older," and either contain
simply a tag noting that values exist (this would be easier to implement
and faster to calculate and display), or the range of all older values.
It would be useful to summarize lengthy reports such as a urinalysis or
complete blood count by simply noting than they have been done--with a
minus if no abnormal values are reported or a plus if there are abnormal
values (the plus could be over-ridden by a doctor if the abnormalities
were judged to be trivial, so the display would not be misleading in the
future.) An"expand" feature would open to the complete report, or to a
flow sheet devoted to a set of complete reports for the period of time
encompassed in the column. For example,
<BR>
<P><BR>
<CENTER>
<P>Joe Markiewicz
<BR>Wednesday 3-20-99
<BR>Clinic # 377-95-2287
<BR> DOB 12-17-64
<BR>Dr. Gruenhagen</CENTER>
<BR>
<TABLE BORDER WIDTH="525" >
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>Dates:</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>3-20-99</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>3-14-99</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>Jan 99</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>4 Q 98 </CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>1997 </CENTER>
</TD>
<TD WIDTH="16%">
<CENTER> Older</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>Test</CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="16%"></TD>
</TR>
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>potas.</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER> 4.2</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>3.8</CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%">
<CENTER>3.3-4.0 (2)</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>3.5-4.3 (3)</CENTER>
</TD>
<TD WIDTH="16%">
<CENTER> 3.2-5.0 (12)</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>Creat. </CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>2.7</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>2.4 </CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%">
<CENTER>1.8 </CENTER>
</TD>
<TD WIDTH="14%">
<CENTER>1.6 (2)</CENTER>
</TD>
<TD WIDTH="16%">
<CENTER>1.2</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>HgbA1c</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER> 8.3 </CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%">
<CENTER> 7.8 </CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="16%">
<CENTER>10.2 (3)</CENTER>
</TD>
</TR>
<TR ALIGN=CENTER>
<TD WIDTH="14%">
<CENTER>Fast. gluc</CENTER>
</TD>
<TD WIDTH="14%">
<CENTER> 186</CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%">
<CENTER> 204 </CENTER>
</TD>
<TD WIDTH="14%"></TD>
<TD WIDTH="14%">
<CENTER>193 (2) </CENTER>
</TD>
<TD WIDTH="16%">
<CENTER>92-420 (15)</CENTER>
</TD>
</TR>
<TR>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER>UA</CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER> +</CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER> - </CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="16%">
<CENTER>- (7) + (2)</CENTER>
</TD>
</TR>
<TR>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER>hemogram</CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER> - </CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="14%">
<CENTER>+ </CENTER>
</TD>
<TD ALIGN=CENTER WIDTH="14%"></TD>
<TD ALIGN=CENTER WIDTH="16%"></TD>
</TR>
</TABLE>
<P>Besides clinical notes, there are many other types of narrative supporting
data:
<P>- medical imaging - typically consisting of a report by a physician
of a graphic
<BR> xray and fluoroscopy
<BR> nuclear medicine
<BR> ultrasound
<BR> MRI
<BR> PET
<BR> procedure videos
<BR> clinical photographs
<BR>- pulmonary function
<BR>- EKG
<BR>- EEG
<BR>- nerve conduction (EMG)
<P><B>Chart index. </B> It is not be necessary, for example, to always
show the actual xray report (or other narrative report). Just having the
xray procedure and its date would permit the creation of a table of contents
to this part of the chart as well as a flow chart of the procedures that
had been performed. At most, one could add a summary diagnosis to the list:
<BR>
<TABLE BORDER WIDTH="525" >
<TR>
<TD WIDTH="33%">Date</TD>
<TD WIDTH="33%">Exam</TD>
<TD WIDTH="34%">Result</TD>
</TR>
<TR>
<TD WIDTH="33%">6-85 </TD>
<TD WIDTH="33%">Barium Enema</TD>
<TD WIDTH="34%">diverticulosis</TD>
</TR>
<TR>
<TD WIDTH="33%">8-99</TD>
<TD WIDTH="33%"> CXR</TD>
<TD WIDTH="34%">nl</TD>
</TR>
<TR>
<TD WIDTH="33%">11-94</TD>
<TD WIDTH="33%"> UGI</TD>
<TD WIDTH="34%">DU</TD>
</TR>
<TR>
<TD WIDTH="33%">8-98 </TD>
<TD WIDTH="33%">BE</TD>
<TD WIDTH="34%"> tics, polyp</TD>
</TR>
<TR>
<TD WIDTH="33%">9-00 </TD>
<TD WIDTH="33%">MRI lumbar spine </TD>
<TD WIDTH="34%">HNP Rt L5</TD>
</TR>
</TABLE>
<P><B>Professional communication.</B> Many types of communication need
to be kept in a patient's record. Many of these need not be reduced to
electronic form. At most, the electronic record should be an <I>index</I>
to the paper documents that have been archived in a paper file. Examples
of historical records that do not require electronic access are:
<BR>- reports from consultants
<BR>- hospital admission and discharge summaries, operative and procedure
notes
<BR>- letters to or from patients
<BR>- correspondence with employers and attorneys
<BR>- forms from or for employers, DME providers, home health nurses, insurance
companies, etc.
<BR>- old records sent from past caregivers
<BR>- nursing home documentation
<BR>- reprints from the medical literature
<BR>- archival clinical records
<P>Communication between providers is more and more likely to be in electronic
form, usually as email. If intranet connectivity is achieved between providers'
clinical databases, it will be possible to directly add data and notes
generated by other providers in a clinician's own electronic record. If
this is done, then the <I>source</I> of the data must be indicated within
the clinician's database.
<P><B>Prescriptions and a drugs database</B>
<P>This I consider to be a part of the "clinical notes" function, because
it is the clinician who uses it, and the results of the prescribing process
belong with the clinical note. I will briefly list here the essential features
of a prescription system.
<P><FONT FACE="symbol">· </FONT><B>Drugs database</B>. It is not
a difficult task to import the FDA <I>Orange Book</I>, available at their
web site (http://www.fda.gov/cder/ob/), into a database, and the FDA publishes
monthly updates which could be used to automatically the drugs database.
<P><FONT FACE="symbol">· </FONT><B>Prescription-writing tool</B>.
A prescription should be easy to create, and the software should be capable
of printing a prescription on paper for signature, faxing a signed prescription
directly to the pharmacist, or electronically submitting the prescription
if the pharmacy is capable of accepting this.
<P><FONT FACE="symbol">· </FONT><B>Medication list</B>. It is important
to be able to produce not only a complete list of current and recent medications
for the chart, but to prepare a list of the patient's current medications
for the patient, for the pharmacist, and for home health nurses.
<P><FONT FACE="symbol">· </FONT><B>Allergy/intolerance list</B>.
It is not essential for this list to be part of the database if the clinician
is working from a paper chart, as it is the clinician's responsibility
to be sure that all medication intolerance is considered prior to writing
a prescription, and such lists are notoriously incomplete. But it is helpful
to have this feature, and the clinician should work diligently to maintain
an accurate list in the database.
<P><B><FONT FACE="symbol">·</FONT> Medication interactions.</B>
The <I>Medical Letter</I> has a web site,
<BR> http://www.medletter.com/
<BR>and during this last year has made their drug interactions software
available to subscribers via the Internet. As set up on the Internet, the
user can check interactions on up to six drugs at a time. This is a limit
of the web page, not of the software. The program does not check for interactions
with food or "natural" products, but does provide reprints of literature
for many interactions. I have found it more than sufficient for my own
needs, and the response has been very fast.
<P>It is important to the clinician providing longitudinal care to have
an audit trail of past prescriptions, listing when each was begun and stopped,
and when a change was made in medication, form, dosage, or schedule, to
indicate succinctly a reason. Such an audit trail can eliminate the repetition
of past futility.
<P><B><FONT SIZE=+1>Coding Systems</FONT></B>
<P>It is not my purpose in this document to review coding systems for symptoms,
diagnoses, supplies, and professional services. A concern is that the AMA
does not make the CPT coding system freely available; nevertheless the
cost of this database is within the means of any practice.
<P><B><FONT SIZE=+1>Information Resources</FONT></B>
<P>Two software technological advances have greatly reduced the work needed
to bring a usable integrated medical information system into the exam room:
These are the multi-windowed desktop and the web browser.
<P>The <B>Multi-window desktop</B>, with proper tools, permits the clinician
to simultaneously have access to disparate systems that live on the same
network. It is not necessary to switch from one application to another.
I can have simultaneously open a word processor for patient instructions
and educational material that can be customized for the patient's individual
needs in seconds, a terminal session to access their lab data, an Internet
session to check drug interactions, an intranet session for access to an
electronic medical library, and a window on real-time radar so she can
see if the rain will quit before she has to go back out to her car.
<P>The <B>web browser</B> solves an access and display problem, and its
ubiquity has made information and tools readily available without the intervention
(i.e., work) of the local programmer. We will do well if all displays use
this technology to present information. However, HTML is presently has
very limited ability to use screen real estate efficiently, and has inadequate
flexibility in managing keyboard input, so that the ergonomics of browser-based
data display and entry are awkward. A current example of this is the FAA's
new DIWS software for Aviation Medical Examiners. Most of you will never
see this, and it is not possible for me to demonstrate it here; so let
me say simply that its ergonomics is awkward, error checking of input is
scant, response times are highly variable from seconds to tens of minutes,
and security and authentication were a daunting challenge. After talking
personally to the programmer, I am confident that this system pushes pure
HTML as far as it can.
<P>Despite its severe ergonomic limitations, HTML and browsers prove that
a shared display technology is an important part of the foundation for
the necessary clinical connectivity of the future. In my own institution,
the use of XML is being specified for all future clinical applications,
and many commentators have agreed that this will likely be the future common
specification for presentation and display.
<P><B><FONT SIZE=+1>The Organizational Politics of Systems Design</FONT></B>
<P>This discussion about the genuine and perceived strengths and shortcomings
of commercial versus open software is in fact a political one, as within
institutions decisions are usually made politically, even though experts
would prefer that technical merit be the basis for planning and decisions.
<P>Commercial software solutions <I>do</I> have some strengths. These are,
by and large, well understood. But vendors, no surprise, obfuscate or deny
their deficiencies.
<P>Free and open source software <I>does</I> have some limitations and
deficiencies, upon which vendors focus; but also some strengths, which
are not widely recognized in part because vendors deny their existence
and partly because they are simply new and word has not gotten out.
<P><B>Strengths of commercial software</B>
<P>Commercial applications <I>exist</I>, they are supported, many have
a very long history, the companies understand their customers' needs, and
many commercial systems provide extensive training as well as installation,
customization, and usually maintenance. Only a commercial solution can
provide a "turnkey installation." A customer with no technical expertise
whatever can own and use a well designed software application.
<P>A strength of commercial software that is not well understood is the
cutting off of political unrest by taking huge portions of a company's
IT efforts outside company walls. Is there controversy in the company over
technical or ergonomic issues? The canny administrator can obviate all
this infighting simply by going to a turnkey commercial solution. A side
benefit is that the internal combatants then become allies against the
alien invader that management has so "stupidly" obtained.
<P>A corollary to this principle is that if a company is not able to bring
organizational discipline and focus to its IT efforts, a commercial solution
may be less costly. Organizational "focus" is particularly difficult in
academic institutions and highly democratized firms which have powerful,
independent department heads, particularly when IT professionals are kept
in a "service" role and not permitted to participate at leadership levels.
<P><B>Myths about commercial software</B>
<P>The assumption that in buying commercial software the customer is typically
getting a reliable, cost-effective, well supported system is wrong. Some
very good commercial solutions exist, but good experiences are hardly universal.
<P>In particular, the <I>cost effectiveness</I> of commercial software
is often assumed, without actually examining costs carefully before purchase,
and almost no one actually does a continuing cost analysis of such software
after installation. My former clinic, the Rhinelander Medical Center, which
did this in the mid 1980's and responded to favorable numbers by opening
a service bureau as a profit-making subsidiary after reviewing excellent
performance, is exceptional.
<P><B>Weaknesses inherent in commercial software</B>
<P>The two greatest hindrances to the use of commercial software are the
proprietary (and therefore unique) files, databases, protocols, display
technology, etc.; and inflexibility toward any single user. Getting two
separate vendors to cooperate with exchanging data is difficult and slow.
At the two clinics with which I am affiliated, approximately eight disparate
systems in two locations were more or less wedded by creating a single
common demographic database which all applications must access and use
(to some extent), a task that was not easy or brief.
<P>Administrators often say that one reason they use commercial software
is that if something goes wrong, there is someone to sue. This is one of
those rhetorical bites that is catchy but wrong. An economically strong
vendor will be able to resolve genuine difficulties; an economically weak
one might be unable to garner the resources to solve a difficult issue,
may have "thin" technical support staff, and the failing company will have
nothing for the user to recover in a suit -- never mind the years it takes
to get a settlement.
<P>In fact, the chance that a vendor might disappear while their application
is still needed is one of the biggest potential weaknesses of a commercial
product.
<P>The most difficult situation that plagues the users of commercial software
is <B>vendor lock.</B> This is a real phenomenon; fundamentally it involves
the vendor milking the cow once it is in the barn. For example, our hospital's
accounts-receivable software vendor told us that A) they planned not to
upgrade or support the product we had been using; B) it was not Y2K compatible;
C) they had replacement software, a completely different system, available
for $1 million and we should plan to purchase and install it well before
December 31. A conflict followed, wasting time and money for both parties,
following which the old software became Y2K compliant.
<P><B>Strengths of free and open source software</B>
<P><I>There is no vendor lock</I>. If one manages projects poorly, there
can develop "programmer lock," if code is not well designed or properly
documented. But the organization possesses its own code, and is free to
hire any programmer, as a contractor or employee, to improve, modify, or
adapt to the organization's specific needs.
<P><I>Interconnectivity</I>. The majority of the Internet is run by GNU/Linux
systems and tools. The genesis of the free and open source community was
within the Internet, and so this system has the best toolset and best expertise;
and it is designed to use old, out of date, inexpensive equipment efficiently.
<P><I>Large numbers of skilled programmers</I>. The GNU/Linux community
has thousands of developers, most able to work remotely, by contract. The
challenge to an organization is not finding them, but managing its projects
and personnel. Organizations which cannot manage technical professionals
well should purchase commercial solutions and be happy with vendor lock.
<P><I>Robust, redundant toolset</I>. The GNU/Linux system, bolstered by
more or less open software, has the broadest, most complete collection
of software tools, including the most interesting middleware. (Medical
information will continue to be dominated by commercial vendors of proprietary,
closed software for at least a decade, and there is no solution for the
clinician who hopes to create a comprehensive system for data access and
display except to use middleware to mine data from disparate proprietary
systems.
<P><I>Reasonable and controllable costs.</I> There are no royalties to
be paid in this arena; the organization that is able to manage software
projects and is able to focus strategically to use free and open software
for its strengths will be rewarded with the ability to control its costs
and manage the pace of its development, as well as focusing software on
its own priorities.
<P><B>Weaknesses of open source software</B>
<P><I>No medical applications.</I> In the past, GNU/Linux was disparaged
because it had no applications; this is because this is a new OS and free/open
software is a new paradigm for development and management. This will change,
but it is true that now there are no applications ready for deployment.
In fact, non-commercial code will likely be slow to enter this arena.
<P><I>No turnkey installations.</I> Obviously.
<P><I>No training</I>. This is a corollary of "no apps."
<P><B>Myths about open-source software</B>
<P><I>No support.</I> Actually, one of the fascinating characteristics
of the free-software community is its broad and skilled support via Internet
discussion groups. But commercial support has become available as companies
have emerged to serve this arena. As commercial offerings continue to develop,
the growing number of organizations offering 24 x 7 support will continue
to increase.
<P><I>Unreliable.</I> This is simply false. My Linux systems have been
up without crashing since installation, and have been down only for kernel
upgrades. Device drivers can be installed without re-booting. My Windows98
system must be taken down every third day, or memory leaks lock it up.
WinNT/2000 must be re-booted for installation of any device driver.
<P><B>Summary</B>: Free/open software solutions are suitable for medical
organizations who have managers with technical understanding who need maximal
cost effectiveness; and are best used as "creviceware" for connectivity
and data gathering, and "taskware" that is designed for display and manipulation
of stored data.
<P>The most important limitation of open source solutions now is that an
enterprise needs truly to manage its IS <I>and</I> its "internal customers"
well in order to benefit efficiently from their use. For many businesses
to purchase turnkey software, with all its obvious severe limitations and
inherent frustrations, is a way to avoid managing IS personnel or to obviate
internal debates over ergonomics, priorities, and function. As turnkey
open-source solutions emerge, this concern will abate.
<P>Commercial solutions are most appropriate for organizations that are
unable to understand or manage technical resources, who have more money
than knowledge, which are not able to agree on IT priorities, and for those
who need proven software or turnkey solutions.
<P>It is my judgment that it will not be possible to provide a complete
free/open source medical information management system for three to five
years; that the chief mistake managers are making with regards to open
software is to ban it or ignore its genuine strengths, as it is extremely
cost effective.
<P>I am not sure whether vendors and users can agree on a basis for interchange
of common data; but that we do so is important for our patients, who need
their health information to be portable as they are referred among specialists
and move about the country and the world.
<P>Responses may be directed to me at:
<P>johnson.danl@mayo.edu
</BODY>
</HTML>
|