Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ringholm bv Integration Consulting HL7 version 3 Persistence of in-memory object trees Scope: database models, v3 modeling aspects and their impact on.

Similar presentations


Presentation on theme: "Ringholm bv Integration Consulting HL7 version 3 Persistence of in-memory object trees Scope: database models, v3 modeling aspects and their impact on."— Presentation transcript:

1 Ringholm bv Integration Consulting HL7 version 3 Persistence of in-memory object trees Scope: database models, v3 modeling aspects and their impact on persistence, persisting concepts, extracting data. Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/HL7v3_implementation.zip

2 Ringholm bv Integration Consulting Agenda Database Models –ER, EAV, XML, Hybrid, Distributed Persisting RIM object graphs –Update/snapshot mode –Obsolescing v3 documents/messages –Context conduction –Persistence of OIDs and IDs –Persisting concepts Extracting/querying data 2

3 Ringholm bv Integration Consulting Persistent Representation Persistent Representation Object Representation Object Representation Serialized Representation Serialized Representation RIM Constrained Information Model RIM Constrained Information Model RIM (generic) Model RIM (generic) Model Application specific Model Application specific Model RIMBAA Technology Matrix

4 Ringholm bv Integration Consulting Persistence Database Models Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

5 Ringholm bv Integration Consulting Database Models EAV (“RDF Triples”) –Pure EAV considered to be too slow XML –Example implementation RDBMS (ER) –Focus of the presentation 5

6 Ringholm bv Integration Consulting Persistence Persisting RIM object graphs Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

7 Ringholm bv Integration Consulting Storage and Retrieval Traditional APIs Use traditional data access API: –JDBC, ODBC, ADO Create your own mapping between business objects and a relational database model.

8 Ringholm bv Integration Consulting Storage and Retrieval Using Coding Techniques Object/Relational Mapping –Wrap database objects (tables, columns, fields…) in OO classes –Hibernate (Java), nHibernate (.NET), HyperJAXB, Jakarta OJB, JPOX –Many others available Search on Sourceforge for “object relational mapping” yields several pages (Java and.NET)

9 Ringholm bv Integration Consulting Update/Snapshot Mode 9

10 Ringholm bv Integration Consulting Snapshot mode (of object trees) Object trees are snapshots (of data). An initial laboratory results message (labeled TE1) may be updated by a final laboratory results message (labeled TE2) 1.Undo any merging that it did upon receipt of TE1 This requires that one persists the fact that certain objects are associated with TE1. It also requires that one has a temporal database to revert to a prior version of objects/attributes. 2.Merge the contents of TE2 with whatever objects the receiver already was aware about. 10

11 Ringholm bv Integration Consulting Obsolescing v3 messages/documents 11

12 Ringholm bv Integration Consulting OIDs and IDs 12

13 Ringholm bv Integration Consulting Persistence Context Conduction Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

14 Ringholm bv Integration Consulting Abstract “context conduction” Original slide provided by Ewout Kramer.

15 Ringholm bv Integration Consulting Conducting and Blocking (new style) Conducting relationships: Participations: all but _ParticipationAncillary ActRelationships: all but COMP, OUTC, SEQL Original slide provided by Ewout Kramer.

16 Ringholm bv Integration Consulting Context Conduction (new style) There are two attributes on ActRelationship: actRelationshipNonConducting : SET, participationNonConducting : SET Only certain Participations/ActRels conduct. We will add a concept property to indicate this. For types that conduct, they always conduct and are always additive Conduction still works by following the serialization of models Original slide ptovided by Ewout Kramer.

17 Ringholm bv Integration Consulting Context Conduction Two options for dealing with CC: –Denormalize the conduction on import Generally viewed as the safer option CC is a “wire-format optimization technique” –Deal with CC at run-time, i.e. when a query is processed Lots of joins to go “up the tree” and fetch context Problem when merging object trees into nets; CC is specific to a serialization 17

18 Ringholm bv Integration Consulting Persistence Persisting Concepts Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

19 Ringholm bv Integration Consulting Persisting Concepts Persist all information received Translations –We may not be able to recreate those –Translation may be “more granular” than primary concept code Value set OIDs –may need to be aware which ones are implied -by context- when one receives a v3 instance 19

20 Ringholm bv Integration Consulting Persist versions of Value Sets Over time, updates to the coding system (or value set) must be identified and distributed. 20 Concept Code Concept Description BBlue RRed Concept Code Concept Description BBlue RRed OOther Concept Code Concept Description BBlue RRed GGreen OOther Concept Code Concept Description BBlack RRed Concept Code Concept Description BBlue Concept Code Concept Description BBlue LBLight blue DBDark blue RRed OOther New Coding System New OID New Coding System New OID New Coding System New OID

21 Ringholm bv Integration Consulting Persistence Implementation Experience Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

22 Ringholm bv Integration Consulting Use-case 1: Approach 1.Serialized messages mapped to in-memory message objects (JAXB, code generation) 2.Application (business-) objects mapped to relational database (Hibernate ORM) 3.Custom code: mapping of message objects to application objects

23 Ringholm bv Integration Consulting Use-case 1: Hibernate Lazy object loading Hibernate QL for object based queries

24 Ringholm bv Integration Consulting IBM RIMon: DB2 24

25 Ringholm bv Integration Consulting IBM RIMon: RIMified XML 25 Note: Format was created prior to the creation of the RIM ITS

26 Ringholm bv Integration Consulting IBM RIMon: Persisting XML 26

27 Ringholm bv Integration Consulting Any Questions ? Or: post your question/suggestions via HL7 Wiki: http://bit.ly/d7tSsL E-mail v3impl@ringholm.com


Download ppt "Ringholm bv Integration Consulting HL7 version 3 Persistence of in-memory object trees Scope: database models, v3 modeling aspects and their impact on."

Similar presentations


Ads by Google