1 / 19

HL7 version 3

HL7 version 3. Object nets and Object trees. Scope: object nets, object trees, object identity, querying parts of object nets. Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/HL7v3_implementation.zip. Agenda. Object nets

anson
Download Presentation

HL7 version 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HL7 version 3 Object nets and Object trees Scope: object nets, object trees, object identity, querying parts of object nets. Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/HL7v3_implementation.zip

  2. Agenda • Object nets • Object identity • Merging object trees • Querying parts of object nets • Processing logic on object trees • Implementation experiences

  3. Object Nets and Object Trees Introduction Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

  4. Object Trees v. Object Nets • Object tree = serialized v3 artefacts • A stack of trees where objects interconnect based on their shared identity is an object net (or: object graph). • Object nets have different characteristics than object trees, e.g. in areas such as context conduction, querying of object net subsets, and object versioning.

  5. Example Example: Three object trees merged into 1 object net Note that each object (including participations and act relationships) is shown as an individual Element.

  6. Need for “object tree” metadata • Even in an object net we need to have meta-information about the object trees • The templates (SIM, LIM) it complies with • When (relationship with versioning), who (relationship with reliability, auditing), and for what reason (scope and intent) was the object tree created.

  7. Object Identity • Two objects can be identical (same identity), or equal (same value). • Objects that are equal need not be identical. An object may have an attribute that contains an identifying characteristic, i.e. two objects are identical if they have the same identifying characteristic. • IN HL7 the id attribute (data type II) plays a major role in establishing the identity.

  8. Object Identity Scope of the identifier for an object (II.scope, ISO/R2 data types) • Business Identifier. The scope of the use of the id is not necessarily restricted to a single object • Object Identifier. The identifier associated with a particular object. It remains consistent as the object undergoes state transitions. • Version Identifier. An identifier that references a particular object as it existed at a given point in time. • View Specific Identifier. An identifier for a particular snapshot of a version of the object. This identifies a view of the business object at a particular point in time.

  9. Object Identity of RIM objects • Two objects, same id, unknown scope • Acts and Participations: safe to assume id has a scope other than “business” • Entities: see above. However: • Entities may be identified using a Role.id (e.g. US SSN) • Entity.code may be the identifier for certain entities • Roles: suffer from an identity crisis ..

  10. Identity of Entities • Entity.code can be an appellation (according to ISO 704), i.e. a unique identifier of an object. • E.g. country codes, country subdivisions • Check codeSystem OID to determine if the coding system has the apellation characteristic.

  11. Identity of Roles E_Organization Name= Good Health Hospital R_Assigned Person Id = 10001 Person Dr. Eric • If II.scope is unknown: • Two roles (with the same Role.id) can only be identical if both their playing and scoping entities are identical • Assumes those are known, and unambiguously identified objects • Context of the author of the object tree, business rules play a large role. Emergency

  12. Merging using known model constraints Example: Object trees m1,m2 are known to conform to the above template (LIM) If this knowledge is used the object trees can be merged into net1. If one isn’t aware of the model constraints the object net will look like net2.

  13. Object Nets and Object Trees Querying Parts of Object Nets Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

  14. Actors / Query Scenario • Object net creator: the source of the object tree / object net • Object net repository: the persistent archive for the merged object net • Object net query placer: places a query for some subset of the object net

  15. Where to ‘snip the links’ • Determined by ‘Object Net Repository’ • “relevant” objects linked to the primary Act queried for • Potential use for a Clinical Decision Support app. • Determined by ‘Object Net Creator’ • Specify queryable subsets when one stores data • Determined by ‘Object Net Query Placer’ • By specifying a Template (LIM, SIM) in the query • LIMs may be open-ended • Never snip – return everything

  16. Object Nets and Object Trees Object Tree Processing Logic Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/implementation_mechanics.ppt

  17. Processing Logic Two extremes of processing logic • Content driven logic: based exclusively on whatever is contained in the data instance. • Context driven logic: based on the context of the data, e.g. based on knowledge that the data conforms to an Interaction, a SIM or Templates (LIMs).

  18. Best Practice • Context driven processing (though context may be given by content) • Knowledge that an Object Tree conforms to a particular use-case allows one to seamlessly mix generic and specific use-case driven code.

  19. Any Questions ? • Or: post your question/suggestions via • HL7 Wiki: http://bit.ly/d7tSsL • E-mail v3impl@ringholm.com

More Related