DV_ORDINAL C_DV_ORDINAL

Hi,

I have some questions, I find hard to explain to my customers.
See below.

But first, I explain how I handle this problem, but I don't know if that is the best way.
I always tell my customers to create archetypes in the LinkEHR editor, and if they want a C_DV_QUANTITY, create it by hand in a text-editor
(because the LinkEHR editor does not offer dadl-code inside the definition, like the Ocean-editor tends to do in case of a DV_QUANTITY or DV_ORDINAL)

It is a strange thing, because both, Diego Bosca, who is an important person inside the LinkEHR development, is often on this list.
Also are the Ocean-developers of their Archetype-editor.
There seems however no public discussion between the both approaches which seem incompatible.

This is not very satisfying.

Below I have the problems I find, worked out.

Can someone please explain what is going on, and how I should explain this to people which have to work with archetypes.

I was thinking of writing my own archetype-editor, which is not very hard, with all the published code available (thanks Rong)
But I don't have time, coming months to do so.

But if I would write one, this kind of problems would have been solved, that is for sure.
I wonder, who's problem is it anyway?

It is mine as developer on OpenEHR-kernel and working with customers.

Thanks a lot
Regards
Bert Verhees

Bert Verhees wrote:

The OCEAN-editor creates a C_DV_ORDINAL which is empty in the definition but handles the constraint in the term-defitions
ADL-part:
C_DV_ORDINAL <
>
And in the term-definitions, it looks like this (it is under the NodeID from the parent ELEMENT)
["at0004"] = <
                   description = <"*">
                   a1 = <"een">
                   text = <"New element">
                   a2 = <"twee">
>

Hi Bert,

This seems to be the day for Archetype Editor questions … first Pablo, and now you :slight_smile:

How did you create that with the Ocean editor? Sure, you'll get this if you simply add an ordinal and don't constrain it:

C_DV_ORDINAL <
>

But how did you get that other a1 and a2 stuff in the term definitions section? That is not what you get if you add ordinal constraints.

If you constrain the ordinal, the Ocean editor generates this:

      ELEMENT[at0001] occurrences matches {0..1} matches { -- New element
        value matches {
          1|[local::at0002], -- een
          2|[local::at0003] -- twee
        }
      }

And in the term definitions you get:

        ["at0001"] = <
          text = <"New element">
          description = <"*">
        >
        ["at0002"] = <
          text = <"een">
          description = <"*">
        >
        ["at0003"] = <
          text = <"twee">
          description = <"*">
        >

Which is how ordinal constraints have always been expressed in archetypes, as far as I'm aware.

Peter

Hi,

The code-examples were not completely correct. But the issue remains

The LinkEHR editor does not recognize a DV_ORDINAL made by OCEAN,
and also available as, f.e.
openEHR-EHR-OBSERVATION.apgar.v1.adl which I downloaded from CKM.

If I make I DV_ORDINAL in LinkEHR, it looks like this
ELEMENT[at0005] occurrences matches {0..*} matches { -- ELEMENT
                                         value existence matches {0..1} matches {
                                             DV_ORDINAL[at0006] occurrences matches {0..1} matches { -- DV_ORDINAL
                                                 value existence matches {1..1} matches {1,2,3; 2}
                                             }
                                         }
                                     }

Which is something else as
ELEMENT[at0009] occurrences matches {0..1} matches { -- Ademhalingsinspanning
                                         value matches {
                                             0|[local::at0010], -- Afwezig
                                             1|[local::at0011], -- Matig of onregelmatig
                                             2|[local::at0012] -- Normaal
                                         }
                                     }
from CKM, which is also created in the Ocean editor, which in another case created a C_DV_ORDINAL, while I was placing an ORDINAL, but constructed it in another way.

Op 23-6-2012 15:28, Peter Gummer schreef:

This seems to be the day for Archetype Editor questions … first Pablo, and now you:-)

It was keeping me busy for some time, but Pablo inspired me to write an email, and also I was working with it now

Bert

Dear Bert,

I’ll try to answer your questions about LinkEHR and the decision we took when the editor was developed. All these decisions are based on ADL & AOM 1.4 specifications, that are the ones implemented in both LinkEHR and the Ocean archetype editor.

Your first question is about dealing with Domain Types. LinkEHR Editor is a multireference model editor. That means that you can edit archetypes for any reference model you import to it: openEHR, ISO EN 13606, HL7 CDA, CDISC ODM, ASTM CCR, MML… From that perspective, we originally did not incorporate specific features for just one standard. With regard to Domain types, they are extensions to the standard ADL to facilitate defining constraints over a few data types. At the 1.4 specifications they are in fact introduced in a section called “Customising ADL”. In the case of openEHR, it incorporates domain types for DV_ORDINAL, DV_QUANTITY and CODE_PHRASE.

When a domain type is found in LinkEHR, it cannot be edited at the graphical editor but you can either go to ADL to modify it or right-click at the node and select “Expand Domain Type”. This option will automatically convert the Domain Type into its canonical form that can be edited in LinkEHR. In any case, we have recently implemented the specific support for editing openEHR domain types at LinkEHR, but it has not yet included at the published version.
On the other hand, should the Ocean archetype editor be able to edit the canonical or standard form of those data types? In my opinion, clearly yes, since it is pure ADL, but currently I think it is not supported there.

Now, your second question is about using node identifiers at the data types level, and by extension, being able to add node descriptions to them. Node_ids are used to identify nodes at the archetype definition tree and also to add term definitions and term binding to them. In LinkEHR, every node that is added has its own node_id.

From the ADL specs: “Node identifiers are required for any object node which is intended to be addressable elsewhere in the cADL text, or in the runtime system and which would otherwise be ambiguous i.e. has sibling nodes.”

Our interpretation is that they are required in case of sibling nodes, but it is not prohibited to use them at any other case. In other words, it is not strictly necessary, but is is not incorrect either. Any ADL parser should accept those node_id even if they afterwards ignore them for any reason. In fact, there is a mismatch between this definition for node_ids and the attribute “node_id” at the C_OBJECT class of the AOM, where it is defined as a mandatory attribute. Something about this topic was already discussed in the mailing list back in July 2008, but there were no conclusions, I think:
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2008-July/003948.html

Regards,
David

2012/6/23 Bert Verhees <bert.verhees@rosa.nl>

Have a look at the following extract from the ordinal test archetype:

SOME_TYPE[at0000] matches { – root item
standard_ordinal_attr matches {
DV_ORDINAL [at0004] matches {
value matches {|0|}
symbol matches {
DV_CODED_TEXT matches {
defining_code matches {[local::at0001]} – +
}
}
}
DV_ORDINAL [at0005] matches {
value matches {|1|}
symbol matches {
DV_CODED_TEXT matches {
defining_code matches {[local::at0002]} – ++
}
}
}
DV_ORDINAL [at0006] matches {
value matches {|2|}
symbol matches {
DV_CODED_TEXT matches {
defining_code matches {[local::at0003]} – +++
}
}
}
}
clinical_ordinal_attr_1 matches {
0|[local::at0001], – +
1|[local::at0002], – ++
2|[local::at0003]; – +++
0 – assumed value
}
}

The red part above is how you have to constrain an ORDINAL with standard ADL, while the blue part is how you do it with a C_DV_ORDINAL and its special syntax, defined in the openEHR Archteype Profile. It’s an unavoidable consequence of the logic of constraint that when you want to constrain 2 covarying attributes (in this case, DV_ORDINAL.value and DV_ORDINAL.symbol), you can’t do it efficiently using standard ADL/AOM. Therefore we added the capability to do this with a plug-in type. DV_ORDINALs are ubiquitous in medicine, so it seems worthwhile. Similar arguments go for the C_DV_QUANTITY and C_CODE_PHRASE plug-in types.

The LinkEHR tool follows the EN13606-2 specification, which did not include these plug-in types, so it can only use standard ADL constructs to express the constraints.

Looking ahead, there are probably two solutions:

  • we stick with the openEHR approach of plug-in types and syntax extensions (at least we know this works);
  • or we invent a new ‘standard ADL’ construct that allows covariance to be better expressed.

If we went for the latter, it might look something like:

DV_ORDINAL [at0006] matches {
{value | symbol/defining_code} matches {
0 | [local::at0001],
1 | [local::at0001],
2 | [local::at0001];
0
}
}

(I used ‘|’ instead of ‘,’ since ‘,’ is already being used as the list item separator). If this existed, it is effectively telling the parser to build something like C_DV_ORDINAL on the fly. Of course, it would work for other types too. I am not sure that it is very intuitive though.

Another possibility might be (to try to stick with the more normal comma delimiter everywhere, and more ‘set logic’ feel):

DV_ORDINAL [at0006] matches {
{value, symbol/defining_code} matches {
{0, [local::at0001]},
{1, [local::at0001]},
{2, [local::at0001]};
0
}
}

Either way, the corresponding AOM construct would be somewhat complicated. It might be worth the extra complexity to obtain the generality, but it will certainly entail some additional complexity in parsers, validators and serialisers.

For DV_QUANTITYs, the argument is the same, except there is no special syntax, we just use a straight object-serialisation of the plug-in construct in dADL. Here are the two ways of doing a DV_QUANTITY, from the DV_QUANTITY test archetype:

		standard_quantity_attr matches {
			DV_QUANTITY [at0001] matches {
				-- property matches {"temperature"}
				units matches {"C"}
				magnitude matches {|>=4.0|}
			}
			DV_QUANTITY [at0002] matches {
				-- property matches {"temperature"}
				units matches {"F"}
				magnitude matches {|>=40.0|}
			}
		}
		clinical_quantity_attr_1 matches {
			(C_DV_QUANTITY) <
				assumed_value = <
					units = <"C">
					precision = <0>
					magnitude = <8.0>
				>
				property = <[openehr::127]>
				list = <
					["1"] = <
<b>						units = <"C">
						magnitude = <|>=4.0|></b>
					>
					["2"] = <
<b>						units = <"F">
						magnitude = <|>=40.0|></b>
					>
				>
			>
		}

You can see the covarying attributes in bold in the blue part. In the red part, there is no way at all to constrain ‘property’, because it is not in the reference model, and constraining assumed value is difficult as well.

  • thomas

Dear Bert,

I’ll try to answer your questions about LinkEHR and the decision we took when the editor was developed. All these decisions are based on ADL & AOM 1.4 specifications, that are the ones implemented in both LinkEHR and the Ocean archetype editor.

Your first question is about dealing with Domain Types. LinkEHR Editor is a multireference model editor. That means that you can edit archetypes for any reference model you import to it: openEHR, ISO EN 13606, HL7 CDA, CDISC ODM, ASTM CCR, MML… From that perspective, we originally did not incorporate specific features for just one standard. With regard to Domain types, they are extensions to the standard ADL to facilitate defining constraints over a few data types. At the 1.4 specifications they are in fact introduced in a section called “Customising ADL”. In the case of openEHR, it incorporates domain types for DV_ORDINAL, DV_QUANTITY and CODE_PHRASE.

it should be noted that although the openEHR data type names are used here (something had to be used), the problem and (I would argue) the solution is the same for any reference model that has types to represent ordinals, quantities and codes. But - see my other mail on potential alternative approaches.

When a domain type is found in LinkEHR, it cannot be edited at the graphical editor but you can either go to ADL to modify it or right-click at the node and select “Expand Domain Type”. This option will automatically convert the Domain Type into its canonical form that can be edited in LinkEHR.

you can see from my other post how ineffecient the canonical forms are - that was the reason for the more efficient types in the first place.

In any case, we have recently implemented the specific support for editing openEHR domain types at LinkEHR, but it has not yet included at the published version.
On the other hand, should the Ocean archetype editor be able to edit the canonical or standard form of those data types? In my opinion, clearly yes, since it is pure ADL, but currently I think it is not supported there.

Now, your second question is about using node identifiers at the data types level, and by extension, being able to add node descriptions to them. Node_ids are used to identify nodes at the archetype definition tree and also to add term definitions and term binding to them. In LinkEHR, every node that is added has its own node_id.

From the ADL specs: “Node identifiers are required for any object node which is intended to be addressable elsewhere in the cADL text, or in the runtime system and which would otherwise be ambiguous i.e. has sibling nodes.”

Our interpretation is that they are required in case of sibling nodes, but it is not prohibited to use them at any other case. In other words, it is not strictly necessary, but is is not incorrect either. Any ADL parser should accept those node_id even if they afterwards ignore them for any reason.

yes, this is correct. I think the Archetype Editor probably doesn’t do this properly at all levels. The only exception to the ‘sibling nodes’ rule is if the sibling constraints are of different RM types, e.g. DV_TEXT and DV_CODED_TEXT. The current text of the 1.5 draft reads:

Summary of Object Node Identification RulesAs indicated in the section Node Identifiers on page 47, node identifiers are needed on some object nodes in order to disambiguate them from sibling nodes. This enables the construction of paths to any node in the cADL structure, and also allows specialised versions of nodes to be defined in specialised archetypes (see section 10 on page 100).

ADL takes a minimalist approach and does not require node identifiers where sibling object nodes can be otherwise distinguished. Node identifiers are mandatory in the following cases:

  • for an attribute defined as multiply-valued in the underlying information model (i.e. a container type such as a List, Set etc), all immediate child object nodes. This applies even if a particular archetype only specifies one child object of the attribute;
  • for single-valued attributes with more than one child, all immediate child object nodes that are of the same reference model type, i.e. of the form of the example shown in section 5.3.2;
  • with the exception of use_node constraints where the node identifier can be inferred from that of the target node.
    In all other cases node identifiers are optional.

[It is arguable that the 2nd bullet point may need to become mandatory regardless of RM type, because of the need to be able to match redefined nodes in specialised archetypes that further change the RM type…]

In fact, there is a mismatch between this definition for node_ids and the attribute “node_id” at the C_OBJECT class of the AOM, where it is defined as a mandatory attribute. Something about this topic was already discussed in the mailing list back in July 2008, but there were no conclusions, I think:
http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/2008-July/003948.html

In the current draft, it states that the node_id attribute must be ‘unknown’ if it is not a proper code. I currently think this is problematic, and it would be better simply to require it to be a non-void string, which can be empty if there is no identifier.

  • thomas

Thanks, David for your answer.

Excuse me my bit confusing email from yestrday, I was in a hurry preparing a meal for guests, and at the same time working.

This not about bugs but mostly about features as designed

Although there are formal reasons for the current status of the archetype-editors, is the situation not very satisfying for customers/users, and does not help to get customers to choose for the OpenEHR architecture.
Silently losing parts of archetypes, having to work with text-editors, unpredictable behaviour.

  • The LinkEHR-editor does not accept OCEAN-editor constructs as C_DV_QUANTITY, and thus, does not allow multiple constraints on a DV_QUANTITY
  • The Ocean-editor silently removes the DV_QUANTITY construct created by the LINKEHR-editor, and asks the the user to save the changes. If the user has made some changes and wants to change them, and he is unaware of the problem, he removes without knowing his DV_QUANTITY constructs, which are legal constructs.
  • The OCEAN editor silently removes the NodeID on DataValues which are always created by the LinkEHR editor.
  • The LinkEHR editor silently adds NodeID’s on DataValues as the archetype does not have them.

The problem with the NodeId on ELEMENT-values is more serious than it appears, because software can use the path to the ELEMENT-value instead of the path to the ELEMENT itself.
After opening and saving the archetype in the OCEAN-editor, the node-id’s are gone, and this can render software to become useless, because the paths the software used are not anymore visible.
The recreating of the NodeID’s is not a solution because there is no guarantee the node’s will get the same at-codes.

  • The LinkEHR creates per default the line: terminologies_available = <…> which is not accepted by the Ocean-Editor
  • The OCEAN editor still not is able to create Demographic archetypes, the LINKEHR editor does.

Solutions could be:

  • Let the LinkEHR editor accept C_DV_QUANTITY and C_DV_ORDINAL as the Ocean editor does
  • Let the Ocean editor accept DV_QUANTITY constructs.
  • Never change archetypes silently!!!
  • Make the creation of NodeID’s on datavalues in the LinkEHR editor optional (configurable and put it default off, as it is only for transition-purpose which isn’t possible in the free version)
  • Agree on the “terminologies_available = <…>”-line so this does not give stupid error-messages
  • Add Demographic archetypes to the Ocean-editor

Also, there is a bugs, which is not mentioned above.

A warning comes up, that the archetype_id does dif from the filename.
The LinkEHR editor offers three choices:

  • Save (ignore warning)
  • change the ID to the filename
  • change the file name to the id
    The first two options do the same, this is unexpected and is a bug.

regards
Bert Verhees

Sorry Thomas, this email cross-mailed your replies.

I wasn’t looking for new emails while writing this one.

Bert

Op 24-6-2012 14:21, Bert Verhees schreef:

I understand the problem that is solved with the plugin types. But I must admit, it took quite some while.

You write that the LinkEHR cannot use the plugin types because it follows the EN13606-2 specification, but that seems to me as a formal reason. I wonder why this does not change to comfort the people using the tool, and thus creating a possible market.

Bert

Op 24-6-2012 12:19, Thomas Beale schreef:

I would say there is no real ‘market’ for tools these days; everyone expects these kinds of tools for free.

Additionally, the ADL Workbench will provide editing in the near future in ADL 1.4 / 1.5, based on any RM.

  • thomas

Thanks, David for your answer.

Excuse me my bit confusing email from yestrday, I was in a hurry preparing a meal for guests, and at the same time working.

This not about bugs but mostly about features as designed

Although there are formal reasons for the current status of the archetype-editors, is the situation not very satisfying for customers/users, and does not help to get customers to choose for the OpenEHR architecture.
Silently losing parts of archetypes, having to work with text-editors, unpredictable behaviour.

  • The LinkEHR-editor does not accept OCEAN-editor constructs as C_DV_QUANTITY, and thus, does not allow multiple constraints on a DV_QUANTITY
  • The Ocean-editor silently removes the DV_QUANTITY construct created by the LINKEHR-editor, and asks the the user to save the changes. If the user has made some changes and wants to change them, and he is unaware of the problem, he removes without knowing his DV_QUANTITY constructs, which are legal constructs.
  • The OCEAN editor silently removes the NodeID on DataValues which are always created by the LinkEHR editor.
  • The LinkEHR editor silently adds NodeID’s on DataValues as the archetype does not have them.

The problem with the NodeId on ELEMENT-values is more serious than it appears, because software can use the path to the ELEMENT-value instead of the path to the ELEMENT itself.
After opening and saving the archetype in the OCEAN-editor, the node-id’s are gone, and this can render software to become useless, because the paths the software used are not anymore visible.
The recreating of the NodeID’s is not a solution because there is no guarantee the node’s will get the same at-codes.

Normally, there is only 1 child of an ELEMENT, and an ELEMENT always has a node_id (due to the rule for multiple-valued attributes, i.e. CLUSTER.items); that means in these cases, the path for the ELEMENT and the path to the data value it contains are distinct, as you can see here:

In the rare cases where there are multiple alternatives for ELEMENT.value, the node_id might not be there, according to the current rules in the ADL 1.5 draft, if the RM types are different. This probably will lead to ambiguity, so I think the current rules have to be tightened to force all single-attribute children to have node ids in all cases.

With that change, the rules still allow for no node_id where it is not needed to disambiguate sibling nodes in archetypes, which is very frequently (nearly all ELEMENT.value) cases, and quite a few other attributes as well. The idea is to avoid having to create junk node ids and unnecessarily long paths.

  • The LinkEHR creates per default the line: terminologies_available = <…> which is not accepted by the Ocean-Editor

All tools should silently ignore this line in the future, and when serialising, not generate it, unless in a strict 1.4 mode.

  • The OCEAN editor still not is able to create Demographic archetypes, the LINKEHR editor does.

we will be able to do that with the ADL Workbench soon.

Solutions could be:

  • Let the LinkEHR editor accept C_DV_QUANTITY and C_DV_ORDINAL as the Ocean editor does
  • Let the Ocean editor accept DV_QUANTITY constructs.

it certainly should do that…

  • Never change archetypes silently!!!

I agree that this behaviour is not preferable…

  • Make the creation of NodeID’s on datavalues in the LinkEHR editor optional (configurable and put it default off, as it is only for transition-purpose which isn’t possible in the free version)

Right; we should make all tools obey the new rules, i.e. if there are sibling nodes, then you need node ids, otherwise they are optional.

  • thomas

A free market is also a market, it serves a future vision to sell the OpenEHR-architecture, which is much harder if there is no adequate tooling.
A platform like OpenEHR cannot live with only one vendor. So every vendor has advantage to create public available tooling.

Compare it with free Java, MySQL or free OpenOffice, Sun made money with it, and now Oracle, IBM make money with it, and many other service-vendors.
There is a money-making vision behind it.

I think therefore, that there must be a well maintained archetype-editor, best is Open Source, so others can easier port it to different platforms and don't need to reinvent the wheel.

I would write it as a Eclipse-application if I would have time to do it. There is a lot of useful sourcecode available, the LiU archetype-editor, the OCEAN archetype-editor (for code-concepts) and the java-libraries from Rong.

But I am too busy to really finish such a job. I, on my own, am a too small company. :wink:
It would better be a university-job.

Maybe later this year I do it as something to do for an hour a day beside my work for living.

Bert

Thanks for agreeing so much, the future looks great :wink:

Bert

well I think it will be best done as a proper openEHR team project, probably in Eclipse / EMF / Ecore. The intention with the ADL Workbench, once it is done, is to not only provide a working tool in the interim, but to provide a set of requirements for such a project. I think with all the skills available in this community, it will be very doable, it just requires some organisation.

  • thomas

Dear Bert,

See in-line comments

2012/6/24 Bert Verhees <bert.verhees@rosa.nl>

  • The LinkEHR-editor does not accept OCEAN-editor constructs as C_DV_QUANTITY, and thus, does not allow multiple constraints on a DV_QUANTITY

As I explained before, LinkEHR does accept those constructs. The only limitation is that you cannot edit them graphically (but you can do it in ADL view) or transform them to standard structures.

Imágenes integradas 1

  • The LinkEHR editor silently adds NodeID’s on DataValues as the archetype does not have them.

I agree that the tool should not add those node_Ids if they did not exist. We will take a look to this.

  • The LinkEHR creates per default the line: terminologies_available = <…> which is not accepted by the Ocean-Editor

This is part of the ADL 1.4 (and 1.5) specifications: http://www.openehr.org/releases/1.0.2/architecture/am/adl.pdf

8.6.2 Ontology Header Statements
The terminologies_available statement includes the identifiers of all terminologies for which term_bindings sections have been written.

Maybe what it is not clear at the specs is if that line have to be added if no terminologies have been defined or only when you have at least one. That line can be removed very easily in that case.

A warning comes up, that the archetype_id does dif from the filename.
The LinkEHR editor offers three choices:

  • Save (ignore warning)
  • change the ID to the filename
  • change the file name to the id
    The first two options do the same, this is unexpected and is a bug.

As I said in another mail, this can probably be removed since it is not really necessary.

Thank you for all your comments Bert. It can seem obvious, but it is difficult to improve tools if we do not receive comments about them.

Regards,
David

That is right, a good idea.

Maybe Eclipse RCP.
http://www.eclipse.org/articles/Article-EMF-goes-RCP/rcp.html

Designing the architecture,
Designing GUI's
Building the overall framework for modules to fit in
People working in modules

It is possible to build a complete OpenEHR environment in Eclipse. It is one of my secret dreams.
Template-editor-view, AQL-view, archetype-editor-view, database-connection-view, SNOMED-view, all in Eclipse Perspectives, automatically multi-platform.

Every view consisting of more modules, assigning those modules to volunteers, and everyone building it on its own tempo and time available.

And now the next step.

Who will be pulling the wagon (like we say in dutch)

Bert

  • The LinkEHR-editor does not accept OCEAN-editor constructs as C_DV_QUANTITY, and thus, does not allow multiple constraints on a DV_QUANTITY

As I explained before, LinkEHR does accept those constructs. The only limitation is that you cannot edit them graphically (but you can do it in ADL view) or transform them to standard structures.

Hi David, is it possible that the Expand Domain Type is only in the paid version? I don’t have it in my free version. But maybe I am wrong, but I cannot check it now. I am in the wrong room/wrong computer. I will check it later.

  • The LinkEHR editor silently adds NodeID’s on DataValues as the archetype does not have them.

I agree that the tool should not add those node_Ids if they did not exist. We will take a look to this.

Good thing to change.

  • The LinkEHR creates per default the line: terminologies_available = <…> which is not accepted by the Ocean-Editor

This is part of the ADL 1.4 (and 1.5) specifications: http://www.openehr.org/releases/1.0.2/architecture/am/adl.pdf

8.6.2 Ontology Header Statements
The terminologies_available statement includes the identifiers of all terminologies for which term_bindings sections have been written.

Maybe what it is not clear at the specs is if that line have to be added if no terminologies have been defined or only when you have at least one. That line can be removed very easily in that case.

The problem, I already said, I was not sure if it was to blame to the OCEAN or the LinkEHR editor. The problem is that the Ocean editor gives a vague error message pointing to line-number later.
The problem is, if you remove it, every time you save the archetype it is added again.

It should not be the purpose of arcehtype-editors to rework archetypes in text-editors. I can do that, I have seen enough archetypes. But I know many people who can’t, but they also have to do it.

thanks
Bert

Hi Bert,

2012/6/25 Bert Verhees <bert.verhees@rosa.nl>

Hi David, is it possible that the Expand Domain Type is only in the paid version? I don’t have it in my free version. But maybe I am wrong, but I cannot check it now. I am in the wrong room/wrong computer. I will check it later.

It should be available at the free version of the webpage. Although I see that it is bit old one and we should update it :slight_smile:

  • The LinkEHR creates per default the line: terminologies_available = <…> which is not accepted by the Ocean-Editor

This is part of the ADL 1.4 (and 1.5) specifications: http://www.openehr.org/releases/1.0.2/architecture/am/adl.pdf

8.6.2 Ontology Header Statements
The terminologies_available statement includes the identifiers of all terminologies for which term_bindings sections have been written.

Maybe what it is not clear at the specs is if that line have to be added if no terminologies have been defined or only when you have at least one. That line can be removed very easily in that case.

The problem, I already said, I was not sure if it was to blame to the OCEAN or the LinkEHR editor. The problem is that the Ocean editor gives a vague error message pointing to line-number later.
The problem is, if you remove it, every time you save the archetype it is added again.

It should not be the purpose of arcehtype-editors to rework archetypes in text-editors. I can do that, I have seen enough archetypes. But I know many people who can’t, but they also have to do it.

Yes, I meant to avoid generating that line when it is not needed, not removing it by hand.

David

Hi David, I will check it, thanks Bert