o Olga
on

 

Hi Pinnacle Team,

Please help to clarify Pinnacle 21 error: SD0037/FDAC037 Value for LBSTRESC not found in (Laboratory Test Standard Character Result) user-defined codelist.

Numeric lab results are not part of Laboratory Test Standard Character Results codelist. In user-defined codelist, we left only alpha values as per SDTM terminology.

How do we avoid this error: do we need to include every possible numeric value in Codelist?
Or completely ignore CDISC requirement for LBSTRESC CT on Variable Level?

PhUSE US Connect 2018 paper suggested not to assign a codelist at the variable level in the define.xml, but instead use value level metadata to assign a codelist to only the applicable tests.
If this is the correct solution, please suggest if we are to assign VLM to LBSTRESC to only those LBTESTCD's that have alpha results or we are to repeat full assignment in VLM across all possible LBSTRESC including the numeric values just like for LBORRES?

Forums: Define.xml

Sergiy
on May 17, 2019

Hi Olga, 

Nobody creates a Codelist for LBSTRESC variable. Why do you need this?

There may be exceptions for some specific tests with categorical results instead of numeric. However, it's your decision if a Codelist for such lab test results would be helpful for users of your data?

Kind Regards, 

Sergiy

j Jozef
on May 17, 2019

I completely agree with Sergiy: adding a codelist to LBSTRESC is extremely unusual. Essentially, numeric values should almost never have a codelist associated, the only exception being when the data is ordinal (such as 1+, 2+, ...). Even then, only add the codelist at the valuelist level. An example could be that you have performed a lab test "glucose in urin by dipstick, ordinal" (LOINC code 25428-4). You could then attach a codelist with the values such as "1+", "2+" to a value-level ItemDef (variable) with the "WhereClause" being: "where LBLOINC=25428-4".

With best regards,

Jozef Aerts
XML4Pharma

o Olga
on May 17, 2019

Thank you for your prompt reply.
CT for LBSTRESC is CDISC requirement:  LBSTRESC Character Result/Finding in Std Format Char (LBSTRESC) (my apologies, it looks that I can't insert screen shot from IG here).
Image removed.

j Jozef
on May 17, 2019

Thanks Olga,
I know LBSTRESC very well, so no screenshot necessary ...
A codelist for LBSTRESC is only applicable on the value level when a) the value is not a quantity or concentration (a quantity is very very often the case for lab values), b) there is an enumeration of values (e.g. "POSITIVE", "NEGATIVE"), so essentially when there were checkboxes for it on the CRF.
Unfortunately, the SDTM-IG does not declare this well. There is surely no requirement that the LBSTRESC codelist must always be provided and is applicable to all lab tests. The way this is depicted in the IG (only in the table) is indeed confusing and far from accurate.
Also, when you look in the referenced codelist, it only contains the values "BORDERLINE", "INDETERMINATE", "INVALID", "NEGATIVE", "POSITIVE". It can never be that when a lab value is  "5 mg/dL", the "standardized" value is one of these five isn't it?

I will also do a search in the LinkedIn "SDTM Experts" discussion group. I cannot imagine that you are the first encountering this issue.
If I find something more, I will let you know,

Jozef Aerts
XML4Pharma

o Olga
on May 17, 2019

Thank you Both, again.

In conclusion: Even though SDTM IG requires CT for a few LBSTRESC values, such as POSITIVE or NEGATIVE (common results for urine drug screen or pregnancy tests), no need to add Variable Level codelist just for those alpha values, because rest of the results are numeric and can't be under codelist.
Please share your thoughts after discussion with SDTM Experts.

j Jozef
on May 18, 2019

Well, I am an SDTM expert ... ;-)
It's one of the very many inaccurcies of the SDTMIG. I am already fighting for a number of years for having the IGs published in a machine-readable form, with for each "requirement", a clearly defined "pre-condition", the requirement itself and a post condition and effect. That would minimize the "wiggle room" for differences in interpretation.
Please also submit your question to LinkedIn "SDTM experts" at https://www.linkedin.com/groups/2758697/

With best regards,

Jozef Aerts
XML4Pharma
(and SDTM expert ...)

s Serhii
on March 6, 2020

Hi all,

Jozef, you are completely right in case when different types of results belong to different lab tests. But I have faced with another case related to this topic. There is the situation when the same lab test has different results' types for different categories/lab panels.

For example, 
1. LBCAT=CHEMISTRY and LBTESTCD=BILI and LBSTRESC=1.2
2. LBCAT=URINALYSIS and LBTESTCD=BILI and LBSTRESC=NEGATIVE

How could I split this results via Values Level and define the codelist (NEGATIVE, POSITIVE) for #2 but not for #1? It should be also considered that LBCAT=URINALYSIS contains other tests with numeric values as well. So the where clause like "LBCAT EQ URINALYSIS" covers both continuous and categorical values types and does not solve the problem.
The AND operator would be useful for an isolation as LBCAT as well as LBTESTCD. But is this operator legal in define.xml? If yes, does P21 supply such where clauses?

Thank you in advance,
Serhii

 

Sergiy
on March 6, 2020

Hi Serhii, 

Create a codelist only for Value Level items you need. Do not create any codelist for everything else including LBSTRESC variable.

WhereClause for definition of Value Level item may include multiple conditions utilized by AND operator.

Note that in any domain you may also use a reference to DM domain to specify WhereClause. For example, original units for subject Weight may be different depends on country (e.g., 'kg' for UKR and 'lb' for 'USA') .

Kind Regards,

Sergiy 

j Jozef
on March 7, 2020

To complement Sergiy's answer ...

I would never create valuelists based on result values themselves. The WhereClauses are meant to be on metadata, not on result data.
Basing them on -CAT and -SCAT is surely a good idea ...

In your specific case, you have some data that is ordinal, and some other that is quantitative. This is what we call "scale" in LOINC. See: https://loinc.org/faq/structure-of-loinc-codes-and-names/
Unfortunately, CDISC-LB is not based on pre-coordinated LOINC but has its own post-coordinated schema. As a result, there was sofar no mean to distinguish between ordinal and quantitative data (in the sense of describing the metadata). The recent draft (in public review) LOINC-to-SDTM-LB mapping (https://www.cdisc.org/system/files/all/standard/Public_Review/CDISC_LOINC_to_LB_Mapping_2020-11-Feb_Public%20Review.xlsx) has let the CDISC-CT team realizing this omission, so they introduced the supplemental qualifier RSLSCL ("Result Scale").

But that propably won't help you immediately ... though it will help you in future when you receive your lab results with LOINC code.

What I would do is to use/abuse LBSCAT for this purpose, and populate this with e.g. "ORDINAL DATA", "QUANTITATIVE DATA", and then base your ValueList and WhereClauses on this, making your 2 statements:

1. LBCAT=CHEMISTRY and LBTESTCD=BILI and LBSCAT="QUANTITATIVE DATA"
2. LBCAT=URINALYSIS and LBTESTCD=BILI and LBSCAT="ORDINAL DATA"

With best regards,
Jozef

Want a demo?

Let’s Talk.

We're eager to share and ready to listen.

Cookie Policy

Pinnacle 21 uses cookies to make our site easier for you to use. By continuing to use this website, you agree to our use of cookies. For more info visit our Privacy Policy.