FreeMED
Encyclopedia
FreeMED is an opensource electronic medical record
system based on Linux
, Apache
, MySQL
and PHP
(commonly referred to as LAMP
or LAMPS).
FreeMED is a direct descendent of AMOS, a Pascal
/DBase
program which was created in 1983 before the widespread use of relational database
s and object oriented programming.
FreeMED is currently hosted by the FreeMED Software Foundation, with downloads hosted by Sourceforge
.
It uses Subversion as a Concurrent versioning system, which it has used since it was migrated from CVS in 2005.
, and makes heavy use of SQL, favoring the MySQL
database engine. It also uses some bash, Perl
, and small pieces written in other languages. Its interface is primarily web-based, but web services interfaces, such as XML-RPC
, are also available.
. It communicates with REMITT via an authenticated XML-RPC
connection. This connection, once established, allows the transmission of medical billing data as a monolithic chunk of XML
. This is then processed into a meta-format via XSLT
, and finally processed into its final format and transmitted to its ultimate destination.
This methodology allows for multiple formats of output to be generated from the same base data.
Electronic medical record
An electronic medical record is a computerized medical record created in an organization that delivers care, such as a hospital or physician's office...
system based on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...
, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
and PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
(commonly referred to as LAMP
LAMP (software bundle)
LAMP is an acronym for a solution stack of free, open source software, referring to the first letters of Linux , Apache HTTP Server, MySQL and PHP , principal components to build a viable general purpose web server.The GNU project is advocating people to use the term "GLAMP" since what is known as...
or LAMPS).
History
The FreeMED project was officially started in 1999 by Jeffrey Buchbinder of Willimantic, Connecticut, United States. Since then, it has become an international effort, with thousands of downloads and several translations.FreeMED is a direct descendent of AMOS, a Pascal
Pascal (unit)
The pascal is the SI derived unit of pressure, internal pressure, stress, Young's modulus and tensile strength, named after the French mathematician, physicist, inventor, writer, and philosopher Blaise Pascal. It is a measure of force per unit area, defined as one newton per square metre...
/DBase
DBASE
dBase II was the first widely used database management system for microcomputers. It was originally published by Ashton-Tate for CP/M, and later on ported to the Apple II and IBM PC under DOS...
program which was created in 1983 before the widespread use of relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...
s and object oriented programming.
FreeMED is currently hosted by the FreeMED Software Foundation, with downloads hosted by Sourceforge
SourceForge
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
.
It uses Subversion as a Concurrent versioning system, which it has used since it was migrated from CVS in 2005.
Languages
FreeMED is mainly written in PHPPHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
, and makes heavy use of SQL, favoring the MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
database engine. It also uses some bash, Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
, and small pieces written in other languages. Its interface is primarily web-based, but web services interfaces, such as XML-RPC
XML-RPC
XML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. "XML-RPC" also refers generically to the use of XML for remote procedure call, independently of the specific protocol...
, are also available.
Modular Electronic Medical Record
FreeMED stores and represents its medical data as a group of "modules", which consist of a database model and a user interfaces. Each of the disparate modules are then virtually connected together by means of relational database table fields referencing other modules and basic patient demographics. This allows FreeMED to add and remove core database functionality by adding and removing modules without having to reprogram its interface.External Billing System (REMITT)
FreeMED uses an external billing program called REMITT (REMITT Electronic Medical Record Information Translation and Transmission). The name "REMITT" is a Recursive acronymRecursive acronym
A recursive acronym is an acronym or initialism that refers to itself in the expression for which it stands...
. It communicates with REMITT via an authenticated XML-RPC
XML-RPC
XML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. "XML-RPC" also refers generically to the use of XML for remote procedure call, independently of the specific protocol...
connection. This connection, once established, allows the transmission of medical billing data as a monolithic chunk of XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
. This is then processed into a meta-format via XSLT
XSLT
XSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...
, and finally processed into its final format and transmitted to its ultimate destination.
This methodology allows for multiple formats of output to be generated from the same base data.