150 likes | 336 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)