This video demonstrates using local code systems in conjunction with other terminologies via value sets and mappings in Snow Owl.

This is the third video of a four-part series about local code systems. You can find the other videos of this series at

Once you’ve seen the video, you can find additional documentation at:



In the previous videos of this series we focused exclusively on the Local Code Systems themselves. However, you are probably interested in how these local codes can be used in conjunction with other terminologies. This is why I will talk today about using local codes in value sets and mappings sets.

A value set – and there’s an example of one here that I downloaded from the National Library of Medicine’s Value Set Authority Center called “Below Normal Follow up” – a value set is simply a collection of concepts as you can see here. It can contain members from a single terminology or like here, from multiple terminologies. We have for example ICD-10, ICD-9, SNOMED CT and so on.

Local codes can be members of value sets and for this reason I already created a value set here and added several SNOMED CT concepts and now I would like to add some local codes. There are different ways of doing this:

  1. The easiest is to simply grab a local code in the view and just drag it over into your value set. That works if you just want to pick them and then drag them over.
  2. You can also add a whole part of the hierarchy, a code and all the sub-codes. If you right-click it and then you use “Add concept and descendants to active value set” but since I already added these I don’t want to do this.
  3. A third option would be to use the search. I could look for example for Managers” and search. The search results are down here in the view and I click CMD+A (Mac) or CTRL+A (on Windows) to select all of the results and then you can just simply drag them into the value set.

Once you are done, you just save it, enter a comment, and now we’ve added local codes to the value set. If you want to open the editor for one of the members, you can do this just by double-clicking.

So this is the editor for the “Traditional Chinese medicine physician” code and you already know the overview tab and there’s a value domain membership tab, which shows if this local code is part of a value domain. You can see the name of the value domain here, you can see that the membership is active and that it  hasn’t been published yet. This button here will display inactive members and you can see that this is also a member of the “Language” value domain and that this membership is inactive.

So much about value sets now let’s move to mapping sets. This is the value set perspective and this is the mapping set perspective. Let’s click it and close these editors.

Mapping sets are organized here in this view. You can see that I have already two mapping sets in here. Let’s open the one called “Occupations”. You see it’s an empty sheet because in mapping sets you can use any terminology or classification system as a source, which would be in this part of the sheet or as a target which would be on the right side.

Today I will map local codes as a source and SNOMED CT concepts as a target. However, I could also map local codes to other standards for example to ATC or LOINC, even within the same mapping set. So there are no restrictions.

To start the mapping let’s drag a code, maybe “Building architect”, into the mapping set. You see that it’s on the left side now and it’s mapped as the source term.

Now we need to find a target. Let’s look for building architect. Here it is. I just move it over here, wait until it’s highlighted, and then I drop it. Let’s try another one, for example “Restaurant manager”: I just move it over and then I can look for the target, here’s a Restaurant manager, and again I just move it over, wait until it’s highlighted and drop and so on. You can also move several codes just like this and then map afterwards. If you want to remove a mapping, you just right-click it and go to “Remove selected mapping” or you can also use the Delete button on your keyboard to do this. Once you are done, just save the mapping set and here it is.

The mapping is also referenced on the tab. For example, if I open the local code editor for “Restaurant manager” and go to the Mappings tab I can see the mapping that I just did. I can see the name of mapping set, the referenced component, which is a local code, and the map target. I can see that this mapping is active, and that it’s not been published yet. If you curious to see what the map target or source is, you can just right-click it and then there’s the option to open the editor. I could open the mapping source editor, which would open the editor of the Restaurant manager, but we have this already open, so I won’t do this. But I can also open the editor of the target, which would be the editor of the SNOMED CT concept. We can see all the information about this concept here. If you’re curious about where it’s located within the hierarchy you can use “Reveal mapping target in navigator” or in the view as we call it, and open the navigator and then you can see where “Restaurant manager” sits. This works also for the source, which is here.

One last word about local codes that are referenced in a mapping set or in a value set. We have a kind of security mechanism that prevents you from deleting codes that are referenced somewhere. If I tried to delete “Restaurant manager” I could not do this until I removed all the references so you would have to delete the reference first in the mapping set or in the value set before you can actually delete this code.

That’s all I wanted to show for it today. In the next video I will demonstrate importing and exporting local code systems. Thank you very much for your attention.