FHIR Chat · Multiple ICD codes in a single coding block · implementers

Stream: implementers

Topic: Multiple ICD codes in a single coding block


view this post on Zulip Daniel Venton (Aug 02 2021 at 20:55):

According to https://www.hl7.org/fhir/icd.html you can have multiple codes in a single code attribute.

  <coding>
    <system value="http://hl7.org/fhir/sid/icd-10"/>
    <code value="J21.8 B95.6"/>
  </coding>

Many things bother me with that. How would exact (default) code search work? Should the server say "I found the code you want "B95.6" as a sub-component of the code attribute" (essentially a contains) OR should the user have to query for "J21.9 B95.6" to get this row? How are the dagger, bang and star handled (+!*)? How would the user know the sequence of the codes to query, especially when you get to 3+ codes?

How would the <display> attribute be formed for a multi-code code attribute?
How would a validator (which are typically, value in value set/value not in value set) comparators work?

view this post on Zulip Lloyd McKenzie (Aug 03 2021 at 02:20):

Coding.code is considered to be a single code. What you're seeing above is a single code which is a post-coordinated expression made up of multiple codes (just a slightly more obvious example of the UCUM code "mg" which is made up of the code "m" and "g". In order to do this, the code system in question must define a grammar and semantic interpretation for the code string. If there is no grammar defined by the code system, then it's not allowed. In the case of ICD, the convention is clearly documented in the specification and thus it's allowed. Expectations around the creation of a 'display' is also up to the code system, though in some cases, FHIR might choose to clarify if the code system does not. Any terminology server would have to have the post-coordination rules for the code system build in. Some servers might not support post-coordination even if the code system allows it.


Last updated: Apr 12 2022 at 19:14 UTC