Work
As a company, RoboCom has both very focused domain expertise, as well as broad technical experiences. These experiences allow us to perform at all phases of the software development life cycle: proposal, planning, budgeting, definitions, analysis, modeling, design, coding, implementation, testing, integration, deployment and maintenance. Our experience includes developing real-time embedded systems, desktop distributed database enterprise systems, fat and thin client interfaces, client control applications, dedicated test tools, HMIs, modeling/simulation, network emulation, network impairments and re-purposing open source software.
A strength of our company is our agility, adaptability, and versatility resulting from these collective work experiences. Our work experiences provide a solid foundation for providing comprehensive solutions across broad technical domains in a world of ever evolving technologies.
The following list of projects, listed in reverse chronological order, are ones that we have completed since forming the company, as well as significant projects from our past. We have been involved in developments for decades, therefore this is not a comprehensive list.
The Extended Mobile Ad-hoc Network Emulator (EMANE) real-time network emulation framework provides real time network emulation of complex communication devices and custom radio waveforms.
We implemented and developed a real-time network emulation framework for analyzing and testing the performance of a multi-node network using a Networking Waveform based radio waveform. This implementation required the development of thousands of lines of Linux bash shell scripts to orchestrate and control the full network emulation environment based on using LinuX Containers (LXCs) for virtualization. Software components executing within individual Linux containers included EMANE software components, custom networking radio software components, and other custom developments.
The EMANE network emulation modules (NEM) protocol stack supports customization through the development of custom “shim” layers that exist as part of the executing NEM software stack. A custom shim layer is inserted between component layers in an NEM layer stack without requiring those components to have knowledge of its presence. Custom MAC Layer and PHY Layer shims were required to support integration of value added functionality into the baseline EMANE network emulation stack in a benign manner. The MAC Layer shim was responsible for eavesdropping on the control messaging passing through the network emulation stack, and whose content is serialized using Google Protobuf technology, decoding, and then forwarding content on to a detector application.
Frequency agile communications systems need to be tested with interfering sources, or jammers. This development effort required the development of a custom jammer "shim" which provides jamming interference into the EMANE simulation to evaluate the system response. The jammer shim is configured to support multiple operating modes such a fixed frequency, sweep frequency, and hop frequency sets with controllable signal levels, noise levels, bandwidths, frequencies, and sweep or hop rates.
Analysis of emulation results was supported by the development of a standalone custom EMANE over the air (OTA) real-time spectrum and waterfall viewer application as described in the post EMANE Real-Time Spectrum and Waterfall Viewer.
For more information on the design and development of the EMANE network emulation scripts and the custom MAC and PHY Layer shims, refer to the post EMANE Network Emulation.
For more information on the development of a full featured EMANE Jammer Network Emulation Module, refer to the post EMANE Jammer Network Emulation Module.
All custom software was written in C++ compatible with the EMANE framework, C++ using the Qt framework for the EMANE viewer, or Linux bash shell scripting for creating, configuring, managing, and operating the EMANE emulation environment.
In telecommunication, Long-Term Evolution (LTE) is a standard for high-speed wireless communication for mobile phones and data terminals. Carrier aggregation (CA) is used in LTE-Advanced in order to increase the bandwidth, and thereby increase the bitrate, and is used in both Frequency Division Duplex (FDD) and Time Division Duplex (TDD) modes. 3GPP is the telecommunications standards organization for LTE development.
We are currently working with a corporate partner on a high-performance air-to-ground network based on the LTE standard. This network provides network link aggregation to an LTE airborne deployment using external packet aggregation and custom signal processing at the OSI physical layer to extend network range. This design provides increased data bandwidth and allows for uplink/downlink channel combinations which currently exceed the 3GPP specifications for CA -- which specifies a maximum configuration of 3 downlinks from the eNB to the handset user equipment (UE), and 2 uplinks from the UE to the eNB. This solution uses four 1.4 MHz inter-band non-contiguous carriers in a 4 uplink/4 downlink configuration with each channel operating in single input single output (SISO) mode to achieve reliable 5 Mbps uplink and 10 Mbps downlink data rates.
The LTE network used for development consisted of user equipment implemented using the Software Radio System's (SRS) srsUE open source software radio LTE UE coupled with Ettus Research software defined radio (SDR) RF boards, and the Amarisoft LTE software stack which includes an MME, several eNBs, and other EPC modules executing on either a Nutaq Pico LTE or custom hardware platforms.
The solution required the development of a custom LTE aggregator network devices to provide access to the LTE network from both the ground and airborne sides of the LTE network to external host devices, which are the source and sinks of user data. The LTE Aggregator application executes as a Linux daemon on a 64-bit Ubuntu multi-core Intel desktop platform, either native to the UE or EPC platforms, or as an external application on a separate hardware platform.
It is responsible for:
- providing a gateway interface to host facing devices conditionally synthesizing ARP responses,
- writing to and reading from multiple interfaces in real time,
- providing input buffering to handle host bursty traffic,
- routing network packets between host and wireless interfaces based on interfaces ability to be written to,
- smart bridging of host traffic across the IP based LTE network using tunneling/IP in IP encapsulation/decapsulation for LTE channel selection,
- integrating into a complete solution several Linux applications as managed child processes used for SDR calibration & test, software routing, the UE software stack, the LTE EPC software stack, etc.,
- learning the IP/MAC addresses of directly connected host devices, and IP addresses for wireless network accessible host devices through network traffic inspection,
- best channel selection adaptive scheduling based on dynamic link channel metrics/queue status or non-adaptive round robin cyclical scheduling,
- OSI Network Layer 2 (external network) to Layer 3 packet conversions (LTE network), and
- utilizing a custom XON-XOFF software flow control to prevent overloading the wireless LTE network.
Bandwidth aggregation over multiple carriers introduces multipath packet reordering for a communications flow from transmitter to receiver. To remedy this problem, the LTE aggregator implements a packet reordering algorithm for network packets providing in order delivery of packets to the final destination. The LTE aggregator implements global and per channel transmit sequence numbers that are used by a peer receiver to determine which packets were lost in the LTE network (to avoid waiting on a timeout condition), and for reporting and determining channel packet transmit queue levels which is used for dynamic load based scheduling.
The application provides a full featured comprehensive REST API interface using the HTTPS protocol secured using Basic Authentication over TLS/SSL for upstream command, status, and control. Both REST API GET and PUT operations are supported with read-only and read-write access to content based on user role.
The application is loaded on platform boot as a Linux daemon and is the master controller for an embedded Linux based custom long range radio. It supplies an HTTP/S embedded web server that provides a web user interface for control, status, logging, and monitoring of a number of child processes that execute on the platform. It supports managed child process creation, dependencies, timing, tear-down, invoking, restarting, monitoring, logging, and recovery. These child processes include applications used for radio calibration, radio waveform test, radio firmware upload and updates, waveform generation, network configuration, open source networking daemons, and LTE UE and EPC protocol stack applications, etc.
The technologies used for this solution included IP in IP encapsulation tunneling (per RFC 2003), dynamic scheduling based on link metrics/queue status messaging, websockets and JSON content processing for monitoring LTE channel status runtime on the EPC platform and for REST API messaging, and reverse engineering and modifications to the UE software stack to mine for connectivity and link metrics for reporting to the aggregators.
Technologies for the web based user interface include Bootstrap, jQuery, Bootstrap add-ons, and custom JavaScript. We utilized our custom Qt/C++ based HTTPS/HTTP web server for the web interface that is integrated and combined with the application server itself in a single tier architecture.
We developed the network stack for an Small Business Innovation Research (SBIR) Phase 2 research and development effort to create a low latency, high throughput, software defined radio (SDR) resilient to RF jamming. This network stack, which operates on both the control and data planes, was developed in C++/Qt code and implemented as a Linux user space daemon.
The radio software executes on a network of Xilinx ZC706 multi-core ARM based hardware platforms operating under embedded Linux and Raspberry Pi 3 ARM devices used for digital domain testing using wired connections prior to RF interface integration. A software defined transceiver for the network consists of a combined Analog Devices FMCOMMS dual-transceiver FMC card with a Xilinx ZC706 Development kit. The ZC706 is a Xilinx Zynq-based system similar to the more common ZedBoard and ZC702 development kits except that it provides significantly more programmable logic space.
The software implements smart bridge/firewall technology which limits Ethernet Layer 2 packets transmitted over the RF interface from the wired interface to only packets destined for known host devices passively learned from the network, packets necessary for network discovery and management, or packets filtered by Ethernet frame type.
The software stack provides SNMP agent support with compatibility to legacy radio and configuration persistence to XML formatted files. The technology includes CPU pinning and real time thread priorities to obtain closer to real time performance on a generalized embedded Linux operating system distribution which provides support for user data rates up to 100 Mbps.
The headless daemon provides a full featured and mature web interface developed for “mobility first” using the popular Twitter Bootstrap web framework which is served from a single tier integrated web server. The web interface provides basic browser authentication over SSL and role based access to content. The web interface provides a full range of functionality including viewing the current SNMP supplied configuration, importing and exporting dynamic configuration via an integral FTPS/FTP client, viewing the current log file and setting the log verbosity runtime, loading SSL PEM files for the HTTPS protocol, viewing runtime statistics, creating and managing both web and SNMP users, etc.
The radio software provides standard Linux logging with integral log rotation and user settable log levels. Advanced logging is provided with highly detailed microsecond precision signal timing (as a software logic analyzer) by way of Value Change Dump (VCD) generated output with web settable signal capture filters to support remote diagnostics. For more information on advanced trace logging, refer to our embedded viewer product.
The application includes a fully integrated FTP/FTPS client to allow for importing and exporting dynamic configuration and log files. Secured interfaces include support for the HTTPS, FTPS, and the SNMPv3 protocols.
Distribution, configuration, and updates of the software components to various hardware platforms are by way of a developed Debian (.deb) package.
More information on this development is described in the news post Maritime Radio Communications Stack and Maritime Radio SBIR Phase 2.
A customized Time Division Multiplexing channel access protocol for the maritime environment was integrated into the RoboCom Low Latency Radio IP Network Stack. The channel access protocol was developed in the RoboCom common code architecture supporting both radio hardware and OPNET modeling and simulation (M&S) tools.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
A leading developer and manufacturer of high performance aeronautical telemetry products was devoting significant resources with platform support for its legacy fat client based radio control application under Windows. The solution was to create a thin client web equivalent application, which being browser based, avoided the issues associated with fat client applications (incompatible graphics drivers and Windows DLL Hell). The challenge for the web based implementation was supporting real time imaging of six concurrent graphs over a browser interface at a refresh rate that was both pleasing to the eye and technically possible on a typical modern day laptop to desktop computer using standard web browsers.
We created an embedded Arch Linux based web interface providing real time streaming of RF receiver status as complex eye pattern and power spectral density plots (6 concurrent plots at 8 frames per second), configuration, and control for a high performance aeronautical telemetry receiver.
The solution is implemented based on the popular Django/Python/SQLite based framework and uses HTML5, Ajax PUTS & GETS, CSS, Bootstrap, jQuery, browser local storage, and JavaScript technologies. The Django based web site uses the Model–view–controller (MVC) software architectural pattern and runs as a FastCGI application to a lighttpd embedded web server.
The site includes a page lockout scheme to ensure integrity of changes from multiple concurrent web users. A network page displays real time information for all similar radios found in the network obtained through active periodic messaging. Both client and server side input validation is provided. Loading and saving of user defined preset configurations to the current radio configuration is supported as well as importing and exporting of radio configuration to/from external JSON formatted files.
The web site interfaces with a Front Panel Controller C#/.NET/Mono application running under embedded Arch Linux via SQLite database tables, database triggers, and custom binary files including images with appended metadata, and radio network status as a packed binary file.
For more information on our web based embedded real time control and status interface developments, refer to our Web Monitor & Control Product.
The Integrated Networked Enhanced Telemetry (iNET) Link Manager provides real time highly reliable control of a distributed radio network providing centralized shared channel time division multiple access (TDMA) channel access for the next generation of military test range networked communications.
We developed the iNET Link Manager as C++ code using the cross platform Qt libraries. The Link Manager executes as a Linux daemon on a RedHat Linux platform. It features a secure Qt based HTTP(S) 1.1 web server and SNMPv3 agent for external control and monitoring, precise time synchronization via Precision Time Protocol (PTP) software, soft configuration via FTPS client loading of XML content from an external FTP server, and built in diagnostics including generation of real time signal timing via Value Change Dump (VCD) formatted output and standard Linux log files with internal log rotation and log file management.
The iNET Link Manager daemon features lock free programming to avoid common errors associated with locking in multi threaded programming (priority inversions, deadlocks, etc.), and takes advantage of parallel processing on multi-processor and multi-core processors platforms via CPU isolation and CPU thread pinning (i.e. CPU shielding).
The Link Manager includes a built in Qt based web server providing web content designed using the responsive web design (RWD) approach (using Bootstrap) which supports a wide range of devices from desktop computer monitors to mobile phones. The web interface provides basic browser authentication over SSL and role based access to content. The web interface provides a full range of functionality including viewing current configuration, importing and exporting dynamic configuration via an integral FTPS/FTP client, viewing the current log file and setting the log verbosity runtime, loading SSL PEM files, viewing runtime statistics, creating and managing both web and SNMP users, etc.
The created RedHat Package Manager (RPM) packaging provides proper Linux platform distribution, installation, and configuration for the various Link Manager software modules and files.
For more information on the design and development of the iNET Link Manager, refer to the news post iNET Link Manager.
We developed a "common coded" OPNET simulation - Linux platform TDMA based real-time frequency allocation Link Manager algorithm providing spectral reuse and efficiency when managing multiple test range components. Variable slots known as Transmission Opportunities are sent by the Link Manager to the managed radios and take into account Mission and QoS traffic queue loading. Based on the queue loading of each of the managed radios a real time demand picture of network is maintained by the Link Manager. The real time demand picture allows the Link Manager to provide a quick prioritized response to changes in the traffic patterns as mission traffic needs change.
The TDMA algorithm used by the iNET Link Manager was developed and verified using OPNET modeling and simulation (M&S) tools. The TDMA algorithm proper was developed in C++ code that is used both in the OPNET simulation and the deployed embedded system. Refer to the post Common Code Simulation Architecture for more information on common coding techniques between OPNET simulation and embedded platform developments.
During the Link Manager software development, we worked closely with the government customers to develop the software for capability demonstrations at Edwards AFB. We have also contributed to the development of the supporting test range networked telemetry standards IRIG-106 Chapters 21-28. Refer to the news post IRIG 106 Aeronautical Telemetry Standards for more information on telemetry standards.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
To support the development of the iNET Link Manager, we developed a real time radio emulator cross platform GUI test application in Qt/C++ to simulate the network interface messaging and timing of RF transceivers. The radio emulator executes as a real-time application on a cluster network of Raspberry Pi ARM platforms running under UbuntuMATE or Linux desktops under CentOS/RHEL.
Contents for the various generated messages come from loaded spreadsheet files which define message content and repeat patterns to allow for soft coding different test scenarios and conditions.
The radio emulator generates real time signal timing via Value Change Dump (VCD) file generation for recording and analysis of precise signal timing.
For more information on our real-time radio emulator developments, refer to our radio simulator products.
An Ethernet network is subject to various network impairments which can include duplicate, dropped, and delayed packets. To facilitate evaluating system software networking behavior under impaired conditions, we developed a network impairment application which executes on an embedded or desktop Linux platform as part of a network impairment test lab. This application allows precise control of Ethernet packet duplication, drops, and delays to evaluate how legacy and currently being developed system software reacts.
As part of this effort, it was necessary to diagnose and rework a legacy multiple man year developed Windows based C# fat client .NET based application used to configure, control, and monitor a telemetry receiver network to provide resiliency to Ethernet network defects.
For more information on network impairment, refer to our network impairment software product. If you need help in setting up a network impairment test lab, or reworking a legacy application to handle network defects, we have experience with these issues and can help.
We developed embedded system software and simulation components for the Defense System Networked Radio (DSNR) program's networked radio. The DSNR program was aimed to replace Patriot missiles in the United States. The DSNR radio, and by inference the DSNR radio simulator, has data and control plane exchanges with a host device by way of Cisco routers in a Mobile Ad Hoc Network (MANET) configuration. This is part of Cisco’s Mobile Ad Hoc Networks for Router-to-Radio Communications strategy. In this Cisco strategy, the PPPoE protocol, which stands for Point-to-Point Protocol over Ethernet, is extended to enable a router or radio to query or report link-quality metric information.
This networked radio uses the PPPoE protocol as a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. We researched, designed, developed, and documented all PPPoE specific threads, interfaces, and routines to support this real time multi-threaded military radio which executes under embedded MontaVista Linux on a PowerPC platform. Cisco routers are used extensively within this mesh network. As such, we developed all of the Cisco router configurations to support the MANET network configuration and testing of multiple radios using the PPPoE protocol with credit flow extensions to control user data flows.
We were members of a design team which created an embedded Linux process which implemented a dynamic TDMA scheduler for the DSNR network radio based on obtaining Cisco router's dynamic view of the network tree coupled with user specified required bandwidths for data flows defined by link endpoints. To obtain a dynamic tree view of the network, networked Cisco routers’ unicast and multicast router tables content were obtained periodically via SNMP commands. The bandwidths required for end to end and multicast connection data flows were then overlaid upon the live network topology to determine the bandwidth allocations per each network point to point link.
As a risk abatement measure, large defense program recognize the benefits of emulation/simulation in advance of the development of an embedded system. Emulation or simulation of a radio allows developers to prototype the system software, perform preliminary software design, evaluate network protocols, system timing, and interfaces prior to the development of a custom PCB and system software.
We developed a real time multi-threaded GUI application in C++/wxWidgets which executes on RedHat Fedora Linux that emulates the network interface, protocols, and delay timing of a custom developed radio. This application is used in advance of the development of the actual radio and much of the developed software eventually became part of the embedded radio software stack.
The radio emulator simulates Mobile Ad Hoc Network (MANET) radios and provides PPPoE connections to Cisco routers for router-to-radio communications and PPP Data Link Layer bridging for peer router-to-router communications. The developed software fully implements credit flow for traffic control, and quality of service (QoS) extensions to prioritize certain classes of data (per RFC4938).
To inform an upstream SNMP Manager, this application generates event notifications via SNMP traps, and SNMP is used for customizing radio parameters such as neighbor lists, packet latencies, packet drops and bandwidth allocations per link.
For more information on our radio emulator developments, refer to our radio emulator products.
The Wideband Networking Waveform (WNW) is a military radio protocol for mobile ad hoc networking (MANETs) for software defined radios. It was developed as part of the Joint Tactical Radio System (JTRS) program of the U.S. Department of Defense, and was intended for US and NATO military use. The WNW waveform uses an OFDM physical layer, and with variable frequency usage to best utilize the available bandwidth. The waveform uses the Software Communications Architecture (SCA) software architecture, and has NSA approved security.
We developed an OPNET model for the WNW waveform and performed analysis on its characteristics with respect to maximizing bandwidth through the use of variable frequencies. We used our RoboComNV network visualization product as part of the WNW OPNET development and analysis. The OPNET simulation drove our network visualization application rendering the spatial layouts of communications nodes and created and populated several 2D line charts.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
We developed the embedded systems software for a secure, frequency hopping, spread spectrum wireless transceiver used with next generation networked intelligent munitions. The controller for this transceiver required firmware to be developed for dual processors: a 32-bit TI 5510 DSP and a 16-bit TI MSP430 RISC low power mixed signal processor. The 30 thousand lines of embedded ‘C’ language code for the transceiver developed followed object oriented constructs and utilized the TI DSP BIOS RTOS while following the IEEE 802.11 wireless specification for the implementation of the OSI communications stack.
We developed the system requirements and architecture, hardware interfaces and protocols, device drivers, development of application level processes (duty-cycled low powered sleep mode, over the air programming, built in self test, establishing a global clock) and all 7 ISO/OSI network stack layers: Physical (including all hardware and interface device drivers: EHPI, SPI, RS-232, Flash), Logical Link Control, and Medium Access Control (using Carrier Sense Multiple Access with Collision Avoidance), Network, Transport, Session, Presentation, and Application.
We developed a Windows based test application in C++ and MFC that allowed for synthesizing the interface control messages and all message arguments through a GUI based user interface. This test application was used by ourselves and other component vendors for this system to allow an operator to first script a sequence of messages and message arguments to be issued for testing, and then run the scripted configuration wherein the created message stream is sent to a device under test (DUT), and the received messages from the DUT were decoded from binary into human readable format. For more information on our simulator developments, refer to our radio simulator products.
A custom networking protocol was developed to support the deployment of 100’s of XM-7 Spider radios connected to a central control point creating multiple hop routes under hostile jamming conditions. The use of adjacent nodes to act as forwarders was employed to allow the network to remain fully connected. The network consisted of hand placed XM-7 Spider units with radios connected to a handheld unit for control. The XM-7 Spider units are generally fixed in location though the remote control point is free to move as required during the operation of the network.
The overall system effectiveness was largely determined by the latency required when delivering data packets between endpoints. The ability to provide a high data rate control channel was not an option due to near ground placement of the antenna, limitations of ground based propagation interference and hostile jamming. The low data rate control channel required to meet the communications requirement and the large network of XM-7 Spider units required resulted in limitations when sensor/control information began to flood the network during periods of high activity in simulations of network CONOPs and supporting network analysis. The routing protocol developed leveraged groups of adjacent nodes to act as forwards in a low latency hybrid layer 2 group forwarding algorithm.
For more information on the group routing network protocol, see the SPIE paper Efficient routing in dense UGSS and wireless munitions control systems.
The network layer and network group forwarding algorithm for the XM-7 Spider transceiver was initially modeled and verified within the OPNET simulation environment in a common code format, and then migrated to the embedded platform.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
We created the firmware for L3-Nova’s commercial product NovaRoam. Nova’s NovaRoam was the first MANET routing radio based on IETF MANET routing protocol standards. The radio was deployed in numerous applications in the commercial, industrial and military environments and was L3-Nova’s most successful commercial product. A collaborative effort in 2003 with the University of Cincinnati Wireless Networking Lab and Professor Samir Das resulted in an IETF MANET AODV routing protocol option in addition to the TORA/IMEP protocol, and custom routing protocols were developed.
We created a multithreaded application for embedded Debian Linux as 3K lines of C++ source code which provides the touch screen user interface for a commercial leak test instrument. This application was written using Qt/C++ and communicates with a real time processor via UDP messaging in a dual ColdFire CPU configuration.
The user interface provides the characteristics of modern cell phone fluid interfaces including touch screen control, swipe navigation, rich multiline list controls, embedded keyboards, pop up context menus, icon based selection screens, animated scene transitions, over scroll animations, international language support, and kinetic scrolling.
For this instrument's user interface, we implemented a real time auto-scaling and auto-ranging 2D line graph plot which utilizes a max-min data decimation algorithm to handle plotting unlimited data.
We developed a database table based code generation application written in Visual Basic for Applications (VBA) which automatically generates embedded ‘C’ code (or any other text based programming language) in a target international language for a world leader in the design and manufacture of standard and custom leak test solutions. The code generation application is based on user created template files with embedded SQL statements. This application has become an essential productivity tool used by the embedded firmware developers. It featured the ability to export and import language content in XLIFF format to provide support for language translation, and the generation of source code with International language support.
For more information on automated database driven source code generation, refer to our application source code generation product.
We developed a custom Microsoft Office Add-In for a cloud storage based company which allows users to send and receive files of any size with a focus on huge files for collaboration. For this effort, we designed and developed a version neutral, application neutral, lightweight Microsoft Office for Windows add-in in C++/ATL/COM that allows a user to send very large documents from within Office applications to the cloud based application server.
We were responsible for modifying, diagnosis, field support, and enhancing IDX’s Systems ColdServ application. ColdServ is a listener agent/application that obtains electronic medical records (EMR) from a mainframe computer over a TCP/IP network connection for printing and storing EMR content to computer output to laser disk (COLD) long term storage. The EMR originates on a Tandem mainframe as part of the IDX System's LastWord Enterprise Clinical System. IDX Systems, currently owned by GE Healthcare, provides medical management software used by medium to large hospitals, physician groups, and medical management firms.
We were responsible for the commercial release of an industry leading client/server ODBC driver/middleware tool that allows users to access and manipulate IBM host data using any ODBC compatible Windows application. This driver supports IBM’s Distributed Relational Database Architecture (DRDA) protocols. We enhanced product performance and compatibility with leading commercial applications, developed multi threaded test applications for driver verification and bench marking, diagnosed and fixed numerous customer deployment field problems and created installation applications (32 and 16 bit releases).
We created a custom medical procedure and billing application, by transforming years of legacy billing content stored in single user Microsoft Excel spreadsheet repositories, into a multi-user distributed solution based on a Microsoft Access or SQL Server database backend with Visual Basic for Applications (VBA) coding and using Microsoft Access forms for the front end user interface. This transformed system provided a complete multi-user database entry and reporting solution for managing medical procedures and associated CPT codes for billing and insurance.
This solution required the creation of a custom application in C++ to transform and convert legacy medical records originally in Excel format into normalized database format to allow for importing into Microsoft Access databases. This solution was used for medical claims processing for reimbursement of historic and ongoing family practice department medical procedures.
We designed and developed as a standalone wireless pager gateway system in C++/MFC utilized in medical enterprises for automated consult referrals. This system is a listener agent/application that obtains medical referral information from a network accessible computer over a TCP/IP link, and implemented and utilized the Telelocator Alphanumeric Protocol (TAP) for sending short messages via a land-line modem to a provider of pager and/or SMS services, for onward transmission to pagers and mobile phones.
We were part of the small software development team that created one of the industry's leading highly evolved electronic patient record application suite that provides streamlined processing and fast, easy access to all forms of health information regardless of the source.
We were responsible for development and maintenance of a major Electronic Health Record (EHR) provider's flagship image-enabling application into a production environment of over 1400 workstations. Image enabling allows the medical record query, viewing, and annotation application to be integrated into upstream higher level Disease Management Systems. The integrated application provides physicians and clinicians access to the entire electronic medical record (EMR). Imaging enabling was implemented technically by providing a full featured OLE automation interface to the EMR query application.
We were responsible for the design, coding, testing, implementation, maintenance, bug corrections and performance enhancements of various component modules of a high-end enterprise wide client/server based medical document imaging system. We created or modified client software modules including standalone servers, executables, and support DLLs to support FileNET and LaserData Optical servers for long term data storage to COLD.
We developed a C++/MFC/embedded SQL based quality assurance application to verifying the integrity of all images and medical records artifacts stored on magnetic or optical storage for EMRs using an Oracle enterprise database backend. This custom application is used by hospital IT staff to verify the integrity of the entire EMR system, the database contents and fields, and the referenced medical artifacts including image file validation through decoding and display.
We developed a general-purpose text/image viewer toolset/suite as embeddable OLE components or OLE servers for use in EMR applications for viewing medical documents including annotation support.
As part of the professional services team, we developed a custom image conversion applications for a leading west coast hospital to automate the conversion/import/migration electronic medical records stored on legacy FileNET optical servers into the Electronic Medical Record (EMR) system. This 24x7 operating application created electronic medical records within the EMR repository with proper indices conversion and document content retrieval from a Unix based FileNET optical server.
Our engineers have experience planning and leading the development of software and firmware based projects. This discipline involves the full software development life cycle from proposal, to implementation, project monitoring and control, to final testing and deployment.
We have internal project management for all of the software, firmware, modeling and simulation, and hardware projects for which we have involvement.
We are currently extending this expertise to help out other small companies manage their own projects.