FHIR Chat · Modeling multiplex assay results · Covid-19 Response

Stream: Covid-19 Response

Topic: Modeling multiplex assay results


view this post on Zulip Josh Mandel (Aug 26 2020 at 15:55):

https://www.cdc.gov/coronavirus/2019-ncov/lab/testing.html from CDC highlights a multiplex assay that tests for SARS-CoV-2, Influenza A, and Influenza B. I haven't seen guidance on how to report the potentially 1..* coded results. For example, to say "we detected Influenza A and also SARS-CoV-2", I can imagine a few ways:

1) A single DiagnosticReport with one Observation; both resources coded as 95423-0, and the Observation has a single valueCodeableConcept with multiple codings (one LA11919-0 for Influenza A, and one LA31065-8 for SARS-CoV-2).
2) A single DiagnosticReport with two Observations -- all resources coded as 95423-0, and each Observation containing a single valueCodeableConcept (one LA11919-0 for Influenza A, and one LA31065-8 for SARS-CoV-2).
3) A single DiagnosticReport with one Observation both resources coded as 95423-0, and the Observation has two components -- but while the component values would be the LA31065-8 and LA11919-0, I'm not sure how I'd populate the component codes).

To me #1 makes the most sense, because (compared with #3) I know how to write it down, and (compared with #2) it never puts an interpreting party in the position of seeing an Observation with incomplete results. But it seems to overload the intention behind multiple codings in Observation.valueCodeableConcept.coding[]. If there are other considerations, or if best practices have been developed already I'd love to learn more.

(@Preston Lee @Nathan Davis I know you've been involved in some profiling work with Logica. I don't see any profiles for this, but figured I'd check in case there's work in progress.)

view this post on Zulip Josh Mandel (Aug 26 2020 at 16:28):

@Lloyd McKenzie I suspect you might have an opinion on this too.

view this post on Zulip Lloyd McKenzie (Aug 26 2020 at 17:13):

Approach 1 would be incorrect - multiple codings on a CodeableConcept are expected to be different expressions of the same concept.

  1. would also not be very appropriate because components are intended for information that is expected to always be looked at together and is generally not independently interpretted.

#2 - 2 Observations is the most appropriate. Each finding stands on its own and is useful and reasonable to want to be returned independently when searching.

view this post on Zulip Nathan Davis (Aug 26 2020 at 17:24):

IMO this is poorly modeled by LOINC. It should be a panel with individual tests for the three. Because of this, I haven't yet profiled this for Logica. That being said, I don't like option 1. The idea behind having 0..* in CodeableConcept.coding (at least to my understanding) is to be able to supply different codes from different systems that mean the same thing, not as a means of having multiple different results. That could lead to confusion for CDS. I think option 2 is better.

view this post on Zulip Josh Mandel (Aug 26 2020 at 17:33):

Thanks for the quick feedback. The challenge with (2) for me is seeing an Observation that tells you an assay was done... and the results listed in the resources are incomplete. In isolation, how/why would you know it was incomplete? Agreed the modeling in LOINC here is problematic.

For the time being, I guess I'll just steer my examples toward negative results, or use a different assay ;-)

view this post on Zulip Josh Mandel (Aug 26 2020 at 17:34):

@Nathan Davis are you or is someone in Logica bringing this feedback to the LOINC team?

view this post on Zulip Nathan Davis (Aug 26 2020 at 19:12):

@Josh Mandel Yes, I've talked with Swapna Abhyankar about this specific test. She stated that in general they prefer to not create codes like this.
This code and a few others like it were created for public health reporting purposes. I've also talked with several other individuals about this (Stan Huff, Susan Matney, LIS folks from Intermountain Healthcare) and they all agree that if there is more than one result, i.e. Influenza A positive and SARS CoV 2 positive, that each result should have it's own observation. So, your option 2 would be the best option. Hope this helps.

view this post on Zulip Josh Mandel (Aug 26 2020 at 19:23):

all agree that if there is more than one result

Just to be clear, this means if there's >1 positive result? And for a negative result, there'd only be one Observation?

view this post on Zulip Josh Mandel (Aug 26 2020 at 19:24):

And if I wanted to say "positive for influenza A, negative for influenza B," I'd just have one observation saying "positive for influenza A", and the other conclusion ("negative for influenza B") would be implied?

view this post on Zulip Vassil Peytchev (Aug 26 2020 at 19:27):

No, you need to have the negative result...

view this post on Zulip Josh Mandel (Aug 26 2020 at 19:27):

But @Vassil Peytchev, then how do you say "negative for influenza B?"

view this post on Zulip Josh Mandel (Aug 26 2020 at 19:27):

I'm not sure how you'd code that up in an Observation, given the current LOINC definitions at http://loinc.org/95423-0

view this post on Zulip Josh Mandel (Aug 26 2020 at 19:29):

I only know how to write an Observation with:

  • code: 95423-0 (assay for all three pathogens)
  • valueCodeableConcept: LA11883-8 (Not detected)

view this post on Zulip Eric Haas (Aug 26 2020 at 21:32):

@Riki Merrick ?

view this post on Zulip Nathan Davis (Aug 27 2020 at 14:08):

@Josh Mandel If the results are "Positive for Influenza A, Negative for Influenza B, and Negative for SARS CoV 2" you'd have three observations for each result.

view this post on Zulip Nathan Davis (Aug 27 2020 at 14:13):

Specifically, DiagnosticReport would have 3 instances of DiagnosticReport.result(Observation). Each coded as 95423-0.

view this post on Zulip Vassil Peytchev (Aug 27 2020 at 14:53):

Why does each observation have to be coded as 95423-0? If the observation is about Influenza A, the code should reflect that, and the value should reflect "negative" or "positive". Are there no codes that allow for that?

view this post on Zulip Josh Mandel (Aug 27 2020 at 16:04):

(deleted)

view this post on Zulip Josh Mandel (Aug 27 2020 at 16:04):

@Nathan Davis I'm not sure if I follow this suggestion. You are saying nothing in the third observation would indicate that the negative applied to SARS-CoV-2, and you would just figure this out by process of elimination? Because the only negative code I see is LA11883-8 -- a general purpose "not detected", rather than a code for "SARS-CoV-2 not detected".

view this post on Zulip Josh Mandel (Aug 27 2020 at 16:10):

If you give me an Observation with "question [code]: was there any influenza A or B or SARS-CoV-2 detected?" and "answer [value]: not detected" this had better indicate that none of the above was detected. If you want to say something more specific you need more specific question codes and/or more specific answer codes.

view this post on Zulip Nathan Davis (Aug 27 2020 at 16:24):

@Vassil Peytchev I agree that it would be better to use the specific codes for each virus with the values of Positive, Negative, detected, not-detected, etc. I'm just suggesting how to handle multiple results for LOINC code 95423-0. This code was requested of LOINC by the CDC and is a mulitplex assay. I don't like it. Too much confusion with multiple results on a single assay. IMO it shouldn't be an orderable lab assay.

view this post on Zulip Nathan Davis (Aug 27 2020 at 16:29):

@Josh Mandel I wouldn't use the suggested LOINC answers. I would expressly instantiate a result for each virus as either "Flu A positive/negative, Flu B pos/neg, or SARS CoV 2 pos/neg". If none of them were detected I would have a single observation with a result of "not detected". There's an obvious inference that the result applies to all three viruses.

view this post on Zulip Nathan Davis (Aug 27 2020 at 16:37):

I think the confusion is due to the fact that we have a code that is serving two purposes. The first is to be an orderable lab test the second as a question on a public health report form. If this is ordered as a lab test, the lab would have to perform three tests. Why not just make it a lab panel? As a form question its very pre-coordinated. Which is okay but it shouldn't be used to define a single lab test. I think there should be two separate codes. I'm currently having this discussion with Swapna at Regenstrief but since this involves the CDC I'm not sure what will happen. I'll post updates of our conversation here as I get them.

view this post on Zulip Josh Mandel (Aug 27 2020 at 17:08):

Great! It sounds like the valueset listed in LOINC should just be ignored for now? If so, would be best to redact it until ready.

view this post on Zulip Nathan Davis (Aug 28 2020 at 14:02):

I wouldn't ignore them per se but rather use them as suggestions that help me find the correct SNOMED terms. Which is what I'll be doing for the Logica COVID 19 IG profiles for this and other LOINCs like it.

view this post on Zulip Josh Mandel (Aug 28 2020 at 14:24):

BTW for Logica profiles, is there a recommendation on how to capture information about the particular test kit used (the equivalent of what the CDC spreadsheets describe as a test kit ID, listing manufacturer and product)? I would have expected to maybe put a description in the Observation.method, but this is not described and indeed it appears to be actively prohibited in the base profile. Has this come up in discussion?

view this post on Zulip Swapna Abhyankar (Aug 31 2020 at 21:18):

Hi everyone, trying to catch up.

I completely agree that LOINC 95423-0 is not ideal and that a panel is better so that each result can be reported separately. And in fact, that's why 95423-0 is part of a panel - 95422-2 Influenza virus A and B RNA and SARS-CoV-2 (COVID-19) N gene panel - Respiratory specimen by NAA with probe detection.

I hope this screenshot from our internal system comes through so that you can see the elements since the published pre-release details pages don't show the panel structure. Screen-Shot-2020-08-31-at-5.06.46-PM.png

Per Riki , labs must report either ALL the targets or the conclusion, and may report both. Public health labs that just report the conclusion have historically been allowed to use the same code as an order code. @Riki Merrick , feel free to chime in.

view this post on Zulip Josh Mandel (Aug 31 2020 at 21:23):

Thanks for the comments here. the screenshot is certainly much clearer than what is currently published on the loinc.org website. I want to make sure I understand the point about reporting conclusions -- are you saying that there is a way to report just conclusions for the multiplex assay in question here, and if so how will this be done?

view this post on Zulip Swapna Abhyankar (Aug 31 2020 at 23:54):

Public health labs use codes like 95423-0 to report the overall result ("conclusion"). I think some labs report a single string with multiple answers concatenated together (e.g., "Influenza A positive; Influenza B and SARS-CoV-2 negative") and other ones may report just the positive or negative if all are negative, but Riki would know for sure.

Another thing I want to point out is that the LOINC answer list is of type Example so the answers in the list don't have to be the ones that are used, and we recommend using SNOMED CT codes where allowed.

view this post on Zulip Andrea Pitkus, PhD, MLS(ASCP)CM, CSM (Jan 16 2021 at 04:31):

@Josh Mandel Just seeing this and responded on basic laboratory data modeling.
a flu and covid test would have an order (in FHIR as Service Request) serving as the order requisition from the provider per regulatory requirements. In this case since more than one result is reported as part of the order, it's a panel.

The order/panel has one or more results. In this case FluA is one result (normally mapped to a LOINC observation code and in v2.51 OBX 3) which is paired with a result value (Pos, Neg, indeterminant) which is normally mapped to SCT qualifier value codes (see LIVD COVID maps on CDC website as part of HHS reporting requirements or MU v2.51 ELR guide requirements). COVID would be a second result (mapped to a different COVID LOINC) paired with it's result value (detected, not detected, indeterminant) mapped to it's SCT code.

For some good examples of the structure on the results side and result values, see the COVID LIVD codes on the CDC website as part of the HHS reporting requirements (and ELR to public health) : https://www.cdc.gov/csels/dls/sars-cov-2-livd-codes.html

In addition the specimen type and source are required. Diagnostic Report to be CLIA complaint needs to performing lab, address, medical director, CLIA number etc. I think O&O settled on composition for all the results, result values, specimen info, etc. but work is still in progress to model this in O&O and have examples that meet all the CLIA requirements. Also O&O is not aware of any LIS that supports FHIR currently for daily lab or pathology reporting, fyi.

view this post on Zulip Andrea Pitkus, PhD, MLS(ASCP)CM, CSM (Jan 16 2021 at 04:36):

LOINC Answers are not supported in any LIS currently and the standard for result values is not LOINC Answers for lab tests, rather SCT qualifier values per MU, ELR by law, and now HHS reporting requirements for COVID. They are all aligned. There are likely other use cases where LOINC Answers are used for Vitals, surveys or non lab cases.


Last updated: Apr 12 2022 at 19:14 UTC