Interfaces between computer systems are reviewed. An interface establi
shes a physical connection between two computer systems, a conversatio
nal syntax, a format for logical messages passed between the systems,
and a data-encoding structure understood by both systems. Interfaces a
re usually implemented as software modules and consist of three ''laye
rs.'' The physical layer contains the actual physical connection and t
he hardware, firmware, and software that make the connection work. The
protocol layer ensures that the bits of data sent across the interfac
e by the sending system are received intact and in the correct sequenc
e. The logical layer organizes the data to be sent into a form that ca
n be read by the other system. Interfaces can be described by whether
they operate in batch or real time, whether they are unidirectional or
bidirectional, and the medium used to establish the physical connecti
on (e.g., the exchange of a floppy disk or with an RS-232 serial conne
ction). The real challenge to producing an interface lies in ensuring
that the transactions between the two systems are meaningful. An inter
face engine allows one computer system to interface with several other
s through a single connection. A good interface has invisibility, reli
ability, timeliness, flexibility, terseness, and utilities. In plannin
g an interface, goals and the proposed exchanges of data should be cle
arly defined. The interface should be the simplest one that meets a ph
armacy's needs. When the specifications for the interface are complete
d, the pharmacy should thoroughly test the interface. Computer interfa
ces can save time by avoiding manual rekeying of data. However, since
interfaces are costly and can create pitfalls, they should be carefull
y planned and thoroughly tested.