Skip to content

Releases: mdpnp/mdpnp

OpenICE 1.5.0

10 Jan 13:06
Compare
Choose a tag to compare

This is a major release of OpenICE, with the following human visible changes.

  1. For serial port devices, the COM port number is shown in the label for the device. This allows much clearer identification of individual devices when there are multiple instances of the same device connected. (#24)
  2. Application popup windows in OpenICE can have configurable sizes. Previously, apps that were "too large" for the default window size needed to be resized after opening. Now, applications can be configured at creation time to be "the right size". (#31)
  3. A "flow rate objective" is introduced, allowing pumps that support it to have their flow rate adjusted from inside OpenICE. (#32)
  4. There is a new display panel for pumps, that allows the flow rate to be displayed. (#33)
  5. There is a simulated pump device, for testing the other pump related components of OpenICE. (#34)
  6. There is a generic mechanism to allow all device data to be logged to a SQL database (#35)
  7. There is a control application to allow pumps to be controlled (#32)
  8. There is a new "Closed Loop Control" application (the Fluid Resuscitation Optimization Alogrithm). (#36)
  9. There is a simulated, controllable BP monitor device, and a corresponding control application. This allows easier testing of other apps that require blood pressure measurements (#39)
  10. Integration with an OpenEMR server is possible, to retrieve a list of patients from that system that are then displayed in OpenICE. (#43)
  11. There is new, scriptable application to allow control of simulated values. This allows a file to be defined with timings, metrics, and values, which can then be run as a timed sequence of changes to the desired metrics (#44).
  12. Mindware/BioLab devices are supported. (#70)
  13. There is integration with DICOM servers, this allows downloading images from a DICOM server and forwarding them to a different storage location. Images can also be viewed locally inside OpenICE (#72)
  14. The VitalsBridge device is supported (#71)
  15. The Puritan Bennet PB980 ventilator device is supported, extending the previous support for the PB840 (#73)
  16. There is a new application to view data from ventilators in a uniform way (#74)

There are other important changes to underlying technologies and tools, including

  1. Introducing continuous integration builds using GitHub infrastructure.
  2. Updating Log4J to the latest version to mitigate against recent well publicized critical vulnerabilities.

OpenICE 1.3.0

31 Oct 14:22
0614e7e
Compare
Choose a tag to compare

This is a major release of OpenICE, featuring the following user visible changes

  1. Log files and the icepatientdb are moved to the user home directory. This prevents problems for users who do not have write access to the install location.

  2. The CSV persister in the data exporter application allows dates/times to be shown as raw millisecond values rather than human readable dates.

  3. Display of temperature values now includes a decimal place. (Issue #7)

  4. A bug that prevented device specific metrics (non MDC_ metrics) from being displayed in the data exporter application is fixed. (Issue #8)

  5. Numeric metrics published by devices are now checked to see if they can be displayed by a device specific panel. This reduces the number of instances of "Waiting For Data" being displayed in device panels. (Issue #9).

  6. There is a derived respiratory rate for Draeger Apollo devices, based on the interval between inhalation and exhalation. (Issue #10)

  7. The temperature is varied in the simulated temperature probe (Issue #11)

  8. The "Modified Early Warning System" application is added to OpenICE (Issue #12)

  9. In the CSV persister for the data exporter application, "grouping" of numbers is turned off. Numbers could be presented as 123,456 (for one hundred and twenty three thousand four hundred and fifty six) but this caused problems with comma separation as the extra comma from the group changed the field count. (Issue #14)

  10. When using the data exporter application, if the root node is selected, then newly added metrics are automatically selected as well (Issue #15)

  11. The "Denver M Series Balance Scale" is a supported device (Issue #19)

  12. The CSV persister for the data export application uses 4 decimal places (Issue #20)

Technical changes include

  1. The gradle version is updated from 2.2 to 5.

  2. Dependent JAR files for the build that were previously hosted at on the OpenICE artifactory are now stored directly in GitHub as part of the build tree (Issue #22)

1.0.1

18 Dec 20:30
Compare
Choose a tag to compare

A couple of minor fixes from 1.0.0, and also to provide a 32 bit Windows installer.

1.0.0

22 Nov 17:01
e47eed1
Compare
Choose a tag to compare

Release 1.0.0 of OpenICE. The major feature differences between this and release 0.7.0 are

  1. The ability to scroll backwards and forwards through the data captured in the chart view.
  2. The ability to open multiple device and application windows at the same time.
  3. Improved database logging in support of time based reporting.
  4. Multiple variants of pulse oximeter devices including different averaging characteristics.
  5. A new application for testing oximetry devices.

0.7.0

21 Mar 16:31
Compare
Choose a tag to compare

This is a major release for OpenICE, including more than 150 commits since the last release (0.6.3) . This fixes a commonly reported bug with serial connections to Philips devices. This also ensures compatibility with the latest Java 8 updates.

0.6.3

23 Jun 19:36
Compare
Choose a tag to compare

Release 0.6.3 Notes

Abridged summary of key changes since 0.6.2

  • Allows transition of devices from the Connected back to the Connecting state
  • Fixed some bugs related to the transition to AlarmLimit
  • Added more data to the System Explorer / Diagnostics screen
  • Publish new association for new devices to the MDSHandler
  • Integrated with Jenkins CI workflow and salt-stack management
  • Moved ice_library.xml (in RTI-specific format) into an RTI-specific subproject

0.6.2

22 May 15:50
Compare
Choose a tag to compare

Release 0.6.2 Notes

Abridged summary of key changes since 0.6.1

  • Convert AlarmSettings to AlarmLimit
    Creates separate instance for upper and lower limits; allowing for absence.
  • Returned to using the "stock" Debian images on beaglebones
  • Made the application name headings consistent across all apps
  • Made the configuration dialog, appropriately, quit when canceled
  • Added additional information to the launcher screen to explain launch options.
  • Created a UI panel for temperature data
  • No longer creates a top-level window for simulator devices; instead added a red "X" button to close down the simulator in the main supervisor UI.
  • Displays a message when no devices are available in the selected partition.
  • Adds categories for devices: serial, network, simulator
  • Uses an internal patient database by default (external FHIR server only if specified)

0.6.1

23 Jun 20:06
Compare
Choose a tag to compare

Release 0.6.1 Notes

Abridged summary of key changes since 0.6.0

  • Retrieve patient information from a FHIR server
    And share FHIR context between patient id app and FHIR export.
  • Create standardized mapping of DDS data types to JavaFX observables
  • Eliminate the confusing "ParticipantOnly" mode
  • Pulled forward a patched version of FilterList that will be in jdk8u60
  • Set up a separate DomainParticipant for patient-agnostic subscriptions
  • Clean up of device data display panels for consistency and use of FXML layout
  • Allows the HL7 Export app to continue emitting HL7 in the background
  • Creates a ValidationOracle to communicate validation status between the validation app and the HL7 Exporter

0.6.0

22 May 15:53
Compare
Choose a tag to compare

Release 0.6.0 Notes

This major release of OpenICE features the switch from Java Swing to Java FX. The primary reason for the switch was to use a better supported and actively developed UI subsystem. We discovered other benefits in the course of the switch such as reactive property bindings, layouts express in XML (FXML), styles delegated to CSS, a supported common packager for distribution that bundles the appropriate JRE for maximum portability, etc.

Note that at this point in the development of OpenICE data model changes may happen between any versions. In this case nodes using v0.5.0 should not be used in the same system with those using 0.6.0. A future goal is to provide more stability but at this point numerous changes were made (for cause) that break compatibility.

(Abridged) summary of changes since 0.5.0

  • Switch to Java 8 compliance
    To utilize the latest features of JavaFX (and the Java language) we have standardized on Oracle Java 1.8.0_40 for this release.
  • Puritan Bennett 840 Ventilator Driver Improvements
    A lot of work was done to improve this driver. Nomenclature used was cross-referenced between reference documentation and the actual user documentation to ensure that it is as meaningful as possible. The nomenclature codes used are now maintained in a human (Excel) readable file that can be used as a reference for anyone using the driver. In time we will provide the same rigorous cross-reference and documentation for other drivers. In the course of the work a vendor_metric_id was added to the data model for runtime validation of nomenclature mapping used.
  • TimeManager duplication for devices
    A bug was fixed that duplicated Heartbeat and TimeSync interactions for devices
  • System Explorer
    A barebones app that shows various types of system data at runtime was added in the spirit of https://www.openice.info/diagnostics.html
  • Alert History
    An app that shows a history of alarms that have been activated in the system.
  • HL7 Export
    An app (still under development) that exports system data in either HL7 v2.6 or HL7 FHIR DSTU2 format. The capabilities of the app are still very limited but it will evolve over time. See http://hl7api.sourceforge.net and http://jamesagnew.github.io/hapi-fhir/index.html for more information.
  • /etc/issue
    Dennis at NIST submitted a patch that more appropriately uses /etc/os-release to identify the local operating system build instead of the less appropriate /etc/issue
  • jbake documentation
    jbake modules have been added for maintaining and building documentation (like what you are reading now) alongside the code.
  • Data Timestamps
    The API mechanism for assigning timestamps to emitted data has been made much more flexible. In addition we've moved away from using the transport-level SampleInfo.source_timestamp for application-level purposes in favor of a newly added presentation_time. The presentation_time field represents the timestamp at which the data should be shown to the user (when viewing historically or in chart form).
  • Patient/Device Assignment
    An app (still under development) for assigning devices to a patient's ICE environment. This supervisory app instructs a device (via an objective state) to publish data to a logical partition created for a particular patient.
  • Unit Testing
    For new development a renewed effort has been made to create accompanying unit tests. Over time the team would like to add more unit tests to existing code and as bugs are fixed we've made a renewed commitment to unit testing to avoid regressions.
  • Highlight clock differences
    Utilizing the infrastructure of TimeManager the UI will now highlight devices with clock's that our not in sync with the supervisor. Synchronization is still meant to be achieved with NTP; this application-level check is to verify that the system (and nodes) are sufficiently synchronized to operate safely at runtime.
  • Charting
    An app (still under development) to chart numeric vital signs over time.
  • Simulation Changes
    More sophistication has been added to the simulation capability to specify the amount that values out to vary over time. Eventually the goal is to create a pseudo-realistic patient simulation which, while not physiologically correct, may aid in the testing of applications.