Contents
What Goods and Services Does OpenMedic Sell?
Why is OpenMedic Written in C# under Windows?
Will future versions of OpenMedic be available under Linux and other Unix-like operating systems?
What Level of Hardware is Needed to Run OpenMedic Software?
Are OpenMedic Software and/or Hardware Approved by the FDA?
How is OpenMedic Different from Other Data Acquisition Toolkits Such as LabVIEW?
Is OpenMedic Only Available Under The GPL License, or Are Non-Open Source Licenses Available?
What is OpenMedic?
Our primary mission is the design and manufacture of inexpensive basic medical equipment for use in poorer countries and in other price-sensitive situations. This equipment will leverage low-cost PC technology as appropriate. In the spirit of a social enterprise, this equipment will be sold at a nominal price that allows us to help the maximum number of patients while funding our continuing efforts.
To support our primary goal, we will construct and support a free and open-source software framework for building biomedical instrumentation. We will use it ourselves, as well as making it available for use, adaptation, and expansion by fellow technologists. We feel that sharing this software will:
* Ultimately provide us with a product that has more capability and fewer bugs
* Allow others to share in our mission of providing better healthcare to more people
Is OpenMedic a Charity?
OpenMedic is not a traditional charity, but rather a social enterprise.
-
A traditional charity primarily receives contributions, which are distributed, or used to purchase goods and services.
-
A social enterprise, by contrast, is an organization that produces and sells goods and/or services in order to achieve a social aim.
A social enterprise can be either for-profit or not-for-profit. We have not yet decided on the direction to take.
What Goods and Services Does OpenMedic Sell?
We sell:
-
Low-cost, high-quality medical devices
-
Consulting services for electronic and software design, particularly for medical and other applications where high-reliability is important
Why is OpenMedic Written in C# under Windows?
There were several reasons that we chose C# and Microsoft Windows for the initial release of the OpenMedic framework:
-
Windows XP has proven to be a reliable platform
-
C# is an excellent language:
-
It is very safe (pointers are not normally used by programmers)
-
It has rich functionality – it can easily link to database and web services, and so forth
-
The Microsoft’s C# IDE (Visual Studio) is incredibly good
-
A version of Visual Studio that can be used with OpenMedic is available at no cost.
-
-
Most of our customers require PC-based products to run under Windows, and thus we have more experience with Windows than with other operating systems, such as Linux
-
C# runs reasonably quickly under Windows.
-
In theory, it should be relatively straightforward to port OpenMedic to Windows CE using the .NET Compact Framework. This would pave the way to using OpenMedic on PDAs and other inexpensive hardware, with low licensing costs (in the $15 range per unit)
Will future versions of OpenMedic be available under Linux and other Unix-like operating systems?
We like both Windows and Linux very much – particularly over the past few years, these two operating systems have influenced each other, making both much better.
Linux has several nice advantages for our work:
-
There are no licensing costs
-
It is fully open source, making it easier for us to find and fix bugs in the operating system.
-
We believe that Linux can generally built to have a smaller footprint.
However, our experience has been that GUI-based development under Linux takes more time.
There’s a good chance that OpenMedic will become available under Linux and other Unix-like operating systems in the future, the goal being to maintain both Windows and Linux versions of OpenMedic if we have the resources.
We’re investigating various ways of doing this:
-
While C# and the .NET CLI are usually identified with Microsoft, they are actually open standards (ECMA-334 and ECMA-335). The Mono project is working towards reproducing the functionality of C# and .NET under many operating systems, including Linux.
-
Java, like C#, is a safe and rich language that runs on many platforms. We hope to run tests on whether the Java is efficient enough to support real-time operation on typical hardware.
-
We could move the core functionality to a language that is highly cross-platform (such as GCC C), and write separate graphical routines for each platform/OS as necessary. This is an approach that some of the OpenMedic’s team members have used in the past with great success.
What Level of Hardware is Needed to Run OpenMedic Software?
The required .NET 2.0 framework is certified to run on Windows 2000 Service Pack 3, Windows 98, Windows 98 Second Edition, Windows ME;,Windows Server 2003, and Windows XP Service Pack 2. The installation of .NET and OpenMedic together requires about 300MB on an x86 computer (e.g., a standard PC). We’ve successfully run on machines with 512MB of RAM and 1 GHz CPU clock – it may be possible to use a lower-powered computer, but we’ve simply not tried it yet.
A couple of other notes on performance:
-
Specific applications may require different minimal configurations – for example, a program that acquires one point per second will be able to run on a lower-powered machine then will a program that acquires 1,000 points per second.
-
Very old and low-powered graphics cards may reduce system performance.
-
Running in Debug mode from within Visual Studio 2005 requires much more system CPU horsepower than does running a release (non-Debug) executable outside of the Visual Studio 2005 environment (i.e., as a stand-alone).
Are OpenMedic Software and/or Hardware Approved by the FDA?
OpenMedic hardware and software is not approved by the US FDA. However, each piece of patient-connected hardware (currently only the OpenECG/1) is tested on calibrated equipment to ensure electrical safety (isolation and leakage current) to IEC60601-1, the internationally-recognized standard for electrical safety for medical devices.
The OpenMedic software toolkit itself could not be approved by itself – the FDA certifies only completed products, not “bits and pieces” that are used in products, such as a toolkit or framework.
In the past, members of the OpenMedic team have successfully used software that is very similar to the OpenMedic toolkit in devices that have been approved by the FDA for moderate risk (class II) applications, such as ECGs.
How is OpenMedic Different from Other Data Acquisition Toolkits Such as LabVIEW?
There are a number of data acquisition-oriented toolkits on the market, the most popular being National Instrument’s LabVIEW.
LabVIEW and OpenMedic have different strengths and weaknesses. Here is our own perspective of how OpenMedic compares to LabVIEW. These comparisons generally hold true when comparing OpenMedic to other available toolkits. We’re sure that National Instruments will have a different opinion of the comparison - and you may also.
The short story is that compared to OpenMedic, LabVIEW is:
-
easier to get started with for non-programmers
-
has a large variety of math routines in one place
-
more difficult to use for non-engineering tasks
-
more difficult to “productize”
-
more expensive to purchase
The more detailed view:
-
LabVIEW typically has a shorter learning curve. If a user has is already familiar with C#, Visual Basic, or another .NET language, then the learning curves are not substantially different.
-
LabVIEW provides a large number functional blocks in one package. OpenMedic provides only the key building blocks needed to build medical instrumentation, and the user must pull together other blocks from various sources. However, as far as we know, every function found in LabVIEW can be found in an open source effort that can be used in OpenMedic software.
-
LabVIEW is proprietary and relatively expensive. OpenMedic is open source and there is no charge, and the C# (or Visual Basic .NET) IDE may be downloaded at no charge from Microsoft. However, there is also a per-seat charge for the Window OS.
-
There are a huge number of tools available for C# and the generally for the .NET platform. Connecting to the “outside world” with C# and other .NET languages is trivial, and well-accepted and well-supported by the outside world. LabVIEW is more of a niche product – it’s not normally found outside of engineering and science circles. It’s possible to do almost anything with LabVIEW – but our experience is that many tasks require a great deal more time to get working solidly.
Is OpenMedic Only Available Under The GPL License, or Are Non-Open Source Licenses Available?
Proprietary (i.e., non-open source) commercial licenses are also available, at a moderate cost, for those who would like to use the OpenMedic Framework and would prefer not to share their source code. Please contact us for details.

