This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "Validating in RIMBAA"

From HL7Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[category:RIMBAA Issue]]  
+
[[category:Closed AID Issue]]  
 
==Summary==
 
==Summary==
How can we validate that an XML instance is a valid instantiation of a set of [[CIM]]s/[[LIM]]s?.  
+
How can we validate that an XML instance is a valid instantiation of a set of [[CIM]]s/[[LIM]]s?. 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 [[Template]]s (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==
 
==Analysis==
Line 12: Line 14:
  
 
==Discussion==
 
==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.

Latest revision as of 08:14, 25 March 2015

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.