Validating in RIMBAA

From HL7Wiki
Revision as of 08:14, 25 March 2015 by Rene spronk (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Summary

How can we validate that an XML instance is a valid instantiation of a set of CIMs/LIMs?. Note that in a true RIMBAA application both CIMs as well as LIMs effectively are "templates". In a messaging context, using XML ITS 1.1, only LIMs are regared to be "templates".

Given the ever-increasing reliance on Templates (a conformance construct), how does one use them (in RIMBAA applicatations, RO-square) for both validation of object structures, or for the process of creating template-conformant object structures? How to support "select a-structure-of-template(x) from DB where patient=x and encounter=y"?

Analysis

  • XML Schema is not sufficient.
  • Schematron
  • Code
  • OCL
  • CTS Service
  • ..

Discussion

  • (Ewout Kramer) I am contemplating building a template-based storage layer on top of a relational database. This means that a template is my basic unit of transaction, validation and update. The individual acts/entities/roles of the template are still stored as individual records so it is easy to resolve links (by id) to specific acts/entities/roles within the template. Fetching such records will still fetch the whole template (with the desired act/entity/role as its root!), so changing and recommitting it is a more easily defined operation. I also make snapshots per template, so it is easy to store (and retrieve) the historical state of the whole template after an update. This feels als a mid-point between a database storing individual acts as its atoms and a message-database storing whole messages. It requires you to split messages into its constituent templates, but for most of my usecases (related to storing patient records, rather than messagecontent) this feels quite natural.