150 likes | 285 Views
RIMBAA. RIM Based Application Architecture. René Spronk , Ringholm GmbH, www.ringholm.com. The RIM is “abstract”. The same “instance” of information can be shared via different information interoperability paradigms E.g. lab results can be shared
E N D
RIMBAA RIM Based Application Architecture René Spronk, Ringholm GmbH, www.ringholm.com
The RIM is “abstract” The same “instance” of information can be shared via different information interoperability paradigms • E.g. lab results can be shared • via (electronic) documents (v3 Clinical Document Architecture) • via V3 lab messages • via Web Services with v3 payloads • ..or they can be imported • In a RIM Based Application (RIMBAA)
Use of V3 artefacts RIMBAA
Consistentency of Models • It is beneficial to use one and the same semantic (reference) model for messaging, in-memory application objects as well as at the persistence layer. • This ensures the lowest degree of semantic loss due to mappings between data models. • Mapping of application internal data models to message models is possible if one only has to support a couple of messages
RIMBAA Technology Matrix (1/2) Persistent Representation Object Representation Serialized Representation RIM (generic) Model RIM Constrained Information Model Application specific Model
UI • PL RIMBAA Technology Matrix (2/2) (at a 90 ̊ angle to the matrix on the previous slide) Processing Logic Object Representation User Interface
Use-case 1: Approach • Serialized messages mapped to in-memory message objects (JAXB, code generation) • Application (business-) objects mapped to relational database (Hibernate ORM) • Custom code: mapping of message objects to application objects
Use-case 2: Approach • RIM based objects at core of application • Direct (MIF-based) mapping to/from serialized messages • Direct mapping to relational database See http://aurora.regenstrief.org/javasig for source code
Use case 3: Approach • Use RIM-models everywhere • ..but no R-MIMs • Map serialized RIM-derived object trees (in XML) to HL7 v3 interactions • .. Uses XSLT
Future Goals/Workitems for RIMBAA WG • Marketing - Public exposure of successes (of v3 implementability and the RIM itself) • Sharing of experiences and solutions • Document/describe (for all possible cell transitions) how those steps could be supported/achieved. • We focus on Patterns for Application Development. Guidance, no normative outcomes. • Reference Implementation (Java SIG materials, extend OHT?) • Education - for newbies to RIMBAA • Standard Improvement • Work with ITS WG on an RS XML ITS and the identification of CS-RS transition issues • Identify issues caused by the ‘interoperability mindset’ of the RIM • V3 constructs: Context Conduction, Update Mode, Object Versioning
MIF Based Code Generator • Full (abstract) model specification is stored in a model repository (RoseTree) • Abstract model is expressed as a MIF file – including GELLO/OCL expressions and (DCM derived) Template definitions • Code (class) generation • MIF - the code generator has to be aware of the structure of the MIF • UML (derived from the MIF) - the code generator has to know UML, including a few extensions that are v3 specific
RIM Based ITS • The RIM serialization has the following properties: • element names identify the RIM back bone associations • The XML element names (related to classNames, not attribute names) only serve to provide a syntax, they carry no semantics, and are not used in determining the semantics of the artefact content. • properties that are defaulted in the general rim are not represented in the instance • Almost all structured attributes (e.g. classCode, moodCode) will be present in all instances • the order of the associations is irrelevant: only their semantics matter • player/scoper etc is explicit in the instance • Issues related to Schema-based Code Generation
Additional RIMBAA materials Known Implementations: http://wiki.hl7.org/index.php?title=Category:RIMBAA (username = wiki, password = wikiwiki) Work items: http://wiki.hl7.org/index.php?title=Category:RIMBAA_Issue (username = wiki, password = wikiwiki) RIMBAA Link Page http://hl7book.net/index.php?title=RIMBAA RIMBAA working group RIMBAA e-mail list at www.hl7.org (rimbaa@lists.hl7.org)