FileMan Query Language (FMQL)
Together the Department of Defense's CHCS and VistA from the Veterans Administration represent the most widely deployed medical record system on the planet.
Both are built around a MUMPS-based data repository called FileMan - VistA or CHCS data is FileMan data. Though efficient and flexible, FileMan has no remote query language or formal schema definition mechanism - there is no "SQL for FileMan".
Instead data is transferred to and from FileMan using three kinds of mechanism: thousands of remote procedure calls (RPCs), flavors of HL7 v2 and "SQL-projection", where select data types (files) are mapped to SQL tables. But no one mechanism works for all data and each demands careful handling.
FMQL, the FileMan Query Language, changes this. Patient data, Institution data, Conceptual information ("Know-how"), System records - to FMQL, this is all just data to extract. By delivering one uniform mechanism for extracting any data, FMQL makes VistA and CHCS data access easy and let's you focus on analyzing and presenting data.
All Data and Schema too
FMQL provides access to both FileMan data - a patient's demographics -
and the schema of that data - the type "Patient" -
Identity, Formats and Query Nuance
- Identity: every entity and entity type in FileMan gets a unique identifier - a URI
- Data Formats: a consistent form of JSON, the web-friendly response format, for every type of data in the system as well as HTML for human readers and RDF for web-data practitioners
- Query Nuance: from the precise - SELECT - to the broader - DESCRIBE - or just COUNT, covers data hierarchies and graphical layouts, paging and filtering
Add FMQL to your VistA or CHCS
FMQL has been tested on both fully populated and test FileMan-based systems:
- OSEHRA VistA, VxVistA, and WorldVistA – the open source FOIA based VistAs
- GT/M on Linux, Cache on Windows and Linux
For more details, consult the FMQL Wiki.