FreeMED

Last updated
FreeMED
Developer(s) FreeMED Software Foundation
Initial release1999
Repository github.com/freemed/freemed
Written in PHP
Operating system Cross-platform
Available in Multilingual [1]
Type Medical Software
License GNU General Public License
Website www.freemed.info

FreeMED is an open source electronic medical record system based on Linux, Apache, MySQL and PHP (commonly referred to as LAMP).

Linux Family of free and open-source software operating systems based on the Linux kernel

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution.

Apache HTTP Server Open-source web server software

The Apache HTTP Server, colloquially called Apache, is free and open-source cross-platform web server software, released under the terms of Apache License 2.0. Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation.

MySQL SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language.

Contents

History

The FreeMED project was officially started in 1999 by Jeffrey Buchbinder of Willimantic, Connecticut, United States.

FreeMED is a direct descendant of AMOS, a Pascal/DBase program which was created in 1983 before the widespread use of relational databases and object oriented programming.

Pascal (unit) SI unit of pressure

The pascal is the SI derived unit of pressure used to quantify internal pressure, stress, Young's modulus and ultimate tensile strength. The unit, named after Blaise Pascal, is defined as one newton per square metre. The unit of measurement called standard atmosphere (atm) is defined as 101325 Pa.

dBase Database management system

dBase was one of the first database management systems for microcomputers, and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming language that ties all of these components together. dBase's underlying file format, the .dbf file, is widely used in applications needing a simple format to store structured data.

A relational database is a digital database based on the relational model of data, as proposed by E. F. Codd in 1970. A software system used to maintain relational databases is a relational database management system (RDBMS). Many relational database systems have an option of using the SQL for querying and maintaining the database.

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.

Architecture

Languages

FreeMED is mainly written in PHP, 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.

PHP: Hypertext Preprocessor is a general-purpose programming language originally designed for web development. It was originally created by Rasmus Lerdorf in 1994; the PHP reference implementation is now produced by The PHP Group. PHP originally stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor.

Perl interpreted programming language

Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was officially changed to Raku in October 2019.

XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.

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 is 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 acronym. [2] 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.

Medical billing is a payment practice within the United States health system. The process involves a healthcare provider submitting, following up on, and appealing claims with health insurance companies in order to receive payment for services rendered; such as testing, treatments, and procedures. The same process is used for most insurance companies, whether they are private companies or government sponsored programs: Medical coding reports what the diagnosis and treatment were, and prices are applied accordingly. Medical billers are encouraged, but not required by law, to become certified by taking an exam such as the CMRS Exam, RHIA Exam, CPB Exam and others. Certification schools are intended to provide a theoretical grounding for students entering the medical billing field. Some community colleges in the United States offer certificates, or even associate degrees, in the field. Those seeking advancement may be cross-trained in medical coding or transcription or auditing, and may earn a bachelor's or graduate degree in medical information science and technology.

A recursive acronym is an acronym that refers to itself. The term was first used in print in 1979 in Douglas Hofstadter's book Gödel, Escher, Bach: An Eternal Golden Braid, in which Hofstadter invents the acronym GOD, meaning "GOD Over Djinn", to help explain infinite series, and describes it as a recursive acronym. Other references followed, however the concept was used as early as 1968 in John Brunner's science fiction novel Stand on Zanzibar. In the story, the acronym EPT later morphed into "Eptification for Particular Task".

In the context of an HTTP transaction, basic access authentication is a method for an HTTP user agent to provide a user name and password when making a request. In basic HTTP authentication, a request contains a header field in the form of Authorization: Basic <credentials>, where credentials is the base64 encoding of id and password joined by a single colon :.

This methodology allows for multiple formats of output to be generated from the same base data.

Related Research Articles

Database organized collection of data

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.

Microsoft Access database manager that is part of the Microsoft Office package

Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately.

Object database Database management system

An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object-relational databases are a hybrid of both approaches.

In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored or transmitted and reconstructed later. When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of references, this process is not straightforward. Serialization of object-oriented objects does not include any of their associated methods with which they were previously linked.

Object-relational mapping in computer science is a programming technique for converting data between incompatible type systems using object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language. There are both free and commercial packages available that perform object-relational mapping, although some programmers opt to construct their own ORM tools.

In computing, the Perl DBI offers a standardized way for programmers using the Perl programming language to embed database communication within their programs. The latest DBI module for Perl from CPAN can run on a range of operating systems.

Query languages or data query languages (DQLs) are computer languages used to make queries in databases and information systems.

Dataphor is an open-source truly-relational database management system (RDBMS) and its accompanying user interface technologies, which together are designed to provide highly declarative software application development. The Dataphor Server has its own storage engine or it can be a virtual, or federated, DBMS, meaning that it can utilize other database engines for storage.

eXist-db is an open source software project for NoSQL databases built on XML technology. It is classified as both a NoSQL document-oriented database system and a native XML database. Unlike most relational database management systems (RDBMS) and NoSQL databases, eXist-db provides XQuery and XSLT as its query and application programming languages.

LAMP (software bundle) software bundle

LAMP is an archetypal model of web service stacks, named as an acronym of the names of its original four open-source components: the Linux operating system, the Apache HTTP Server, the MySQL relational database management system (RDBMS), and the PHP programming language. The LAMP components are largely interchangeable and not limited to the original selection. As a solution stack, LAMP is suitable for building dynamic web sites and web applications.

Entity–attribute–value model (EAV) is a data model to encode, in a space-efficient manner, entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. Such entities correspond to the mathematical notion of a sparse matrix.

PMB (software)

PMB is a fully featured open source integrated library system. It is continuously developed and maintained by the French company PMB Services.

SPIP Content Managing System for Websites

SPIP is a free software content management system designed for web site publishing, oriented towards online collaborative editing.

Database preservation usually involves converting the information stored in a database to a form likely to be accessible in the long term as technology changes, without losing the initial characteristics of the data.

openTMS is an Acronym for Open Source Translation Management System.

papaya CMS is an open-source content management system, free of charge and complying with open standards like XML as data format, XSLT as templating language, and PHP for programming.

A database application is a computer program whose primary purpose is entering and retrieving information from a computerized database. Early examples of database applications were accounting systems and airline reservations systems, such as SABRE, developed starting in 1957.

XQuery API for Java

XQuery API for Java (XQJ) refers to the common Java API for the W3C XQuery 1.0 specification.

The following outline is provided as an overview of and topical guide to MySQL:

References

  1. See FreeMED Translation Site Archived March 10, 2009, at the Wayback Machine
  2. "REMITT" . Retrieved 10 July 2017.