About openEHR BMM

2013-05-02 Thread Peter Gummer
Bert Verhees wrote:

 I have a problem with both archetype-editors, I explained a few times on this 
 list why. 
 Both change archetypes while loading them, f.e. one likes to add node-id's to 
 datavalues, and the other does not like that.
 There are some more incompatibilities, between the both. I forgot the details.
 Then one is not able to create demographic archetypes, also a problem.
 -
 Both are not configurable. 
 I would like to have an archetype editor which can be feeded with some 
 RM-definition, and configured to use it, and then is being able to create 
 archetypes following that definition.
 ...
 Do you know how I create archetypes (I don't if I can someone else having to 
 do it :), but I work my way in LinkEHR or the Ocean editor, and edit them 
 manually in a text-editor, with syntax-highlighting.


Hi Bert,

Problems with the Ocean Archetype Editor should be reported to 
http://www.openehr.org/issues/issues/?jql=project%20%3D%20AEPR . The Ocean 
Archetype Editor only gets worked on when we have spare time, or if there is a 
pressing business requirement for us to fix something in it, so mentioning a 
problem on a mailing list is not likely to get it fixed.

If you have examples of archetypes generated by LinkEHR that are not handled 
properly by the Ocean Archetype Editor, please attach them to your problem 
report.

Alternatively, you could try fixing it yourself. I recall that you compiled it 
under Mono a few years ago, but you had a problem that there were dependencies 
on some DLLs that only worked under Windows. We have removed those 
dependencies, so you should be able to build it successfully under Mono these 
days.

But I understand that you're a very busy guy yourself, so submitting a problem 
report would probably be best ;-)

Peter


About openEHR BMM

2013-05-02 Thread David Moner
Hi,



 If we see the multi-axial identifier not as a fixed string, but a computed
 output from a bunch of identifying meta-data, as per the recent knowledge
 identification proposal 
 updatehttp://www.openehr.org/wiki/display/spec/Development+and+Governance+of+Knowledge+Artefacts,
 then we should consider adding the rm_release to these items. Then it is
 just a case of defining a function that includes it in one of (possibly
 many) ids. I didn't think to include it in this draft, but we can do that.

 I still don't believe it's useful in the primary multi-axial ontological
 identifier, because there is no certain computational relationship between
 an archetype and a given release of the RM. Some archetypes will be valid
 for many releases, others for only one. But having it in the archetype
 meta-data is a good idea, because that nails down at least the release at
 which the archetype was created. Then it can be interrogated by some sort
 of compatibility testing tools.

 David, can I suggest you add a comment in the feedback table on that page,
 so I don't forget to do this.


Exactly, that was one of the original ideas, at least add that RM version
information at the archetype header. As you say, that only indicates the
version used to create the archetype and not the compatibility with other
versions of the RM (forward or backward). That could be even added also as
metadata: rm_compatibility = openEHR-RM_1.0.0, openEHR-RM_1.0.1
Since we can have all the RM versions loaded at the tools it should be
quite easy to check the validity towards all of them automatically.



  you probably should also report a relevant summary of these points on the
 CIMI list and/or to Michael van der Zel so he can fix his generator.


I wasn't aware that the CIMI BMM was automatically generated by Michael,
that explains many of the cases. I'll contact him.




  - Need of visualization information. There are two properties defined
 related to visualization of the model. The
 archetype_data_value_parent_class property is defined at the documentation
 as a base class from the Reference Model whose descendants are considered
 to be 'logical data types [...] is only used to help tooling provide more
 intelligent display. The archetype_visualise_descendants_of property is
 used to designate a class whose descendants should be made visible in tree
 and grid renderings of the archetype definition. In order to repeat some
 of the problems of existing model representation, such as XMI, we should
 avoid polluting the pure RM definition from visualization or user-oriented
 metainformation. At the end that only complicates the BMM format. The
 representation of that metainformation should not be part of the BMM
 requirements.


 I do agree that in general XMI suffers from this, I am not sure if I agree
 that the above items are a big problem in BMM at a practical level (in XMI
 land, the graphical stuff can be all over the place and is complex). But in
 any case, they could be made to disappear from the .bmm files with the use
 of 'archetype repository profile' (.arp) files or maybe some other future
 alternative. At the moment I am not sure if it is worth the trouble until
 we have a proper concept of ARPs. Dave Carlson wants to use these to store
 some general meta-data for models, but noone has really agreed on what is
 required.



For me those visualization characteristics are more about preferences of
each tool/user. So it's fine for me to separate them in a different place,
where they can be modified without changing the model itself, whose
definition should remain immutable.

That, said, I must say that we are not big fans of BMM :-)
While we agree that current alternatives (i.e XMI) are not usable in
practice nowadays, we find extremely improbable that BMM gains big
acceptance outside the openEHR world. I doubt that we ever see the HL7 CDA
model expressed in BMM for example. So we decided to support it as another
option, but we still hope that the industry finds a way to agree on a
common usable format for defining models.

David



-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130502/17abd27a/attachment-0001.html


About openEHR BMM

2013-05-02 Thread David Moner
There is plenty of people working on this, mostly from the semantic point
of view.

Apart from the works in CIMI, I must point to our colleagues at the
University of Murcia that have been working for years in reference model
conversions using semantic web technologies:
http://webs.um.es/jfernand/miwiki/doku.php?id=projects:poseacle_gen

POSEACLE converter: http://miuras.inf.um.es:9080/PoseacleConverter/




2013/5/2 pablo pazos pazospablo at hotmail.com

 Great!

 BTW, it will be really useful to have multi-model tools.

 I was thinking if multi-model apps could be also useful, e.g. to have
 different persistent structures. My guess is that app can implement one
 canonical model (e.g. openEHR RM) and then map to other models e.g. for
 instance transformation and output purposes.

 My idea: what do you think about creating some kind of mapping language,
 to specify correspondences between BMM models? (e.g. using semantic
 mappings/relationships to tell if one class in model A is equivalent/more
 generic/more specific/... to other class in model B).

 There are many kinds of semantic correspondence between models, e.g. a
 class in one model can map to a property in another model, etc...

 The idea behind that is that using the mapping information and an input
 instance schema (in the canonical model), and maybe some input or
 cursomization from the user/designer, a complete transformation definition
 can be created, so automatic transformation from an instance in the
 canonical model to some output model (13606, CDA, ...) can be done.

 Is this idea to crazy or do you think it can be useful to have something
 like that?
 Anyone is working on something like that?

 --
 Kind regards,
 Ing. Pablo Pazos Guti?rrez
 http://cabolabs.com http://cabolabs.com/es/homehttp://twitter.com/ppazos

 --
 Date: Wed, 1 May 2013 16:07:08 +0100

 From: thomas.beale at oceaninformatics.com
 To: openehr-technical at lists.openehr.org
 Subject: Re: About openEHR BMM

 On 01/05/2013 14:48, pablo pazos wrote:

 Hi Thomas, having a small spec would be great, thanks!

  BTW, does anyone use XML representation of UML diagrams to process class
 models?


 wait time = 5 days

 - thomas


 ___ 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




-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130502/59641c13/attachment.html


About openEHR BMM

2013-05-02 Thread David Moner
Hi Bert


 I have a problem with both archetype-editors, I explained a few times on
 this list why.
 Both change archetypes while loading them, f.e. one likes to add node-id's
 to datavalues, and the other does not like that.
 There are some more incompatibilities, between the both. I forgot the
 details.
 Then one is not able to create demographic archetypes, also a problem.




I remember that list of problems, and some of them can be resolved and it
is our fault not to have resolved some of them yet.
But there are others that are not so easy to address since they are related
to the basic internal philosophy of the tool, such use adding an id to
every node.

We'll try tu publish an updated version of the editor sooner than later.

David



-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130502/9c341cd1/attachment.html


About openEHR BMM

2013-05-02 Thread Thomas Beale
On 02/05/2013 08:36, David Moner wrote:
 Hi,



 Exactly, that was one of the original ideas, at least add that RM 
 version information at the archetype header. As you say, that only 
 indicates the version used to create the archetype and not the 
 compatibility with other versions of the RM (forward or backward). 
 That could be even added also as metadata: rm_compatibility = 
 openEHR-RM_1.0.0, openEHR-RM_1.0.1
 Since we can have all the RM versions loaded at the tools it should be 
 quite easy to check the validity towards all of them automatically.

I would suggest we don't include this list in the archetypes themselves, 
because it can easily change as more testing is done - and that would 
mean reversioning and releasing archetypes as this happens - even though 
nothing has changed in the archetype. So I would suggest we need to 
conceive of some functions in a registry service that provides this 
information.




 For me those visualization characteristics are more about preferences 
 of each tool/user. So it's fine for me to separate them in a different 
 place, where they can be modified without changing the model itself, 
 whose definition should remain immutable.

maybe 'tool preferences' is the way to go..


 That, said, I must say that we are not big fans of BMM :-)
 While we agree that current alternatives (i.e XMI) are not usable in 
 practice nowadays, we find extremely improbable that BMM gains big 
 acceptance outside the openEHR world. I doubt that we ever see the HL7 
 CDA model expressed in BMM for example. So we decided to support it as 
 another option, but we still hope that the industry finds a way to 
 agree on a common usable format for defining models.


well, as I said earlier, I built it over a weekend because none of the 
current options were palatable. I still don't see a clear better 
solution than BMM to our current model interop needs - today. My feeling 
is that something may emerge out of Ecore that can be usable. Right now, 
I am not sure still that it is semantically powerful enough.

- thomas

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130502/9b9427cd/attachment.html


About openEHR BMM

2013-05-02 Thread Ian McNicoll
Hi David,

I wonder if this be a point in time where it is worth clearly
documenting the differences and agreeing to get them resolved. Before
long the Foundation will start to explore a product accreditation
mechanism which will include archetype authoring tools, and will need
formal conformance criteria.

It would be good to re-visit Bert's concerns. If we had better
conformance then some thing like the lack of Demographics model
support in the Ocean tool would be much less of an issue.

Ian



On 2 May 2013 08:56, David Moner damoca at gmail.com wrote:
 Hi Bert


 I have a problem with both archetype-editors, I explained a few times on
 this list why.
 Both change archetypes while loading them, f.e. one likes to add node-id's
 to datavalues, and the other does not like that.
 There are some more incompatibilities, between the both. I forgot the
 details.
 Then one is not able to create demographic archetypes, also a problem.




 I remember that list of problems, and some of them can be resolved and it is
 our fault not to have resolved some of them yet.
 But there are others that are not so easy to address since they are related
 to the basic internal philosophy of the tool, such use adding an id to every
 node.

 We'll try tu publish an updated version of the editor sooner than later.

 David



 --
 David Moner Cano
 Grupo de Inform?tica Biom?dica - IBIME
 Instituto ITACA
 http://www.ibime.upv.es

 Universidad Polit?cnica de Valencia (UPV)
 Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
 Valencia ? 46022 (Espa?a)

 ___
 openEHR-technical mailing list
 openEHR-technical at lists.openehr.org
 http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org



-- 
Dr Ian McNicoll
office +44 (0)1536 414 994
fax +44 (0)1536 516317
mobile +44 (0)775 209 7859
skype ianmcnicoll
ian.mcnicoll at oceaninformatics.com

Clinical Modelling Consultant, Ocean Informatics, UK
Director openEHR Foundation  www.openehr.org/knowledge
Honorary Senior Research Associate, CHIME, UCL
SCIMP Working Group, NHS Scotland
BCS Primary Health Care  www.phcsg.org



About openEHR BMM

2013-05-02 Thread Bert Verhees

 all these criticisms are fair, and need to be addressed. I am hoping 
 that we can get some combined effort from various vendors and others 
 to work on a more coherent new generation of tools. The tool space is 
 changing a lot, and it may be that the strategy is to target Eclipse 
 with a group of plug-ins that together provide a good quality 
 integrated modelling experience. I don't believe this is that hard to 
 achieve - most of the difficult algorithms have been worked out in 
 existing tools, so a fair bit of logic can be ported or re-used. 
 Expect some announcements on this in the near future, and be prepared 
 to contribute!

Would be good to try to reach some collaboration. The new Eclipse 4.2 is 
really a good platform. As you can see what LinkEHR achieved with a 
previous 3.x version, and also other examples.
One could also think about editors, and also archetype-editors, a 
platform in which several OpenEHR tools are combined. When time comes, 
we should maybe assign tasks to volunteers.


 -
 Until now LinkEHR used XML-Schema, which is good enough for 
 expressing an master-RM. I am satisfied with any other way too, XMI, 
 for example.

 I know there is a lot of bad XMI-software, this is because vendors 
 try to put all kind of things in it, which should not be in it, and 
 in this way they make it incompatible.
 But XMI itself, it is a well defined standard from OMG. It is also a 
 very succesful standard. I think it must be possible to validate and 
 use it in a standardized way.

 actually this is not true to date; I happen to be in communication 
 with some of the relevant OMG people, and XMI has been recognised as a 
 'historically serious problem' by OMG at a recent board meeting, and 
 is being treated as almost an emergency situation. This was because 
 many tools did not respect the spec, made implementation choices where 
 the spec was lacking, possibly as well as adding things of their own. 
 My impression is that now, i.e. 2013 going forward, things should 
 improve reasonably rapidly. But prior to now, XMI has been a nearly 
 unusable format for practical purposes.

I didn't know that, what you say about XMI, too bad that it happened. 
The idea for that kind of standard is good.


 I never studied the software-vendors well, but I think there must be 
 good XMI-producing software. You mention BOUML, I know the product, 
 it has  a plugin-interface, at least i
 -
 My problem is, when you are going to use software which can only run 
 from Windows and you need to create parsers to understand the output 
 (like LinkEHR has published a grammar-file), it will be a stony road, 
 with hard to solve bugs and incompatibility situations. We have seen 
 that until now, only two archetype-editors on the market, and after 
 five years, still not compatible.

 You mean EA I presume? I think the next step is to see if we can 
 replicate the EA plug-in in other UML tools. BOUML for example runs on 
 all 3 major platforms, and Rational Software Architect must as well, 
 since it's Eclipse based. So this is just a piece of work for someone 
 to do. I am sure Michael will publish his plug-in for use by others.

No, no, BOUML has a plugin interface, I accidentally saw on their 
website, but I read again, it is a plug-out-interface ;-) I don't know 
what the word means.



 As I understand you are planning to use a niche definition, which can 
 only be created by one vendor (Enterprise Architect) and let 
 important software (archetype-editors) rely on that.

 it's what we did so far, because at the point when we needed a 
 solution, there simply was nothing working that we could just use. For 
 a future plan... there isn't a defined plan yet, I think it is up to 
 people here to help define it. The two  things I think are important 
 are a) that the /semantics/ of the BMM schemas can be supported by 
 other solutions and tools and b) that a schema file is human readable 
 and writable. We might be able to migrate to using some Ecore syntax, 
 and/or XMI. I personally have not had the time to go and look at this.

 One thing the BMM format has achieved which we could not in any other 
 way has been to connect the following tools together:

   * at least one UML tool (so far: EA)
   * the ADL 1.5 Workbench
   * the LinkEHR tool
   * tools that Intermountain health are developing to produce
 archetypes from Intermountain / GE Clinical Element Models

 If we replace this connectivity by another method, as long as it 
 works, let's do it. It's just a question of determining a coherent 
 strategy together.


Maybe just forget my criticism, I don't have really good reasons against 
BMM, I just have a natural aversion against new formats.

Especially if the tooling is expensive and does not run out of the box 
on my favorite platform.
For EA I need to install Codeweavers to get it to run, I once did 
something like that, it was a drama.
First by Codeweavers, then buy EA, then spend a 

About openEHR BMM

2013-05-02 Thread Bert Verhees
On 05/02/2013 09:56 AM, David Moner wrote:
 We'll try tu publish an updated version of the editor sooner than later.

Don't forget the 64 bits version for Linux. ;-)

It is really hard, paths and that kind of annoyance, to have a 32 bits 
version of Java running on the same OS where a 64 bits Java version is 
default.

Bert



About openEHR BMM

2013-05-02 Thread Bert Verhees
On 05/02/2013 10:47 AM, Ian McNicoll wrote:
 It would be good to re-visit Bert's concerns. If we had better
 conformance then some thing like the lack of Demographics model
 support in the Ocean tool would be much less of an issue.
I completely agree. It must be possible to find the messages, it is 
better then me working again a day or so, to document what is wrong.
It are no big things, but enough to make the combination of the two 
nearly impossible, and people end up working in their text-editors.
I have seen that happen many times.

Bert



About openEHR BMM

2013-05-02 Thread Bert Verhees
On 05/02/2013 09:56 AM, David Moner wrote:
 But there are others that are not so easy to address since they are 
 related to the basic internal philosophy of the tool, such use adding 
 an id to every node.
Of course I don't know the structure of your software, but having a 
configuration-switch in a dialog to put off/on the node-id's on 
datavalues would really be a great improvement.

Bert



About openEHR BMM

2013-05-01 Thread Bert Verhees

 
 Michael van der Zel at Results4Care put together a great little plug-in for 
 Enterprise Architect

-   CodeWeavers' Crossover 10.0.3 (or later), Microsoft Data Access 
Components (MDAC) 2.8, DCOM95, Internet Explorer 6

Stupid product, EA, cannot be used in an environment based on international 
standards, but is even when used on Mac of Linux depending on Internet Explorer 
and Microsoft Database Access Extensions. Probably to lazy to develop their 
products in a vendor-independent way.

If in this way EA gets the status of preferred third party tooling for modeling 
in OpenEhr context, I think, that it is a very bad evolution.

Bert


 that traverses a UML model in memory and pumps out a BMM schema for it. So 
 now we have a nice way of having a primary UML model expression and a 
 generated tool-consumable format (BMM schemas), which will help tool chains 
 components to communicate - right now the ADL workbench and now LinkEHR can 
 consume it.
 
 The converter is pretty good right now, but David Moner's group has obviously 
 found a few more bugs than I found, which is good - hopefully we can converge 
 on a very tight version of the EA converter soon. Then the same thing can be 
 done with openEHR, 13606, any other model in EA, which means we have a way of 
 representing a RM in UML, and driving archetype tools from that.
 
 I'm just putting together a GitHub repo now for it on which I'll post a spec, 
 the class models I use (in UML) and pointers to every implementation we can 
 find.
 
 - thomas
 
 
 ___
 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/20130501/336803d7/attachment.html


About openEHR BMM

2013-05-01 Thread Bert Verhees

 Hi Bert,

 we're not in the business of endorsing UML products, but the UML 
 situation is always murky. In theory anyone should be able to share 
 models saved in XMI format. Historically that never worked - each 
 tool's XMI was broken in different ways, the XMI specification itself 
 is unclear and vastly over-complicated (as is the underlying 
 meta-model for UML).

 So let's say the openEHR community would like some proper computable 
 UML models... what do we do? The most recent attempt was done in a 
 tool called BOUML http://bouml.fr/, which was free and is now a 
 pay-for tool (about EUR50). It output generation of XMI and code is 
 superior from what I can work out and it has good support. So I took 
 the work of Eric Browne who built most of the RM in that tool, 
 finished it (more or less) and you can see the XMI files online in the 
 GitHub reference-models repository 
 https://github.com/openEHR/reference-models/tree/master/models/openEHR/Release-1.0.2/UML.

 This XMI file was used as the original input to EA, which more people 
 seem to use, in CIMI, and it nearly worked. There were some errors, 
 and the BOUML vendors fixed that very quickly. EA's XMI import was the 
 main problem however, but to their credit, Sparx also made fixes to 
 improve it in the last 12 months.

 I think the Rational tool was also able to import this XMI. So it 
 appears that we are getting closer to XMI becoming a trustworthy 
 format, and if we continue to publish an XMI file from a reliable 
 tool, and put pressure on vendors whose XMI doesn't work (along with 
 everyone else in the world who is in a similar situation), the various 
 tools should eventually converge on being able to talk the same XMI.

 I think that's about the best we can do. Do you have other suggestions?

Let me explain my problems and what I wish and what I think about doing 
about that, and than what my problem is with the BMM-solution
-
I have a problem with both archetype-editors, I explained a few times on 
this list why.
Both change archetypes while loading them, f.e. one likes to add 
node-id's to datavalues, and the other does not like that.
There are some more incompatibilities, between the both. I forgot the 
details.
Then one is not able to create demographic archetypes, also a problem.
-
Both are not configurable.
I would like to have an archetype editor which can be feeded with some 
RM-definition, and configured to use it, and then is being able to 
create archetypes following that definition.
-
That does not exist, I like to build it myself, (when I have time). It 
is not very difficult, there is already code which can be used for 
understanding, from LiU, so half of the wheel is already invented.
I think I need three months to do so. So I want to to build any RM 
depending on the feed-file.
I would, like LinkEHR, build in in Java, in a eclipse-framework is easy.
The archetype-editor should export to ADL, but also export to an 
XML-schema language, probably Relax NG.
-
Until now LinkEHR used XML-Schema, which is good enough for expressing 
an master-RM. I am satisfied with any other way too, XMI, for example.

I know there is a lot of bad XMI-software, this is because vendors try 
to put all kind of things in it, which should not be in it, and in this 
way they make it incompatible.
But XMI itself, it is a well defined standard from OMG. It is also a 
very succesful standard. I think it must be possible to validate and use 
it in a standardized way.
I never studied the software-vendors well, but I think there must be 
good XMI-producing software. You mention BOUML, I know the product, it 
has  a plugin-interface, at least i
-
My problem is, when you are going to use software which can only run 
from Windows and you need to create parsers to understand the output 
(like LinkEHR has published a grammar-file), it will be a stony road, 
with hard to solve bugs and incompatibility situations. We have seen 
that until now, only two archetype-editors on the market, and after five 
years, still not compatible.

As I understand you are planning to use a niche definition, which can 
only be created by one vendor (Enterprise Architect) and let important 
software (archetype-editors) rely on that.

Does not seem wise to me.

It would be a big improvement if the BMM-files were in XML, even (but 
not directly necessary) with a schema to validate them. Then anyone can 
created them, and it is easy to build tooling, a Reference Model editor, 
next to an archetype editor.
-
Do you know how I create archetypes (I don't if I can someone else 
having to do it :), but I work my way in LinkEHR or the Ocean editor, 
and edit them manually in a text-editor, with syntax-highlighting.

Bert
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130501/4c97e5e3/attachment-0001.html


About openEHR BMM

2013-05-01 Thread Bert Verhees
On 05/01/2013 03:24 PM, Peter Gummer wrote:
 Bert Verhees wrote:

 I have a problem with both archetype-editors, I explained a few times on 
 this list why.
 Both change archetypes while loading them, f.e. one likes to add node-id's 
 to datavalues, and the other does not like that.
 There are some more incompatibilities, between the both. I forgot the 
 details.
 Then one is not able to create demographic archetypes, also a problem.
 -
 Both are not configurable.
 I would like to have an archetype editor which can be feeded with some 
 RM-definition, and configured to use it, and then is being able to create 
 archetypes following that definition.
 ...
 Do you know how I create archetypes (I don't if I can someone else having to 
 do it :), but I work my way in LinkEHR or the Ocean editor, and edit them 
 manually in a text-editor, with syntax-highlighting.

 Hi Bert,

 Problems with the Ocean Archetype Editor should be reported to 
 http://www.openehr.org/issues/issues/?jql=project%20%3D%20AEPR . The Ocean 
 Archetype Editor only gets worked on when we have spare time, or if there is 
 a pressing business requirement for us to fix something in it, so mentioning 
 a problem on a mailing list is not likely to get it fixed.

 If you have examples of archetypes generated by LinkEHR that are not handled 
 properly by the Ocean Archetype Editor, please attach them to your problem 
 report.

 Alternatively, you could try fixing it yourself. I recall that you compiled 
 it under Mono a few years ago, but you had a problem that there were 
 dependencies on some DLLs that only worked under Windows. We have removed 
 those dependencies, so you should be able to build it successfully under Mono 
 these days.

 But I understand that you're a very busy guy yourself, so submitting a 
 problem report would probably be best ;-)

Thanks Peter, I will investigate the problem again, so I can write a 
problem report.

Thanks for removing those dependencies, good that you remember that ;-)

Bert



About openEHR BMM

2013-05-01 Thread Thomas Beale
On 01/05/2013 10:28, Bert Verhees wrote:

 Let me explain my problems and what I wish and what I think about 
 doing about that, and than what my problem is with the BMM-solution
 -
 I have a problem with both archetype-editors, I explained a few times 
 on this list why.
 Both change archetypes while loading them, f.e. one likes to add 
 node-id's to datavalues, and the other does not like that.
 There are some more incompatibilities, between the both. I forgot the 
 details.
 Then one is not able to create demographic archetypes, also a problem.
 -
 Both are not configurable.
 I would like to have an archetype editor which can be feeded with some 
 RM-definition, and configured to use it, and then is being able to 
 create archetypes following that definition.
 -
 That does not exist, I like to build it myself, (when I have time). It 
 is not very difficult, there is already code which can be used for 
 understanding, from LiU, so half of the wheel is already invented.
 I think I need three months to do so. So I want to to build any RM 
 depending on the feed-file.
 I would, like LinkEHR, build in in Java, in a eclipse-framework is easy.
 The archetype-editor should export to ADL, but also export to an 
 XML-schema language, probably Relax NG.

all these criticisms are fair, and need to be addressed. I am hoping 
that we can get some combined effort from various vendors and others to 
work on a more coherent new generation of tools. The tool space is 
changing a lot, and it may be that the strategy is to target Eclipse 
with a group of plug-ins that together provide a good quality integrated 
modelling experience. I don't believe this is that hard to achieve - 
most of the difficult algorithms have been worked out in existing tools, 
so a fair bit of logic can be ported or re-used. Expect some 
announcements on this in the near future, and be prepared to contribute!

 -
 Until now LinkEHR used XML-Schema, which is good enough for expressing 
 an master-RM. I am satisfied with any other way too, XMI, for example.

 I know there is a lot of bad XMI-software, this is because vendors try 
 to put all kind of things in it, which should not be in it, and in 
 this way they make it incompatible.
 But XMI itself, it is a well defined standard from OMG. It is also a 
 very succesful standard. I think it must be possible to validate and 
 use it in a standardized way.

actually this is not true to date; I happen to be in communication with 
some of the relevant OMG people, and XMI has been recognised as a 
'historically serious problem' by OMG at a recent board meeting, and is 
being treated as almost an emergency situation. This was because many 
tools did not respect the spec, made implementation choices where the 
spec was lacking, possibly as well as adding things of their own. My 
impression is that now, i.e. 2013 going forward, things should improve 
reasonably rapidly. But prior to now, XMI has been a nearly unusable 
format for practical purposes.

 I never studied the software-vendors well, but I think there must be 
 good XMI-producing software. You mention BOUML, I know the product, it 
 has  a plugin-interface, at least i
 -
 My problem is, when you are going to use software which can only run 
 from Windows and you need to create parsers to understand the output 
 (like LinkEHR has published a grammar-file), it will be a stony road, 
 with hard to solve bugs and incompatibility situations. We have seen 
 that until now, only two archetype-editors on the market, and after 
 five years, still not compatible.

You mean EA I presume? I think the next step is to see if we can 
replicate the EA plug-in in other UML tools. BOUML for example runs on 
all 3 major platforms, and Rational Software Architect must as well, 
since it's Eclipse based. So this is just a piece of work for someone to 
do. I am sure Michael will publish his plug-in for use by others.


 As I understand you are planning to use a niche definition, which can 
 only be created by one vendor (Enterprise Architect) and let important 
 software (archetype-editors) rely on that.

it's what we did so far, because at the point when we needed a solution, 
there simply was nothing working that we could just use. For a future 
plan... there isn't a defined plan yet, I think it is up to people here 
to help define it. The two  things I think are important are a) that the 
/semantics/ of the BMM schemas can be supported by other solutions and 
tools and b) that a schema file is human readable and writable. We might 
be able to migrate to using some Ecore syntax, and/or XMI. I personally 
have not had the time to go and look at this.

One thing the BMM format has achieved which we could not in any other 
way has been to connect the following tools together:

  * at least one UML tool (so far: EA)
  * the ADL 1.5 Workbench
  * the LinkEHR tool
  * tools that Intermountain health are developing to produce 

About openEHR BMM

2013-05-01 Thread pablo pazos
Hi Thomas, having a small spec would be great, thanks!
BTW, does anyone use XML representation of UML diagrams to process class models?

-- 
Kind regards,
Ing. Pablo Pazos Guti?rrez
http://cabolabs.com

 Date: Tue, 30 Apr 2013 19:09:15 +0100
 From: thomas.beale at oceaninformatics.com
 To: openehr-technical at lists.openehr.org
 Subject: Re: About openEHR BMM
 
 On 30/04/2013 18:30, Diego Bosc? wrote:
  I think Thomas created it from scratch. There is a page on the wiki
  discussing it 
  (http://www.openehr.org/wiki/display/dev/Machine-readable+model+representations+of+openEHR),
  but we studied mostly to the bmm files included on the archetype
  workbench in order to understand it.
 
 yep. That link explains why I did it. Simple summary: XMI is a horror 
 and hardly works between tools that implement it (and there is no hope 
 of hand-writing an XMI schema). And Ecore was broken for generic types. 
 We might converge to some Ecore/EMF format at some point, but right now, 
 BMM is a nice lightweight format, and works ok.
 
 Michael van der Zel at Results4Care put together a great little plug-in 
 for Enterprise Architect that traverses a UML model in memory and pumps 
 out a BMM schema for it. So now we have a nice way of having a primary 
 UML model expression and a generated tool-consumable format (BMM 
 schemas), which will help tool chains components to communicate - right 
 now the ADL workbench and now LinkEHR can consume it.
 
 The converter is pretty good right now, but David Moner's group has 
 obviously found a few more bugs than I found, which is good - hopefully 
 we can converge on a very tight version of the EA converter soon. Then 
 the same thing can be done with openEHR, 13606, any other model in EA, 
 which means we have a way of representing a RM in UML, and driving 
 archetype tools from that.
 
 I'm just putting together a GitHub repo now for it on which I'll post a 
 spec, the class models I use (in UML) and pointers to every 
 implementation we can find.
 
 - thomas
 
 
 ___
 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/20130501/ea76cb21/attachment.html


About openEHR BMM

2013-05-01 Thread Diego Boscá
We don't. I had a look to XMI back in the day, but discarded it for
being a mess (too vendor specific). On the other hand generating a
clean XMI from archetypes could be a good idea.

2013/5/1 pablo pazos pazospablo at hotmail.com:
 Hi Thomas, having a small spec would be great, thanks!

 BTW, does anyone use XML representation of UML diagrams to process class
 models?


 --
 Kind regards,
 Ing. Pablo Pazos Guti?rrez
 http://cabolabs.com

 Date: Tue, 30 Apr 2013 19:09:15 +0100
 From: thomas.beale at oceaninformatics.com
 To: openehr-technical at lists.openehr.org
 Subject: Re: About openEHR BMM


 On 30/04/2013 18:30, Diego Bosc? wrote:
  I think Thomas created it from scratch. There is a page on the wiki
  discussing it
  (http://www.openehr.org/wiki/display/dev/Machine-readable+model+representations+of+openEHR),
  but we studied mostly to the bmm files included on the archetype
  workbench in order to understand it.

 yep. That link explains why I did it. Simple summary: XMI is a horror
 and hardly works between tools that implement it (and there is no hope
 of hand-writing an XMI schema). And Ecore was broken for generic types.
 We might converge to some Ecore/EMF format at some point, but right now,
 BMM is a nice lightweight format, and works ok.

 Michael van der Zel at Results4Care put together a great little plug-in
 for Enterprise Architect that traverses a UML model in memory and pumps
 out a BMM schema for it. So now we have a nice way of having a primary
 UML model expression and a generated tool-consumable format (BMM
 schemas), which will help tool chains components to communicate - right
 now the ADL workbench and now LinkEHR can consume it.

 The converter is pretty good right now, but David Moner's group has
 obviously found a few more bugs than I found, which is good - hopefully
 we can converge on a very tight version of the EA converter soon. Then
 the same thing can be done with openEHR, 13606, any other model in EA,
 which means we have a way of representing a RM in UML, and driving
 archetype tools from that.

 I'm just putting together a GitHub repo now for it on which I'll post a
 spec, the class models I use (in UML) and pointers to every
 implementation we can find.

 - thomas


 ___
 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



About openEHR BMM

2013-05-01 Thread Thomas Beale
On 01/05/2013 14:48, pablo pazos wrote:
 Hi Thomas, having a small spec would be great, thanks!

 BTW, does anyone use XML representation of UML diagrams to process 
 class models?

wait time = 5 days

- thomas

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130501/baa33b21/attachment.html


About openEHR BMM

2013-05-01 Thread pablo pazos
Yep XMI is tough...
A short time ago I thought about adapting the .DIA * XML format to represent 
UML diagrams (cleaning the graphic part and leaving only the structure of the 
model).
My idea was to do some code generation targeting Java/Groovy from the DIA 
diagrams directly to simplify my development process. This can be easily done 
using something like FreeMarker **.
The problems are: 1. .DIA is not a standard and is more for graphical 
information than information structures and 2. there is no clear standard to 
represent UML class models in XML.
E.g. this can be used to generate reference implementations of any openEHR spec 
targeting multiple programming languages, so when specs change, we can generate 
our implementations automatically. Obviously this strongly depends on the tools 
used to create UML diagrams, and I suspect the tools currently used are 
propietary as the current tools/formats for spec documentation.
* DIA is an open source UML modeller I use a lot, and it's output format is 
XML: https://live.gnome.org/Dia** http://freemarker.sourceforge.net

-- 
Kind regards,
Ing. Pablo Pazos Guti?rrez
http://cabolabs.com

 From: yampeku at gmail.com
 Date: Wed, 1 May 2013 16:02:21 +0200
 Subject: Re: About openEHR BMM
 To: openehr-technical at lists.openehr.org
 
 We don't. I had a look to XMI back in the day, but discarded it for
 being a mess (too vendor specific). On the other hand generating a
 clean XMI from archetypes could be a good idea.
 
 2013/5/1 pablo pazos pazospablo at hotmail.com:
  Hi Thomas, having a small spec would be great, thanks!
 
  BTW, does anyone use XML representation of UML diagrams to process class
  models?
 
 
  --
  Kind regards,
  Ing. Pablo Pazos Guti?rrez
  http://cabolabs.com
 
  Date: Tue, 30 Apr 2013 19:09:15 +0100
  From: thomas.beale at oceaninformatics.com
  To: openehr-technical at lists.openehr.org
  Subject: Re: About openEHR BMM
 
 
  On 30/04/2013 18:30, Diego Bosc? wrote:
   I think Thomas created it from scratch. There is a page on the wiki
   discussing it
   (http://www.openehr.org/wiki/display/dev/Machine-readable+model+representations+of+openEHR),
   but we studied mostly to the bmm files included on the archetype
   workbench in order to understand it.
 
  yep. That link explains why I did it. Simple summary: XMI is a horror
  and hardly works between tools that implement it (and there is no hope
  of hand-writing an XMI schema). And Ecore was broken for generic types.
  We might converge to some Ecore/EMF format at some point, but right now,
  BMM is a nice lightweight format, and works ok.
 
  Michael van der Zel at Results4Care put together a great little plug-in
  for Enterprise Architect that traverses a UML model in memory and pumps
  out a BMM schema for it. So now we have a nice way of having a primary
  UML model expression and a generated tool-consumable format (BMM
  schemas), which will help tool chains components to communicate - right
  now the ADL workbench and now LinkEHR can consume it.
 
  The converter is pretty good right now, but David Moner's group has
  obviously found a few more bugs than I found, which is good - hopefully
  we can converge on a very tight version of the EA converter soon. Then
  the same thing can be done with openEHR, 13606, any other model in EA,
  which means we have a way of representing a RM in UML, and driving
  archetype tools from that.
 
  I'm just putting together a GitHub repo now for it on which I'll post a
  spec, the class models I use (in UML) and pointers to every
  implementation we can find.
 
  - thomas
 
 
  ___
  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 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/20130501/a77bf7da/attachment.html


About openEHR BMM

2013-05-01 Thread pablo pazos
Great!
BTW, it will be really useful to have multi-model tools.
I was thinking if multi-model apps could be also useful, e.g. to have different 
persistent structures. My guess is that app can implement one canonical model 
(e.g. openEHR RM) and then map to other models e.g. for instance transformation 
and output purposes.
My idea: what do you think about creating some kind of mapping language, to 
specify correspondences between BMM models? (e.g. using semantic 
mappings/relationships to tell if one class in model A is equivalent/more 
generic/more specific/... to other class in model B). 
There are many kinds of semantic correspondence between models, e.g. a class in 
one model can map to a property in another model, etc... 
The idea behind that is that using the mapping information and an input 
instance schema (in the canonical model), and maybe some input or cursomization 
from the user/designer, a complete transformation definition can be created, so 
automatic transformation from an instance in the canonical model to some output 
model (13606, CDA, ...) can be done.
Is this idea to crazy or do you think it can be useful to have something like 
that?Anyone is working on something like that?
-- 
Kind regards,
Ing. Pablo Pazos Guti?rrez
http://cabolabs.com

Date: Wed, 1 May 2013 16:07:08 +0100
From: thomas.be...@oceaninformatics.com
To: openehr-technical at lists.openehr.org
Subject: Re: About openEHR BMM


  

  
  
On 01/05/2013 14:48, pablo pazos wrote:



  
  Hi Thomas, having a small spec would be great,
thanks!



BTW, does anyone use XML representation of UML diagrams to
  process class models?
  



wait time = 5 days 



- thomas



  


___
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/20130501/1c5ce1f6/attachment.html


About openEHR BMM

2013-05-01 Thread Thomas Beale
On 30/04/2013 23:45, Bert Verhees wrote:


 Michael van der Zel at Results4Care put together a great little 
 plug-in for Enterprise Architect 


 Stupid product, EA, cannot be used in an environment based on 
 international standards, but is even when used on Mac of Linux 
 depending on Internet Explorer and Microsoft Database Access 
 Extensions. Probably to lazy to develop their products in a 
 vendor-independent way.

 If in this way EA gets the status of preferred third party tooling for 
 modeling in OpenEhr context, I think, that it is a very bad evolution.


Hi Bert,

we're not in the business of endorsing UML products, but the UML 
situation is always murky. In theory anyone should be able to share 
models saved in XMI format. Historically that never worked - each tool's 
XMI was broken in different ways, the XMI specification itself is 
unclear and vastly over-complicated (as is the underlying meta-model for 
UML).

So let's say the openEHR community would like some proper computable UML 
models... what do we do? The most recent attempt was done in a tool 
called BOUML http://bouml.fr/, which was free and is now a pay-for 
tool (about EUR50). It output generation of XMI and code is superior 
from what I can work out and it has good support. So I took the work of 
Eric Browne who built most of the RM in that tool, finished it (more or 
less) and you can see the XMI files online in the GitHub 
reference-models repository 
https://github.com/openEHR/reference-models/tree/master/models/openEHR/Release-1.0.2/UML.

This XMI file was used as the original input to EA, which more people 
seem to use, in CIMI, and it nearly worked. There were some errors, and 
the BOUML vendors fixed that very quickly. EA's XMI import was the main 
problem however, but to their credit, Sparx also made fixes to improve 
it in the last 12 months.

I think the Rational tool was also able to import this XMI. So it 
appears that we are getting closer to XMI becoming a trustworthy format, 
and if we continue to publish an XMI file from a reliable tool, and put 
pressure on vendors whose XMI doesn't work (along with everyone else in 
the world who is in a similar situation), the various tools should 
eventually converge on being able to talk the same XMI.

I think that's about the best we can do. Do you have other suggestions?

- thomas

BTW I will regenerate the online XMI with the latest BOUML tool.
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130501/325234f1/attachment.html


About openEHR BMM

2013-04-30 Thread David Moner
Hello all,

We have just implemented the support of Basic Meta Model files (BMM) in
LinkEHR Editor as a format to import new reference models into the tool.

First of all, I think that it is necessary to clarify some erroneous ideas
or misunderstandings about LinkEHR that have been recently published. Until
now, LinkEHR used XML Schema as an input format to define reference models.
It is analyzed to create the internal information structures needed to edit
archetypes based in that model. Internally, LinkEHR follows a pure
implementation of the AOM 1.4 model so that the only limits of the tool are
what can be expressed as an archetype.

The decision to support XML Schema as an input format is based on the fact
that many reference models are only or normatively expressed in that way
(for example HL7 CDA, HL7 CCD or CDISC ODM). This has nothing to do with
the discussion about the expressiveness of the XML Schema language, but
just a solution needed to support some daily used and
well established models such as CDA.

That said, we decided to implement the support of BMM definitions as an
additional input format to XML Schema, in order to extend the possibilities
of the tool. That implementation took around three days and the only
problems came from the interpretation of the BMM format. Some doubts arose
and we want to share them for discussion.

- Schema identification. This is just a curiosity. The BMM identification
includes the following information. It is curious that here the RM release
is required as part of the identification schema (which is completely
logical), but it is not used for the generation of the archetype identifier
or archetype header to make its localization safer, as we have requested
some time in the past (
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2011-April/005943.html
).
rm_publisher = openehr
schema_name = rm
rm_release = 1.0.2

- Order of the properties. It is not specified if there is an order of
appearance of all reserved words and sections of the BMM. Depending on
this, the implementation strategy of the parser varies. Is the order
relevant? We assumed that it is relevant for the header sections, but it is
not at the definition of the classes.

- Cardinality property of Single attributes. Testing the CIMI BMM we have
found several places where a P_BMM_SINGLE_PROPERTY had a cardinality
property defined. We interpreted that as an error, since a monovalued
attribute has no cardinality.

- Is_abstract as string. Also at the CIMI model we found several
definitions as is_abstract = True. We interpreted it as an error since
it should be a boolean value without double quotes.

- Definition of generic properties. They are defined by using the
P_BMM_GENERIC_PROPERTY reserved word. What it is not clear is if those
properties can be SINGLE or CONTAINER ones. In other words, is it possible
to define a container attribute(with its cardinality) of the type
GENERIC_PROPERTY?

- Generic_parameters property of P_BMM_GENERIC_PROPERTY should be a list.
Since a generic class can be defined to support one or more parameters, the
generic_parameters used when that class is called should be defined as a
list of strings. Currently, all examples define it as a single string value.

- Need of visualization information. There are two properties defined
related to visualization of the model. The
archetype_data_value_parent_class property is defined at the documentation
as a base class from the Reference Model whose descendants are considered
to be 'logical data types [...] is only used to help tooling provide more
intelligent display. The archetype_visualise_descendants_of property is
used to designate a class whose descendants should be made visible in tree
and grid renderings of the archetype definition. In order to repeat some
of the problems of existing model representation, such as XMI, we should
avoid polluting the pure RM definition from visualization or user-oriented
metainformation. At the end that only complicates the BMM format. The
representation of that metainformation should not be part of the BMM
requirements.


We have uploaded the JavaCC specification of the BMM grammar to the openEHR
wiki: http://www.openehr.org/wiki/display/dev/BMM+grammar+and+parsers
Feel free to use or modify it.

David



-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20130430/e6d695a4/attachment.html


About openEHR BMM

2013-04-30 Thread pablo pazos
Hi David, I saw the BMM format mentioned on previous threads, but I really 
don't know what it is or where it came from. 
Searching on the web, BMM is almost unknown (there is the OMG Business 
Motivation Model), so I think the BMM is something developed by Ocean or by 
CIMI partners (?).
Anyone knows where is the spec of the format? It would be nice to understand 
what BMM in order to participate on these threads.
Thanks!
-- 
Kind regards,
Ing. Pablo Pazos Guti?rrez
http://cabolabs.com

From: dam...@gmail.com
Date: Tue, 30 Apr 2013 17:33:08 +0200
Subject: About openEHR BMM
To: openehr-technical at lists.openehr.org

Hello all,
We have just implemented the support of Basic Meta Model files (BMM) in LinkEHR 
Editor as a format to import new reference models into the tool.


First of all, I think that it is necessary to clarify some erroneous ideas or 
misunderstandings about LinkEHR that have been recently published. Until now, 
LinkEHR used XML Schema as an input format to define reference models. It is 
analyzed to create the internal information structures needed to edit 
archetypes based in that model. Internally, LinkEHR follows a pure 
implementation of the AOM 1.4 model so that the only limits of the tool are 
what can be expressed as an archetype.




The decision to support XML Schema as an input format is based on the fact that 
many reference models are only or normatively expressed in that way (for 
example HL7 CDA, HL7 CCD or CDISC ODM). This has nothing to do with the 
discussion about the expressiveness of the XML Schema language, but just a 
solution needed to support some daily used and well established models such as 
CDA.




That said, we decided to implement the support of BMM definitions as an 
additional input format to XML Schema, in order to extend the possibilities of 
the tool. That implementation took around three days and the only problems came 
from the interpretation of the BMM format. Some doubts arose and we want to 
share them for discussion.




- Schema identification. This is just a curiosity. The BMM identification 
includes the following information. It is curious that here the RM release is 
required as part of the identification schema (which is completely logical), 
but it is not used for the generation of the archetype identifier or archetype 
header to make its localization safer, as we have requested some time in the 
past 
(http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2011-April/005943.html).


rm_publisher = openehr
schema_name = rmrm_release = 1.0.2
- Order of the properties. It is not specified if there is an order of 
appearance of all reserved words and sections of the BMM. Depending on this, 
the implementation strategy of the parser varies. Is the order relevant? We 
assumed that it is relevant for the header sections, but it is not at the 
definition of the classes.



- Cardinality property of Single attributes. Testing the CIMI BMM we have found 
several places where a P_BMM_SINGLE_PROPERTY had a cardinality property 
defined. We interpreted that as an error, since a monovalued attribute has no 
cardinality.


- Is_abstract as string. Also at the CIMI model we found several definitions as 
is_abstract = True. We interpreted it as an error since it should be a 
boolean value without double quotes.



- Definition of generic properties. They are defined by using the 
P_BMM_GENERIC_PROPERTY reserved word. What it is not clear is if those 
properties can be SINGLE or CONTAINER ones. In other words, is it possible to 
define a container attribute(with its cardinality) of the type GENERIC_PROPERTY?


- Generic_parameters property of P_BMM_GENERIC_PROPERTY should be a list. Since 
a generic class can be defined to support one or more parameters, the 
generic_parameters used when that class is called should be defined as a list 
of strings. Currently, all examples define it as a single string value.


- Need of visualization information. There are two properties defined related 
to visualization of the model. The archetype_data_value_parent_class property 
is defined at the documentation as a base class from the Reference Model whose 
descendants are considered to be 'logical data types [...] is only used to help 
tooling provide more intelligent display. The 
archetype_visualise_descendants_of property is used to designate a class whose 
descendants should be made visible in tree and grid renderings of the archetype 
definition. In order to repeat some of the problems of existing model 
representation, such as XMI, we should avoid polluting the pure RM definition 
from visualization or user-oriented metainformation. At the end that only 
complicates the BMM format. The representation of that metainformation should 
not be part of the BMM requirements.



We have uploaded the JavaCC specification of the BMM grammar to the openEHR 
wiki: http://www.openehr.org/wiki/display/dev/BMM+grammar+and+parsers

Feel free to use or modify

About openEHR BMM

2013-04-30 Thread Diego Boscá
I think Thomas created it from scratch. There is a page on the wiki
discussing it 
(http://www.openehr.org/wiki/display/dev/Machine-readable+model+representations+of+openEHR),
but we studied mostly to the bmm files included on the archetype
workbench in order to understand it.

2013/4/30 pablo pazos pazospablo at hotmail.com:
 Hi David, I saw the BMM format mentioned on previous threads, but I really
 don't know what it is or where it came from.

 Searching on the web, BMM is almost unknown (there is the OMG Business
 Motivation Model), so I think the BMM is something developed by Ocean or by
 CIMI partners (?).

 Anyone knows where is the spec of the format? It would be nice to understand
 what BMM in order to participate on these threads.

 Thanks!

 --
 Kind regards,
 Ing. Pablo Pazos Guti?rrez
 http://cabolabs.com

 
 From: damoca at gmail.com
 Date: Tue, 30 Apr 2013 17:33:08 +0200
 Subject: About openEHR BMM
 To: openehr-technical at lists.openehr.org


 Hello all,

 We have just implemented the support of Basic Meta Model files (BMM) in
 LinkEHR Editor as a format to import new reference models into the tool.

 First of all, I think that it is necessary to clarify some erroneous ideas
 or misunderstandings about LinkEHR that have been recently published. Until
 now, LinkEHR used XML Schema as an input format to define reference models.
 It is analyzed to create the internal information structures needed to edit
 archetypes based in that model. Internally, LinkEHR follows a pure
 implementation of the AOM 1.4 model so that the only limits of the tool are
 what can be expressed as an archetype.

 The decision to support XML Schema as an input format is based on the fact
 that many reference models are only or normatively expressed in that way
 (for example HL7 CDA, HL7 CCD or CDISC ODM). This has nothing to do with the
 discussion about the expressiveness of the XML Schema language, but just a
 solution needed to support some daily used and well established models such
 as CDA.

 That said, we decided to implement the support of BMM definitions as an
 additional input format to XML Schema, in order to extend the possibilities
 of the tool. That implementation took around three days and the only
 problems came from the interpretation of the BMM format. Some doubts arose
 and we want to share them for discussion.

 - Schema identification. This is just a curiosity. The BMM identification
 includes the following information. It is curious that here the RM release
 is required as part of the identification schema (which is completely
 logical), but it is not used for the generation of the archetype identifier
 or archetype header to make its localization safer, as we have requested
 some time in the past
 (http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2011-April/005943.html).
 rm_publisher = openehr
 schema_name = rm
 rm_release = 1.0.2

 - Order of the properties. It is not specified if there is an order of
 appearance of all reserved words and sections of the BMM. Depending on this,
 the implementation strategy of the parser varies. Is the order relevant? We
 assumed that it is relevant for the header sections, but it is not at the
 definition of the classes.

 - Cardinality property of Single attributes. Testing the CIMI BMM we have
 found several places where a P_BMM_SINGLE_PROPERTY had a cardinality
 property defined. We interpreted that as an error, since a monovalued
 attribute has no cardinality.

 - Is_abstract as string. Also at the CIMI model we found several definitions
 as is_abstract = True. We interpreted it as an error since it should be
 a boolean value without double quotes.

 - Definition of generic properties. They are defined by using the
 P_BMM_GENERIC_PROPERTY reserved word. What it is not clear is if those
 properties can be SINGLE or CONTAINER ones. In other words, is it possible
 to define a container attribute(with its cardinality) of the type
 GENERIC_PROPERTY?

 - Generic_parameters property of P_BMM_GENERIC_PROPERTY should be a list.
 Since a generic class can be defined to support one or more parameters, the
 generic_parameters used when that class is called should be defined as a
 list of strings. Currently, all examples define it as a single string value.

 - Need of visualization information. There are two properties defined
 related to visualization of the model. The archetype_data_value_parent_class
 property is defined at the documentation as a base class from the Reference
 Model whose descendants are considered to be 'logical data types [...] is
 only used to help tooling provide more intelligent display. The
 archetype_visualise_descendants_of property is used to designate a class
 whose descendants should be made visible in tree and grid renderings of the
 archetype definition. In order to repeat some of the problems of existing
 model representation, such as XMI, we should avoid polluting the pure RM

About openEHR BMM

2013-04-30 Thread Thomas Beale
On 30/04/2013 16:33, David Moner wrote:
 Hello all,

 We have just implemented the support of Basic Meta Model files (BMM) 
 in LinkEHR Editor as a format to import new reference models into the 
 tool.

 First of all, I think that it is necessary to clarify some erroneous 
 ideas or misunderstandings about LinkEHR that have been recently 
 published. Until now, LinkEHR used XML Schema as an input format to 
 define reference models. It is analyzed to create the internal 
 information structures needed to edit archetypes based in that model. 
 Internally, LinkEHR follows a pure implementation of the AOM 1.4 model 
 so that the only limits of the tool are what can be expressed as an 
 archetype.

 The decision to support XML Schema as an input format is based on the 
 fact that many reference models are only or normatively expressed in 
 that way (for example HL7 CDA, HL7 CCD or CDISC ODM). This has nothing 
 to do with the discussion about the expressiveness of the XML Schema 
 language, but just a solution needed to support some daily used and 
 well established models such as CDA.

 That said, we decided to implement the support of BMM definitions as 
 an additional input format to XML Schema, in order to extend the 
 possibilities of the tool. That implementation took around three days 
 and the only problems came from the interpretation of the BMM format. 
 Some doubts arose and we want to share them for discussion.

 - Schema identification. This is just a curiosity. The BMM 
 identification includes the following information. It is curious that 
 here the RM release is required as part of the identification schema 
 (which is completely logical), but it is not used for the generation 
 of the archetype identifier or archetype header to make its 
 localization safer, as we have requested some time in the past 
 (http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2011-April/005943.html).
 rm_publisher = openehr
 schema_name = rm
 rm_release = 1.0.2

If we see the multi-axial identifier not as a fixed string, but a 
computed output from a bunch of identifying meta-data, as per the recent 
knowledge identification proposal update 
http://www.openehr.org/wiki/display/spec/Development+and+Governance+of+Knowledge+Artefacts,
 
then we should consider adding the rm_release to these items. Then it is 
just a case of defining a function that includes it in one of (possibly 
many) ids. I didn't think to include it in this draft, but we can do that.

I still don't believe it's useful in the primary multi-axial ontological 
identifier, because there is no certain computational relationship 
between an archetype and a given release of the RM. Some archetypes will 
be valid for many releases, others for only one. But having it in the 
archetype meta-data is a good idea, because that nails down at least the 
release at which the archetype was created. Then it can be interrogated 
by some sort of compatibility testing tools.

David, can I suggest you add a comment in the feedback table on that 
page, so I don't forget to do this.

you probably should also report a relevant summary of these points on 
the CIMI list and/or to Michael van der Zel so he can fix his generator.


 - Order of the properties. It is not specified if there is an order of 
 appearance of all reserved words and sections of the BMM. Depending on 
 this, the implementation strategy of the parser varies. Is the order 
 relevant? We assumed that it is relevant for the header sections, but 
 it is not at the definition of the classes.

Good point. My default assumption in these kinds of things is to order 
the properties in the way we want them. In my software, I consume those 
structures straight into HashTables, which in Eiffel, remember the 
chronological input order. I'll have to check if my visual rendering 
respects this or not... anyway, it seems to me that a BMM specification 
should say that the order found in the input schema is intended to be 
significant.


 - Cardinality property of Single attributes. Testing the CIMI BMM we 
 have found several places where a P_BMM_SINGLE_PROPERTY had a 
 cardinality property defined. We interpreted that as an error, since 
 a monovalued attribute has no cardinality.

that's most likely because Michael van der Zel's generator is pulling 
this info straight off UML structures (or whatever EA's internal 
representation is) and UML is pretty dumb - it thinks everything has a 
cardinality. I had not actually noticed this, so it means my tools at 
least are just ignoring this (I use a parse = DOM-tree = object 
structure chain, and anything in the DOM-tree that doesn't exist on the 
object just gets ignored).


 - Is_abstract as string. Also at the CIMI model we found several 
 definitions as is_abstract = True. We interpreted it as an error 
 since it should be a boolean value without double quotes.

Also correct. It looks like my BMM schema mini-compiler isn't checking 
that properly.



About openEHR BMM

2013-04-30 Thread Thomas Beale
On 30/04/2013 18:30, Diego Bosc? wrote:
 I think Thomas created it from scratch. There is a page on the wiki
 discussing it 
 (http://www.openehr.org/wiki/display/dev/Machine-readable+model+representations+of+openEHR),
 but we studied mostly to the bmm files included on the archetype
 workbench in order to understand it.

yep. That link explains why I did it. Simple summary: XMI is a horror 
and hardly works between tools that implement it (and there is no hope 
of hand-writing an XMI schema). And Ecore was broken for generic types. 
We might converge to some Ecore/EMF format at some point, but right now, 
BMM is a nice lightweight format, and works ok.

Michael van der Zel at Results4Care put together a great little plug-in 
for Enterprise Architect that traverses a UML model in memory and pumps 
out a BMM schema for it. So now we have a nice way of having a primary 
UML model expression and a generated tool-consumable format (BMM 
schemas), which will help tool chains components to communicate - right 
now the ADL workbench and now LinkEHR can consume it.

The converter is pretty good right now, but David Moner's group has 
obviously found a few more bugs than I found, which is good - hopefully 
we can converge on a very tight version of the EA converter soon. Then 
the same thing can be done with openEHR, 13606, any other model in EA, 
which means we have a way of representing a RM in UML, and driving 
archetype tools from that.

I'm just putting together a GitHub repo now for it on which I'll post a 
spec, the class models I use (in UML) and pointers to every 
implementation we can find.

- thomas