Hi!

A CONTRIBUTION points to the IDs of it's contained VERSIONED_OBJECTs and
the VERSIONED_OBJECTs at the same time points to their
 related CONTRIBUTION, thus it is probably easiest to finalize them in the
same transaction in most systems if they are stored/retrieved as  separate
objects. (You have probably already figured that out, I am just trying to
avoid misunderstandings by newcomers that might be reading.)

In the LiU EEE REST based approach we have added a temporary writing space
called "Contribution Builder" where you can add/modify a collection
of VERSIONED_OBJECTs until you are satisfied and then make a call to get
them committed into the EHR in a combined CONTRIBUTION.

Another option is of course to send a collection of VERSIONED_OBJECTs (from
a client) with e.g. a bit of XML-wrapping (also including metadata for
the CONTRIBUTION). We have not finished specifying and testing an XML
serialization for that yet, but that could of course be done (now we use a
Java-based object as collection to pass data from the Contribution Builder).

I have now uploaded an old XSD (from some experiments 2010) containing
definition of CONTRIBUTIONs (and some other stuff) as an attachment to
http://www.openehr.org/wiki/display/dev/Persistence - It should be
considered as an experimental non-official pre-alpha version...

(The LiU EEE REST design paper has been submitted for review, see
http://www.openehr.org/wiki/display/projects/Projects+Home Contact me if
you need a personal login to our tiny demo-server.)

Best regards,
Erik Sundvall
erik.sundvall at liu.se http://www.imt.liu.se/~erisu/  Tel: +46-13-286733


On Sat, Oct 6, 2012 at 5:13 PM, pablo pazos <pazospablo at hotmail.com> 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.
>
> Does anyone that implemented a service like this came to the same
> conclusion?
>
> All your comments will be of great help, thank you.
>
> --
> Kind regards,
> Ing. Pablo Pazos Guti?rrez
> LinkedIn: http://uy.linkedin.com/in/pablopazosgutierrez
> Blog: http://informatica-medica.blogspot.com/
> Twitter: http://twitter.com/ppazos <http://twitter.com/ppazos>
>
> ------------------------------
> From: pazospablo at hotmail.com
> To: openehr-technical at lists.openehr.org
> Subject: Understanding how to commit contributions to an EHR Server with
> XML
> Date: Fri, 5 Oct 2012 15:14:15 -0300
>
>
>  Hi all,
>
> I'm studying the change_control package to create a simple example of data
> commit to an EHR Server (to be used in a future course). I'm also reading
> the service examples published on the wiki (Ocean & Marand EHR Services).
>
> As I understand it, when an EMR app (local) wants to commit data to an EHR
> Server (global/shared), all committed data (e.g. a list of
> Version<Compositon>) should be referenced by a Contribution. Also, each
> Version<Composition> references the container Contribution. All references
> are managed using OBJECT_REF instances.
>
> My idea is to make the commits using XML messages (following openEHR XSDs)
> with only one message per commit.
> I don't know if I can represent both references using openEHR XML
> (Contribution->Version & Version->Contribution).
>
> I suppose this operation [1] on the Ocean's EHR Services is resolving
> both references internally: void CommitContribution(HierObjectId ehrId,
> AuditDetails commitAudit, OriginalVersion[] versions)
>
> Another assumption on that service, is the AuditDetails has the
> Attestation to sign all the committed Versions (the signature for all the
> Versions is calculated using the same AuditDetails object).
>
> I've seen Version XML examples where the Version has a reference to a
> Contribution, but the referenced Contribution is a mistery for me :) (it
> could be really helpful if someone can share an XML example of a
> Contribution).
>
>
> Any ideas, pointers & corrections are very welcome!
>
> (BTW: I don't want to implement a full version-controlled environment,
> just want to make a simple commit process the right way).
>
>
> [1]
> http://www.openehr.org/wiki/display/spec/Ocean+Informatics+EHR+Service+Interface
>
> --
> Kind regards,
> Ing. Pablo Pazos Guti?rrez
> LinkedIn: http://uy.linkedin.com/in/pablopazosgutierrez
> Blog: http://informatica-medica.blogspot.com/
> Twitter: http://twitter.com/ppazos <http://twitter.com/ppazos>
>
> _______________________________________________ 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20121007/5a2ed261/attachment-0001.html>

Reply via email to