I believe that for non leaf nodes I'm sure you can easily check for check form occurrences and types, I don't remember if cardinality was taken into account, I have to check that. For leaf nodes, I don't remember having any trouble specifying that kind of constraints.
2014-02-06 Bert Verhees <bert.verhees at rosa.nl>: > Diego Bosc? schreef op 6-2-2014 9:52: > > Regarding consistency checks, we have been able to generate schematron > rules from the archetypes to check constraints stated on the archetype on > the XML files. I think it is also what HL7 people uses for validating > instances. > > > Hi Diego, I am to using Schematron for validation-purpose, but I use it > together with RelaxNG, because RelaxNG is better in testing structures and > Schematron is better in validating simple constraints. > But creating a RelaxNG from an archetype is difficult, that is complex and > hard to maintain code. > > But now I see your message, I think it could be possible to create > Schematron only and check every possible constraint, which mostly (not on > leaf-nodes) are occurrences and cardinality. > > Do you have every possible constraint in an archetype covered by > Schematron? > > Bert > > > > > > 2014-02-06 Birger Haarbrandt <birger.haarbrandt at plri.de>: > >> Hi Ralph, >> >> > Am 05.02.2014 um 20:34 schrieb Ralph van Etten <ralph at medvision360.com >> >: >> > >> > On 02/04/14 17:33, Birger Haarbrandt wrote: >> > >> > Hi Birger, >> > >> >> Erik's approach >> >> was to develop a proprietary XML Schema to wrap compositions and >> >> contained entries. Obviously, this might work in a native XML database >> >> like eXist but does not serve our needs. >> > >> > Could you tell more about why a XML database does not serve your needs? >> > >> >> That is because we got both complex and simple data structures. For >> example, we got millions of equally structured demographic data and lab >> values that can perfectly be represented in a static data schema. >> Furthermore, there is lots of catalogue data that fits best into relational >> tables. (Another important reason is, that our abailable ETL an BI tools >> are optimized to work with SQL Server...) >> >> >> > >> >> Additionally, storing the >> >> archetypes in a relational fashion is not be our first choice. >> > >> > Why not? >> > >> >> We have to do the trade off between performance and understandability of >> the data model. Medical data can become very complex. As we need to build >> data marts from our database it's more important to understand the data as >> it's not a real-time system. In my opinion that's a lot easier when you >> have data structured in a hierarchical way as a document (what XML is >> perfect for). >> >> >> > >> >> Therefore, I'm interested to learn if any of you has already spent some >> >> thoughts about best practices to split compositions into individual XML >> >> documents while keeping the relationship throughout different tables >> >> and/or rows. >> > >> > I just released information about our "archetyped" MEDrecord. Our goal >> > was to create a more friendly API for MEDrecord based on archetypes. >> > While developing this API it proved to be a small step to also generate >> > SQL schemas from the archetype so that is what we tried. >> > Now we have a version of MEDrecord which stores data in a XML database >> > and a version which stores data in an SQL database whose schema is >> > generated using archetypes. >> > >> >> Are both versions available as open source? Yesterday I took a look at >> it (just the code) and was impressed by your work! >> >> > More information about the generated API and schemas can be found here: >> > >> > http://www.medrecord.nl/medrecord-json-api/ >> > >> > We are planning to implement some use cases and then see which approach >> > (XML database or SQL database) works best. >> > >> > But like I said, the main goal of the "archetyped" MEDrecord was to >> > provide a clean, type safe API to clients and not something which can >> > store anything without generating some code first. >> >> I'm wondering about it's capabilities to do validation of clinical data >> against archetypes. Is it possible to deserialize openEHR XML and check it >> for consistency or is it a one way ticket so far? >> >> > In time the "archetyped" MEDrecord might grow into such a solution, but >> > currently, for our use cases this is not important. >> > The important aspect is that we can create a clean API quickly which is >> > based on archetypes. >> > >> > What works best, relational database, native XML database or a >> > combination (like PostgreSQL with its XML datatype) is something we >> > still have to figure out. Although I see the benefits of using a native >> > XML database, I do not believe it will have decent performance any time >> > soon on cheap hard- and software for the type of queries we need for >> > building user interfaces without adding many more complexities. >> > >> >> I'm happy to exchange gained experience. I already got two ideas but I >> will need to do the implementation first. If it works I will create an >> article in the wiki. >> >> > Also, we basically treat archetypes as the schema for the information so >> > putting a schemaless database beneath it seems to be a bit of a >> > mismatch. Instead we attempt to convert the schema provided by >> > archetypes into a schema suitable for relational databases and I must >> > say I am quite pleased with the lack of complexity on the server side. >> > The server code turned out to be quite straight forward and simple. >> > Even the complexity of the generator which converts the schemas is >> > manageable. >> > Of course there is room for improvement and maybe it is not enough to >> > implement all possibilities of OpenEHR but for now it is enough to >> > implement the use cases we have in the foreseeable future. >> > We plan to develop it as new use cases present themselves instead of >> > trying to build something which can do anything first and then see if we >> > can fit the use cases in there. >> > >> >> I think your project might be a great starting point to implement a >> reference CRUD system people can learn from to build their own >> applications. Thank you very much for sharing :D >> >> > >> > Regards, >> > >> > Ralph van Etten >> > MEDvision360 >> > >> > >> >> Best, >> >> Birger >> >> >> > -- >> > This e-mail message is intended exclusively for the addressee(s). Please >> > inform us immediately if you are not the addressee. >> > >> > _______________________________________________ >> > openEHR-technical mailing list >> > openEHR-technical at lists.openehr.org >> > >> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> >> _______________________________________________ >> openEHR-technical mailing list >> openEHR-technical at lists.openehr.org >> >> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org >> > > > > _______________________________________________ > openEHR-technical mailing listopenEHR-technical at > lists.openehr.orghttp://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > > > > _______________________________________________ > openEHR-technical mailing list > openEHR-technical at lists.openehr.org > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20140206/4983f585/attachment.html>

