# TerminologyId.Name

**URL:** https://discourse.openehr.org/t/terminologyid-name/16719
**Category:** Technical (archive)
**Created:** [25 April 2012 08:47 UTC](https://discourse.openehr.org/t/terminologyid-name/16719 "2012-04-25T08:47:54Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Leykun\_Melkamu](https://discourse.openehr.org/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@Leykun\_Melkamu](https://discourse.openehr.org/u/Leykun_Melkamu)
#### Post date: [25 April 2012 08:47 UTC](https://discourse.openehr.org/t/terminologyid-name/16719/1 "2012-04-25T08:47:54Z")

</div>

Hi

I was trying to build compositions from xml files and when I try to Commit the composition I get the exception TerminologyId.Name must not be null or emtpy.

I think the problem is in the xml file corresponding to the action archetype but I don’t know where to set the value for that element. Can I get some information from you thanks for your help and time. I have attached the xml composition

Best regards ,  
Leykun

> **(attachments)**
>
> [xml.7z](https://discourse.openehr.org/404) (1.26 KB)

---

<div class="post-metadata">

### Author: ![Alessandro\_Torrisi](https://discourse.openehr.org/letter_avatar_proxy/v4/letter/a/8baadc/32.png) [@Alessandro\_Torrisi](https://discourse.openehr.org/u/Alessandro_Torrisi)
#### Post date: [25 April 2012 17:56 UTC](https://discourse.openehr.org/t/terminologyid-name/16719/2 "2012-04-25T17:56:09Z")

</div>

Leykun,

our software. What is the database software you are trying to Commmit to?

Alessandro

---

<div class="post-metadata">

### Author: ![Heath\_Frankel3](https://discourse.openehr.org/letter_avatar_proxy/v4/letter/h/e19b73/32.png) [@Heath\_Frankel3](https://discourse.openehr.org/u/Heath_Frankel3)
#### Post date: [26 April 2012 03:00 UTC](https://discourse.openehr.org/t/terminologyid-name/16719/3 "2012-04-26T03:00:36Z")

</div>

Hi Leykum,

Looking at your instance closely you will see that you have a “gastric interventions” ACTION with a ism\_transition current\_state as follows:

\<current\_state\>

Completed

\<defining\_code\>

\<terminology\_id\>

532

\</terminology\_id\>

\<code\_string\>openehr\</code\_string\>

\</defining\_code\>

\</current\_state\>

You will notice that your terminology\_id value is 532 and code\_string is openehr, which are transposed from what is expected. This occurs again in your Diagnosis value in Diagnosis EVALUATION, terminology\_id value is C180, code\_string is ICD10).

The Ocean RM validator, which is obviously being used here (I notice the invariant message style) is applying the RM invariants on the TEMINOLOGY\_ID class that state that the terminology ID must start with a letter and its internal RegEx pattern matching used to extract the terminology name from the terminology\_id value has failed to return a match, which results in a RM invariant check on the terminology name to fail.

Although the message is not quite right, having a tight invariant checker certainly helps in picking up invalid data even if it is not that obvious that it is wrong (some still slip through as will be the case in the diagnosis value unless you have a template constraint on the terminology value).

Regards

Heath
