OHDSI Home | Forums | Wiki | Github

Mappings from NPU codes to standard vocabulary?

HI guys,

We’re building an OMOP CDM with drug administrations (ATC), diagnoses and procedures (Danish ICD10 dialect) and biochemical measurements (NPU). I was wondering if NPU codes have been mapped to an OMOP standard vocabulary already. From what I can see in Athena, no such mapping scheme exists. If this is correct, we’ll make our own mappings, but I just wanted to ask the community first to avoid duplicative work.


Hi @benskov
There’s no NPU in OHDSI Vocabularies.

Do you want to contribute and share the mappings and some high level explanations how the source vocabulary (NPU) is organized?
It has some advantages:

  • people might look and check whether you did them right
  • we include them into official Athena package, so it would be easier to maintain.

BTW, why are you using ATC for drug administration?
ATC are non-standard concepts, so according to CDM rules, you can’t use them.
Please let me know if you are interested in improving this.

Hi @Dymshyts,

Thanks for your swift reply. Unfortunately, you confirmed my suspicion — but I believe we’d be happy to share the mappings once done. At least, they’d be helpful for other Danish datasets that need OMOPing.

ATC is the source vocabulary for our drug data. I meant to mention the source vocabularies, so of course we’ll map them to the standard vocabularies. The Danish dialect of ICD-10 has some quirks that we also must work out, but it’s a minor thing and idiosyncratic to Danish data.


Just as a remainder, Danish ICD10 can be added to vocabularies so that additional codes are stored in the system with proper concept_ids and relationships. The same was done, for example, for Korean version(Adding KCD7 code (Korean ICD-10 ) to the OMOP vocabulary). The only thing is that a good translation of Danish ICD10 is needed.

Also, although we’re building a system to reliably connect ATC to RxNorm, it’s highly suggested to convert the source drug vocabulary (which as far as I’m concerned you have) and map it to RxNorm/RxE. In this way, you’ll be able to capture much more granular information about drug exposures.

Great. This would be useful. When we get to it, I’ll raise my hand to understand the practicalities of that.

Regarding ATC->RxNorm/RxE, I’m not sure I follow. Our data dump with prescriptions and administrations uses ATC to encode ingredients. We also have free-text descriptions with brand names and other stuff; this is not of immediate use for us at the moment, so we’d probably defer mapping these components for now. Strengths are given as (fairly) structured data with units, and that we will definitely map. Does this make sense?


Totally does. So, if you want all this additional info, you need to map your source prescription/administration records with ingredients, doses, forms etc to a standard vocabulary (which is RxNorm or RxNorm Extension). ATC will only give you the ingredients.

It is interesting to see NPU used for lab. Can you share how many distinct codes the data has (the granularity of it) (are we talking 300 codes or 30 000 codes). Also, are units implied by (subsumed within) the NPU code?

Sorry for the belated reply, @Vojtech_Huser. My server access was in need to renewal, so had to wait for that to go through. We have some 2,300 NPU codes, and maybe 1,000 other biochemical values with non-NPU codes.

Units are implied, and so is the system (plasma, full blood, spinal fluid, etc.). See http://www.npu-terminology.org/npu-database/. It’s stored as free text, but due to the standardised format, I suppose it shouldn’t be too hard to parse.

Ha! @benskov! By definition you don’t have an OMOP CDM. Because the coding schemes are not compliant, and queries developed elsewhere will not run on your instance. Sorry to be the OMOP policeman here (a role that for some reason falls on me all the time. :slight_smile: ).

Let’s get your vocabularies brought in. The OHDSI vocabulary group can help you with that:

  • The Danish ICD10 has to be mapped to Standard Concepts (mostly SNOMED, and since we have the generic ICD10 this should be simple, @Dymshyts talked about that
  • The ATC has to be turned into RxNorm (we are about to publish the mapping records in the CONCEPT_RELATIONSHIP table, @aostropolets talked about that)
  • The NPU has to be mapped to Standard Concepts (probably LOINC), @Vojtech_Huser mentioned that.

Can you share the Danish ICD10 and the NPU?

I see the bad cop is here again! :slight_smile: ATC, Danish ICD10 and NPU are the source vocabularies here, mapped to the standard RxNorm, SNOMED and LOINC whenever possible. Would be good to have NPU and ICD10 D as official sources though.

Exactly. I suppose if the first “with” had been a “from”, things had been clearer, to underline that we’re building a CDM with data from those three source vocabularies.

@Christian_Reich: No apologies for policing. I appreciate that rules and terminologies are enforced and upheld. Further,

  • The Danish ICD10 is part of a larger Danish classification system (SKS) for basically anything that happens at hospitals, with a freely available browser (http://medinfo.dk/sks/brows.php?s_nod=6165 [in Danish]), and one can request a full dump; it’s the property of the Danish Health Data Agency, so I suppose there might be some licensing quirks to work out.
  • The NPU is available here: http://www.npu-terminology.org/npu-database/. Again, I’m not familiar with licensing.
  • Sounds great with the imminent ATC-RxNorm mappings!

Oh. You kept it a secret. :slight_smile: Will put it on the list, now.

Dear everyone, do anyone know if there has been any updates regarding the mapping of NPU codes?

Hi @awrosen , NPU has not been taken in consideration to be adopted as OMOP standardized vocabulary within the last year. I understand to this time, it is only used in the Danish projects? I haven’t come across it in other places. Have you been proceeding locally with NPU mapping?
Cheers - Mik

1 Like

I am aware that last reply/communication was 2 years ago. Meanwhile, I do not find any newer information on NPU code-mapping.
Has anything happend in the area of mapping NPU codes to LOINC or Snomed recently?

At leat all Scandinaivian countries (Denmark, Sweden and Norway) use NPU codes.

Hi @piaska - If I am not mistaken, NPU was actually mapped locally in the Danish project (at least to some extent). Reach out to @awrosen to learn more about it.