Domain: intersystems.com
Stories and comments across the archive that link to intersystems.com.
Comments · 31
-
Re:Dead Programming Language?
MUMPS is alive and well. Perhaps unfortunately.
Intersystems Cache is the database from MUMPS rewritten for portability, and it ships with a MUMPS interpreter. Runs fast and reliable on linux!
There's also plenty of hospitals in New England and Canada running actual real MUMPS, and there are some products still sold for MUMPS.
-
Re:HP/MPE had a hierarchical database, too
There is nothing a hierarchical database can do that relational databases don't do better.
That's rather absolute. It seems performance is an area that hierarchical can be better, at least in certain use cases:
http://www.intersystems.com/assets/datamart_wp-ee478edf530b40311ef506615c0da74d.pdf
Conclusion
In tests simulating a data analysis application typical for a telecommunications software firm, Caché was 41% faster than Oracle when creating a data mart of mobile phone information. When the resulting data mart was queried using SQL, Caché’s response times ranged from 1.8 to 513 times faster. Clearly, Caché’s unique multidimensional data engine make it a good choice for applications that require rapid analysis of large amounts of data. -
Intersystems Caché
They should move to Intersystems Caché. SQL, objects, XML and even MUMPS. It will make equally happy SQL and NoSQL fans. And it's damn fast. Much leaner than Oracle, DB2 or Informix, too. Excellent support. Extremely good. Not cheap, thought.
-
Intersystems Caché
They should move to Intersystems Caché. SQL, objects, XML and even MUMPS. It will make equally happy SQL and NoSQL fans. And it's damn fast. Much leaner than Oracle, DB2 or Informix, too. Excellent support. Extremely good. Not cheap, thought.
-
Re:VA system is public domain
The oldest medical database systems are based on MUMPS, now called M by some, which is still used by the VA. They have
updated it to "VistA", which predated Microsoft Vista (wonder if Microsoft chose that name for a medical reason?).
VistA® / CPRS Demo Site:
http://www1.va.gov/CPRSdemo/
The code:
http://www1.va.gov/CPRSdemo/page.cfm?pg=1
http://www.innovations.va.gov/innovations/docs/InnovationsVistAFAQPublic.pdf
http://www.va.gov/VISTA_MONOGRAPH/index.asp
http://www.va.gov/vdl/ is the library.
http://www.va.gov/vdl/section.asp?secid=3 covers your Financial question.
http://www.va.gov/vdl/application.asp?appid=144
VistA Data Extraction Framework (VDEF).
http://openvista.sourceforge.net/
"OpenVista is the open-source version of VistA, which is an enterprise grade health care information system developed by the
U.S. Department of Veterans Affairs (VA) and deployed at nearly 1,500 facilities worldwide."
1,500 is not all that many considering the market.
Intersystem's Cache' http://www.intersystems.com/cache/ is the contemporary equivlent to MUMPS, a database that claims it can
run rings around things like MySQL in the number of transactions per second.
There are a number of Open Source Medical Databases,they are summarized here:
http://www.linux.com/base/ldp/howto/Medicine-HOWTO/record.html
My very first job was writing medical software, this is when few people even knew what computers were in 1977. Still have my DEC
MUMPS badge that I got at the very first MUMPS conference in DC. Have always felt I should get back into that field. To bad
Dr. Armor and I didn't patent what we were doing then. The pharmacists called up the office in disbelieve asking if these
computer printed prescriptions were real, because *THEY COULD READ THEM*.
The other side:
"VA DATA AND INFORMATION SYSTEMS:
1. FY07 Year-End Med SAS and DSS CNDE Files Available
The fiscal year 2007 (FY07) year-end Medical SAS (Med SAS)
Inpatient and Outpatient files are now available."
http://www.virec.research.va.gov/References/DataIssuesBrief/2007/DIB-0712er.pdf
Requesting Access to VA Data:
http://www.virec.research.va.gov/Support/Training-NewUsersToolkit/ACRSrequest.htm
"Click this button for information, guidance, and FAQs relating to the VA Research Data Security and Privacy initiative."
http://www.research.va.gov/resources/data-security -
Competition?
Sounds like they're trying to compete with InterSystems HealthShare.
-
Re:Object Databases
I know of quite a few that worked out fine. here is a list of successful projects from one of the biggest object database companies. For the areas where they fit in the performance of object database can be significantly better than traditional RDBMS's.
-
Re:hospital IT system gets case of the MUMPS ..
The MUMPS variant Epic uses is Cache http://www.intersystems.com/cache/index.html - IDX and McKesson also use it. Besides it being possible to write entirely unreadable code in and it just being odd in general, it is good for when you have to do a lot of random access to data on a disk, which is probably why it gets a lot of use in healthcare IT.
-
Re:Use PreparedStatements with Java
There are similar ways to do this in any "real" language. There are parameters available in ADO, ADO.Net, ODBC, JDBC, and just about whatever other database interface that exist.
Working in the QA department for a database vendor ( -- shameless plug -- Intersystems Cache --) I can tell you that working with parameters is not all that much more difficult than blind SQL. Most languages can create bound parameters in a single extra line of code.
Note that the statement about being much faster really does depend on the architecture of the backend database -- Most databases will parse the SQL input and have an internal statement cache that handles them all the same. Some of the client drivers (xDBC, ADO, etc) have their own pre-parsers as well (which would not be immune to SQL Injection) which will internally parameterize the incoming SQL -
Re:Wrong: It's the Other Way Around
I would add that if you are going to use Oracle as a dumb object store you would be far better off with an object-oriented database rather than a relational database. Its only when you have more than one app hitting the same data that object-relational makes more sense than pure object-oriented.
So even as a dumb object store MySQL doesn't a lot of sense. -
not really HA but...
try this http://www.intersystems.com/
-
Re:Coolest Feature of Postgresql
Intersystems' Caché (while not strictly an RDMS ) projects child classes as tables, with
the attributes common with the parent also appearing
as fields in the parent table, see
http://platinum.intersystems.com/dev/devsqlproject ion.html
. -
Re:Wheres the tarball?Well, it's public domain, freely available via the U.S. Freedom of Information Act.
And, you can indeed have all of the source you want. But, unless you're prepared to read and modify source code that looks like:
S %=DP, X=D, Y=$P(DQ(DQ),U,4)="0:1"
you probably won't be able to do much with the code.
It's written in (M)umps, an old, old, heirarchial database developed for (surprise) hospital use by the Massachusetts General Hospital. The V.A. began developing this system in the early to mid-80's and some of the originals (like George Timson) are still involved the last I heard. They've added a relational database layer (complete with reporting system) on top of the M layer, and have implemented pretty much everything a hospital would need (from prescriptions to e-mail to patient encounter information and so on) in this language.
Right about the time Delphi 1 came out, the V.A. decided they needed to get into the GUI game and created a component that could be used from Delphi to transmit data to and from a V.A. database via TCP stream. This is the basis of the graphical system that an earlier poster mentioned.
Since then, there's been a lot of incredibly cool work done by programmers in the V.A. with this system. I worked as a programmer for the Topeka V.A.M.C. when they did the GUI patient medication admistration system, which caused the incidence of patient medication errors to drop through the floor (I didn't do much of the work on it, but went Cowboy Action Shooting on the weekends with the guy that did).
For all of the abuse that a lot of government employees take on
/., pretty much every programmer I ever met or worked with in the V.A. was bright, dedicated, professional, and knew their business.Anyway, if you're truly serious about downloading this, you need to go to Intersystems and download a copy of Cache for either Windows or Linux, and then go to Hardhats and download the the database. Back when I was still working with it, they had an actual Cache database file that you could download that was already pretty much preconfigured. Since it's been almost 4 years since I've done any VistA work, I'm not sure what the current state of the system is.
And for those of you saying that the commercial software companies aren't going to stand for this competition: the V.A. would periodically evaluate SQL-based databases to see if they could meet the needs of the V.A. Every test I'd ever heard of said that there was no software out there that could meet the needs of the V.A. and, even if they could find software that met their needs, the conversion from one system to another would be nightmarish (to say the least).
-
Re:Vista isn't actually open source in the normal
Actually there is another commercial M like environment. Cache from Intersystems.
http://platinum.intersystems.com/csp/docbook/DocBo ok.UI.Page.cls?KEY=GMSM_languagediffs
I looked at this some time ago but haven't had time to delve into it in detail. I even downloaded a full runtime of Vista that loads as a cache.dat database file.
-
Re:No data integrity
They have some pretty nify hacks which compiles their "object-oriented MUMPS" programming language (I forget what it's called)
It's called ObjectScript. -
Objectivity or Caché?
If your current relational database schema is either 1) small flat files or 2) a few big tables with most/all of the data stored in "blob" columns: i.e. blobs, clobs, byte arrays, or big varchars. You might be a candidate for an XML database. I'd get two experienced DBA's to agree there was no realistic way to normalize the data, first, but that's me.We're doing "scientific" computing, and we're finding that classical "SQL/RDBMSs" just don't cut the mustard:
CLASSICAL RDBMSs: Essentially "ASCII" languages [SQL, VB, Java], with the idea of "typing" thrown in as an afterthought
Classical SQL/RDBMSs are fine as long as your data is very ASCII-ish and very short [e.g. first name, last name, street address, zip code, phone number, SSN, etc]. But as soon as you start dealing with very large datasets containing strongly typed data, you're SOL with a classical RDBMS.
SCIENTIFIC: Needs very strong typing not found in ASCII languages like "SQL" [e.g. Intel/AMD 96-bit doubles, Altivec 128-bit doubles, Sparc 128-bit doubles, LabVIEW 128-bit timestamps, etc]CLASSICAL RDBMSs: Very 32-bit in nature. Examples: SQL blobs max out at 2^32 bytes, Java can't take 64-bit longs as array counters, etc.
SCIENTIFIC: HUGE datasets; easily break the 2^32 barrier; 64-bit language support a mustAnyway, two systems we had been thinking about were Objectivity and Caché. Any thoughts?
Obviously it would be nice if we could get the standard functionality you'd expect from a mature RDBMS package: Seamless backup to a failsafe server, seamless integration with a tape backup system like BackupExec or ArcServe, seamless integration with an industry standard authentication service like ActiveDirectory or Novell Directory Services, etc.
Thanks for any advice you can offer!
-
Another language
Although almost no one has heard of the language family to begin with, the MUMPS/M family of languages has a decendant which is not listed in the tree: Caché, which is a proprietary concoction from Intersystems. The only reason that I know about it is because the company that I work for uses it.
-
Re:Erm?
check out this page which does a far better job of describing how the object model works. Basically a class can contain other classes as well as simple data classes, which can be very usefull for mapping your object oriented programming model onto the database.
-
Re:Erm?
Having read their site talking about the power of leveraging their synergistic object oriented database paradigm in the enterprise front end situational operation, I can feel my brains melting, and I still don't know what the hell "real" object oriented databases are and why they're so different from the table->row->field used by relational databases. I'm glad they can draw pretty 3D pictures to represent my data (does it really? its hard to tell what they're talking about).
-
Re:Erm?
That's not really all that object relational, it's kind of like early iterations of c++ which were just preprocessor macro's. To see a true object oriented DB that still allows standard SQL access see Intersystems CACHÉ. Everything is an object and can be manipulated as such, it's a truely different way of looking at SQL.
-
Re:Use to work for UK healthcare solution provider
The hospital I work for has repeatedly ranked first in Hospital/Health System Information Technologylists published by Information Week and other like publications and organizations. The bulk of our clinical systems are based on Intersystems Caché, which is basically the most current descendent of M/MUMPS. Increasingly, the front end is web based, but there are still apps that require terminal emulation. Although we too held a Y2K upgrade free for all, that was five years ago, and many of those desktops are still in service. Five years used to be our oficial desktop service life expectation, but now we are a little more rational about that (four years IIRC). We support ~7,000 desktops.
Interestingly, Caché is pretty cross platform. It runs on a variety of hardware and OSes, including OpenVMS, various unices, GNU/Linux and OS X. It also turns out to be an appropriate and cost effective solution for medical record management. Not surprising considering its M/MUMPS heritage. After all, M was developed at Mass General. -
Re:Use to work for UK healthcare solution provider
The hospital I work for has repeatedly ranked first in Hospital/Health System Information Technologylists published by Information Week and other like publications and organizations. The bulk of our clinical systems are based on Intersystems Caché, which is basically the most current descendent of M/MUMPS. Increasingly, the front end is web based, but there are still apps that require terminal emulation. Although we too held a Y2K upgrade free for all, that was five years ago, and many of those desktops are still in service. Five years used to be our oficial desktop service life expectation, but now we are a little more rational about that (four years IIRC). We support ~7,000 desktops.
Interestingly, Caché is pretty cross platform. It runs on a variety of hardware and OSes, including OpenVMS, various unices, GNU/Linux and OS X. It also turns out to be an appropriate and cost effective solution for medical record management. Not surprising considering its M/MUMPS heritage. After all, M was developed at Mass General. -
Re:F/OSS Databases
There are still ISAM DB's out there in use, as well as the new Object Oriented Database.
-
Look no further than Big Medicine...
-
This is actually a very old database idea.
New as of 1968
Can anyone say MUMPS?
Massachusetts General Hospital Utility Multi-Programming System.
MUMPS origin
The latest version of the MUMPS language/database is Cache
There is even a free version called GT/M
Sanchez GT/M
The story of MUMPS is actually a sad tale of a bad language with a great Database.
Origin in 1967
ISO standard 11756 (1991).
ANSI standard: "MUMPS Language Standard", X11.1 (1977, 1984, 1990)
Effectivly killed in the late 90's by Intersystems.
The hallmarks of M were the very terse sytax and fast eficient databases.
99 bottles of beer program example
R O,C,B,b U 0 F X B,O,C,B,C W "Take one down, pass it around,",! S b=b-1 X B,O W ".",! H:'b W !
W " on the wall"
W ",",!
H 1 W $S(b:b,1:"No more")_" bottle" W:b-1 "s" W " of beer"
99
My signature is a complete DSM program that prints out a formatted, justified report of all the prime numbers between 1 and 1000. -
Re:You do realize ...
What I said was that there was more to the proprietary/closed nature of the platform than just the processor. This does not mean that the processor is proprietary - though by a strict definition, it is proprietary, to the PowerPC group of IBM, Moto, and Apple, though it may be available as a COTS part - if Intel tried to set up their own PPC fab plant, they'd be sued, no?
The hardware implementation is partially proprietary in that it is backed by patents which IBM and Moto enforce. The same is true of P4. However the specs and ISA are published standards. If you want to build you own PPC chip you are free to, so long as it does not violate their patents. Again, this is like Intel. How this is part of the "proprietary/closed nature of the platform" I don't understand.
What I was saying, though, is that the PLATFORM cannot be replicated using entirely Commercial Off the Shelf (COTS) Parts, the way that the Intel platform can. As you said, you'd need to reverse engineer the boot code, and possibly also reserve engineer parts of the OS to get it to run on non-Apple hardware. For the Wintel platform, the reverse engineering work has already been done, and there are already COTS BIOSes.
Precisely. The Intel platform is just as proprietary as the Macintosh. The difference is that the proprietary bits have long been reverse engineered and duplicated. Off the rack availablilty is not relevant to the question of whether the platform is proprietary. That is a market question. CHRP and PREP are fully open and documented, IIRC, but you can't buy enough parts offf the rack to build CHRP and PREP boxes either.
If you want the closest thing to an Apple you can get with COTS parts, you should probably try to get Darwin+OpenStep running on that PPC970 blade system. After all, you hardly need the Aqua GUI for a data center. Or you can always buy an XServe.
Nope. That would have no benefits over GNU/Linux and significant disadvantages. There are plenty of useful proprietary bits in OS X besides the GUI. The incredibly useful command line version of Apple Software Restore springs to mind. The idea is to have a hardware partitionable blade system where we can devote whatever hardware resources we want to a specific server. With ASR we could custom image system drives in five minutes. "Need to replace a server? Give me five minutes. No I don't have to go to the server room. I can allocate the hardware and image the system from here." OS X makes a nice drop in Windows replacement for CIFS etc. The management tools learning curve would be very shallow for our existing Army of Windows admins. My sources at Apple tell me that Panther will ship with a heavily GUIfied Samba 3 implementation too. We could forego Active directory and save a bundle on CALs. Our core business happens to rely on an DBMS which is supported on OS X but not Linux PPC. And certainly not Darwin. If we want to leverage the energy and cooling benefits of PPC, we need to run OS X or find a new DB platform. Likewise, Veritas will already sell you Foundation Suite for OS X, so long as you self validate. We'd need that as we rely heavily on shared storage (Panther multipaths, BTW). They will most likely never support Darwin. There isn't even a commercially supported Darwin distro. This is an enterprise we are talking about here.
XServe? Are you kidding? For our purposes it is a toy. -
OT: MUMPSDude, if you know MUMPS, you should be able to find a job easily in the Managed Care software industry. Talk about your specialization.
:-) See if Intersystems has a consulting partner program or something. But thanks for making me chuckle over that blast from the past.Good luck!
-
Best of Both Worlds?
I use Intersystems' Cache at work - under the hood it's hierarchical, so it would seem to be a good fit for XML (I hear more XML stuff is coming for version 4.2), but it also projects everything as relational tables through ODBC, and simultaneously as objects, through ActiveX and Java. (They're dropping CORBA, not enough interest apparently.) I find it a little tough to program natively in, but it's gotten a lot better with version 4.x. And it runs quite well under Linux. That's the platform I use
:-) -
RPMS or VISTA
The Veterans Administration created a package called VISTA on Mumps. The Indian Health Service (in which my employer is a participant) used the VISTA package to create their own specialized version of the software-- RPMS.
Based on ANSI-standard MUMPS, RPMS isn't a bad alternative. It has a complete patient management system (one of the best in the industry), a pharmacy package, a lab package which interfaces to most common lab equipment, scheduling, diabetes, a couple of third-part (read: non-free) billing package, and a great ad-hoc query tool.
The issue is finding a MUMPS (M) environment. All the good M vendors were gobbled up by Intersytems. They created a product called Cache.
Cache is available for Linux, though. And I understand RPMS has run on Cache. I think. Although you could probably get RPMS under the freedom of information act, and the source is available (which means it's a government-sponsered open-source project, essentially), Cache is rather expensive. But they do have a free Linux download.
There is a Free Software version of Mumps in the works. Although it is not ready to run RPMS or VISTA, it would be easier to get FreeM working for RPMS than it would to write a free medical package from scratch.
Anyway, that's my $.02.
Tony -
Re:M/MUMPSIntersystems Cache is a cross-platform M system, and Linux is one of the supported platforms. What's more, it's pretty damn fast.
M is, of course, a programming language which makes PERL look inherently readable:
f p=2,3:2 s q=1 x "f f=3:2 q:f*f>p!'q s q=p#f" w:q p,?$x\8+1*8
My experience of M is in a financial environment where it is also popular for investment management systems.
-
You might be looking for MUMPS
The original experiment in medical informatics was MUMPS which originated at the Massachusetts General Hospital in the '70. It became a FIPS later in its life, and enjoyed widespread use as an environment for medical and governmental programming.
MUMPS is an interpreted language with some interesting similarities to perl, in particular its data structures, persistant sparse arrays with arbitray indexes.
MUMPS contuinues ot be very important today, in fact the large health care provider I work for implemted its own EMR system in the great-grandchild of MUMPS called cache. Cache is the commerical product from Intersystems. Cache is an integrated MUMPS environment with the data structures implemented in a high-performant object-oriented database. Cache is available for Linux, and since MUMPS is an interpreted language, any experienced medical informatics programmer with a MUMPS background (thats all of them) should be able to implement a custom EMR for you pretty speedily.
I am aware of a text-based MUMPS EMR called CoStar, but I am not sure who wrote it, or if it is still commerically avalilable.
-Steve R (sroylance@partners.org)