At the heart of OpenMRS is a series of medically related domain objects. These domain objects often need to be converted into serialized data when developers are interested in creating functionalities which communicate between other applications. For example, a developer might want to create a web service to expose patient demographic or observational information, or create a standards-based messaging infrastructure (such as one that creates IXF, CCD messages, or normal XML). Currently, many serialization approaches are included within the core application, but we lack a rationalized, consistent approach to serialization. A serialization service is being built into the core of OpenMRS and designed abstractly using the strategy pattern so that different serialization strategies (whether serializing or deserializing of objects) could be used dynamically. Each different format (ixf, ccd, xml) would be a new class that implements OpenmrsSerializer to do the conversion from object to text and text to object.

In this module, we implemented one serialization/deserialization strategy using the XStream library.



Current Serialization XStream Module supports two strategies to serialize/deserialize objects.

Learn how to serialize/deserialize objects from the page Description about how to serialize/deserialize.

Depending on XStream the Module

Build the dependencies on the XStream Serialization Module as the page Module Dependencies says when you want to use serialization framework in your module.

Release Notes