On 06/10/2012 16:13, pablo pazos wrote: > Hi all, > > I found there is no CONTRIBUTION XSD defined on the openEHR XDS, and > if it exists, I can't commit CONTRIBUTIONs using only one XML message, > because CONTRIBUTION references (using OBJECT_REF) the VERSIONs I need > to commit, but each VERSION also references (by OBJECT_REF) the > container CONTRIBUTION. > > The main problem here is: the instances of those classes (CONTRIBUTION > and VERSION<COMPOSITION>) are distributed objects. So if I send 2 > messages to the EHR Server, one to create the CONTRIBUTION and other > to create VERSIONs, the fisrt CONTRIBUTION.versions will be empty on > the server, so invalid for a while (until it's VERSIONS are committed). > > So, I'm beginning to suspect that I need a little protocol to be > defined here. The other option is to define my own XSD for an envelope > that could include both, CONTRIBUTION and it's VERSIONs. I prefer to > define a protocol than new custom XSDs.
well actually, you need both. The additional XSD part should be relatively easy - it's just a case of modelling a joined up network of objects. You do it by matching up the Contribution Uid references with Composition version uids. A simple outer container structure will be needed I guess. Then you will need an XML-oriented EHR service interface, which contains some of the existing functions (any stateful stuff like login, session setup etc) and functions for committing content, like xmlCommitContribution (XmlContrib aContrib) - thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20121008/b221091c/attachment.html>

