Stream: genomics
Topic: How to represent FISH lab test results
SangHo Kim (Jan 11 2022 at 10:37):
Hi,
I am not an expert in genomics just a regular developer trying to figure things out and I am in need of help please!
I have a question on how to utilize FHIR Genomics IG to represent a FISH lab test (e.g. FISH ALK ) .
Looking at the FHIR Genomics IG, I have figured out that there are roughly about 5 report types (Variants, Histocompatibility, Cytogenomics, Somatics, Pharmacogenomics).
From my research I've figured out Histocompatibility can be used to represent HLA results, Somatics for cancer related results and Variants for regular sequencing variants.
However, I can't seem to find out where to find Report type for FISH lab results.
I've also looked into LOINC Panels and found https://loinc.org/62367-8/
which is a FISH panel for chromosome analysis.
It hold all the elements that are shown in the FISH ALK report.
Is there a separate IG page regarding FISH / Chromosome related tests ?
Thank you!
Kevin Power (Jan 11 2022 at 13:59):
@Sanggy - We have provided that documentation to give use case specific guidance, but don't think of those 'report types' as the only ones this IG can support. For FISH, you might note that the Cytogenomics specific guidance isn't in the latest build ( http://build.fhir.org/ig/HL7/genomics-reporting/index.html ) as we didn't feel we had enough expertise in the field to provide robust guidance. We are introducing some new guidance on how to share Variants, and it includes some mentions of ISCN and structural variants, so you might find something useful pieces here ( http://build.fhir.org/ig/HL7/genomics-reporting/branches/variant-component-groups/sequencing.html )
So, I would say we have at least some of the building blocks you will need, but likely not all of them. Do you happen to have an example report (like a PDF) that you are trying to replicate? That LOINC panel is very helpful as well, and it might provide a good basis for creating some new profiles and guidance in our IG.
Bret H (Jan 11 2022 at 20:15):
Each one of the component data elements in the LOINC panel have a place in FHIR (but not necessarily organized exactly like the panel). The device information for example would go with a profile of Device (https://www.hl7.org/fhir/device.html), but you wouldn't necessarily have a place for the specific LOINC code (though you could use options like mapping). We don't have an example using device at this time, but if you've a report with the information, I would be happy to help you map it into FHIR (as would a ton of folks here : ^ )
One item to ask you about is the communication of the probe set used. Do you see that in the report?
Bret H (Jan 11 2022 at 20:17):
One could always go with a basic Observation profile with presence and absence, if a specific LOINC code exists for the test, but this obfuscates the genetic data. Ultimately, it depends on the use case. FYI biomarkers are to be discussed at the coming WG face to face meeting. It would be a good introduction to the considerations you'll need to make to handle the data you're talking about.
Bret H (Jan 11 2022 at 20:53):
might be useful to look at region studied (http://build.fhir.org/ig/HL7/genomics-reporting/StructureDefinition-region-studied.html) for location of probing (including gene name). Additionally, there's a place to put in BED files.
SangHo Kim (Jan 11 2022 at 23:21):
@Kevin Power
Thanks for the detailed response!
Kevin Power said:
We are introducing some new guidance on how to share Variants, and it includes some mentions of ISCN and structural variants, so you might find something useful pieces here ( http://build.fhir.org/ig/HL7/genomics-reporting/branches/variant-component-groups/sequencing.html )
The link provided is responding with a 404 :(
Do you happen to have an example report (like a PDF) that you are trying to replicate?
Below is screen captured image of the report I am working with. Honestly I am working on lab reports of genomics (sequencing, pcr, mlpa, etc I don't exactly know genomics are categorized in test methods but as far as I know I've dealt with these lab results to represent in FHIR) and cytogenomics.
Thanks!
SangHo Kim (Jan 11 2022 at 23:38):
@Bret H Thanks for your reply.
It helped me clear out some confusions:)
Bret H said:
Each one of the component data elements in the LOINC panel have a place in FHIR (but not necessarily organized exactly like the panel). The device information for example would go with a profile of Device (https://www.hl7.org/fhir/device.html), but you wouldn't necessarily have a place for the specific LOINC code (though you could use options like mapping). We don't have an example using device at this time, but if you've a report with the information, I would be happy to help you map it into FHIR (as would a ton of folks here : ^ )
One item to ask you about is the communication of the probe set used. Do you see that in the report?
I do have an extended question/answer following your reply (quoted above)
-
You've mentioned Device Resource here and I have also noticed a device in one version of the variant reporting fhir page also (http://hl7.org/fhir/uv/genomics-reporting/2019Jan/sequencing.html). Is it important to reference Device as part of the Diagnostic Report or any reports?
-
The report you asked for as and example would be the image I have attached on my response to @Kevin Power 's reply. Thanks!
-
regarding your question on probes. would ALK be the correct answer? Sorry for the lack of knowledge :( The answer also might be with the image I shared with @Kevin Power . Under "Test Method" it says FISH with probe for chromosome 2p23(ALK) (Dual color, Break Apart probe), ZytoLight -> would this be the communication of the probe set used?
Thanks!
Kevin Power (Jan 11 2022 at 23:49):
Sanggy said:
Kevin Power said:
We are introducing some new guidance on how to share Variants, and it includes some mentions of ISCN and structural variants, so you might find something useful pieces here ( http://build.fhir.org/ig/HL7/genomics-reporting/branches/variant-component-groups/sequencing.html )
The link provided is responding with a 404 :frown:
Yea, sorry, we just deleted that branch today, you can now find those updates in the Current Build:
http://build.fhir.org/ig/HL7/genomics-reporting/sequencing.html
SangHo Kim (Jan 12 2022 at 00:06):
I hesitated if I should make a new topic for this but just decided to ask here (it's not completely irrelevant to current discussion I believe).
Apart from the FISH lab test, as mentioned above, I am also working on other genomic tests. This has to do with PCR, MLPA, Sequencing? (not quite sure if it fits here).
The lab has some 140+ test and they are reported in roughly 4 different reporting styles (w/ interpretation, short answer, list of answers, combination of the first three).
I thought I could represent lab results for, for example, C-KIT, NF1, APC tests by utilizing the FHIR Variant Reporting guide with components (refer to below image)
image.png
Then I came across LOINC Panel (refer to below image).
image.png
Can I represent test results related to C-KIT, APC, NF1 with above panel and represent that as FHIR structure like the first Image?
Would the First and Second image be the same in terms of representation?
From my understanding on the IG, I've also read a part where Panels can be represented as Observation Groups?
Then would you have to represent DNA Marker Results Panels (51960-3) as Observation group and have DNA Marker Identified Panel members (they are marked as panels but the members are all listed in FHIR Components) listed as Observation Components?
Thanks!
SangHo Kim (Jan 12 2022 at 00:08):
Kevin Power said:
Sanggy said:
Kevin Power said:
We are introducing some new guidance on how to share Variants, and it includes some mentions of ISCN and structural variants, so you might find something useful pieces here ( http://build.fhir.org/ig/HL7/genomics-reporting/branches/variant-component-groups/sequencing.html )
The link provided is responding with a 404 :(
Yea, sorry, we just deleted that branch today, you can now find those updates in the Current Build:
http://build.fhir.org/ig/HL7/genomics-reporting/sequencing.html
@Kevin Power Thanks for the correction!
Bret H (Jan 14 2022 at 10:16):
Great questions. Glad you are looking into the patterns. There's more to genomic results then has been traditionally sent with HL7v2 - shortcuts were taken and with the ever changing landscape of needs in genomics it is easy to miss required data for emerging use-cases and types of results. You got some good information from Lloyd in http://community.fhir.org/t/loinc-dna-marker-panel-to-fhir-observation/3367/2 about structure. That is, you shouldn't break things like change type into their own observation, instead we have a component like the one in the Variant profile (change-type is not meaningful enough by itself) @Sanggy have you had a chance to look at the example profiles in the build? (see http://build.fhir.org/ig/HL7/genomics-reporting/artifacts.html#examples). I would start by looking at Variant. There is some reworked guidance on http://build.fhir.org/ig/HL7/genomics-reporting/sequencing.html . For most of the components of the panel https://loinc.org/51960-3/ we would be using components. But, you'll see that implications have been broken out to a separate profile (things like LOINC codes 53040-2 and 51961-1 are components in either Therapeutic or Diagnostic implication). Clinical significance LOINC code 53037-8 also has a place too (see JSON tab of http://build.fhir.org/ig/HL7/genomics-reporting/Observation-obs-idh-ex.json.html - you will find the clinical significance component being used in a Diagnostic Implication profile.)
It will be easier to start with a single report rather than all the patterns at once. If you would like to start with one report (without PHI or PHI obfuscated), I will be happy to look over your attempt (ping me directly) or help with components of it in turn.
SangHo Kim (Jan 28 2022 at 04:32):
@Bret H
Thanks for the response and the support!
Sorry for the late response, I was too preoccupied with work I didn't have the time get on the chat to say my thanks. Apologies.
Bret H said:
It will be easier to start with a single report rather than all the patterns at once. If you would like to start with one report (without PHI or PHI obfuscated), I will be happy to look over your attempt (ping me directly) or help with components of it in turn
I do have further questions on your previous response but I need bit more time to basically organize the question to ask correctly.
Is it okay to send you a private message regarding the questions? Please let me know!
Patrick Werner (Jan 31 2022 at 13:49):
@Sanggy please keep this public. Your questions, and the answers to them, will help others in the future.
SangHo Kim (Feb 07 2022 at 06:12):
@Bret H
I think working going through questions regarding Human Genome (Non-Cytogenomics tests => test methods that include sequencing, pcr [RT-PCR, Neated-PCR, Multiflex-PCR, Fragment, PCR]) would be of help at the moment.
-- A little background of my personal studies (from a non-expert in the genomics field) --
I have been working on human genome reports for the above mentioned test methods.
And from my research and asking around I have come to the following conclusions.
- Tests can be categorized by Germline/Somatic
- Both categories has POSITIVE/NEGATIVE results...
- NEGATIVE results are reported as is... (this is probably lab-centric result reporting format - may differ b/w labs)
- POSITIVE results reports with some in detail results
4.1) details can be the following
4.1.1) Variants (SNV, CNV, DEL, INS)
4.1.2) Genotypes
4.1.3) DETECTED / NOT DETECTED
4.1.4) MSI Markers...
Also, as software engineer trying to implement an adapter to transform received data into FHIR format and storing them in FHIR Repository
I am working to find the best abstraction to create templates ...
Example ->
> IF Germline (NEED TO REPORT PATHOGENICITY [mutation effect] ) ==> this would be of 1..1 for pathogenicity
>> referenced FHIR link -> http://hl7.org/fhir/uv/genomics-reporting/STU1/inherited-disease-pathogenicity.html
>> using following loinc code as stated in above link -> https://loinc.org/LL4034-6/
IF POSITIVE (DETECTED, PRESENT) create additional observation profiles (variants, genotypes, etc) ==> this would be in 0..* cardinality
----------- QUESTIONS -------------
-
Am I approaching things the right way to analyze and decide how to save as fhir format?
-
Is it correct to try and template things depending on lab work flow? from my experience I feel like genomics FHIR Structure is VERY VERY dependent on work flow and lab test types rather than what kind of reporting format or result format it is (like how LIS would store results for lab reports)
-
Are there any other codes to represent Detected or Not-Detected rather than Present / Absent for observation values?
-
Are there any other codes to represent MSI markers? are they variants or ?
Thank you!
Best regards,
SangHo
Bret H (Feb 07 2022 at 14:01):
I think you're on the right track, have a look at the examples in the build, we've added more.
4 There is a profile for MSI http://build.fhir.org/ig/HL7/genomics-reporting/StructureDefinition-msi.html coming out in DSTU2, I would use it for MSI. For both Tumor-mutation-burden (TMB) and MSI calculations the WG decided to handle these specially - they are derived calculations.
3 Not sure what you mean. Do you mean, can other codes be used? There are many coding systems with representations of presence/absence and detected/not-detected. Can you give an example where you're thinking of using it?
2 Not sure what you mean exactly. A lot depends on your starting point and end point (which I think is FHIR). But if you mean template based on the type of variation, that sounds like a great start. You could break the data further into two types for a genetic result: the ephemeral interpretation/implications (useful in context) and genetic variation observation. That is, model the positional information on the variation observed separately from things like disease pathogenicity (which is what I think you're doing). And recall that things like genetic variant position data is not typically natively stored in most Healthcare LIS today. The specification accommodates current modes of communication and extends to a more robust representation. The report representation data elements should be mappable into FHIR structures - if you find something that does not appear to be, please mention it.
1 DSTU2 is coming out soon, currently viewable and under QA here http://build.fhir.org/ig/HL7/genomics-reporting/ In DSTU2 have a look at http://build.fhir.org/ig/HL7/genomics-reporting/StructureDefinition-diagnostic-implication.html
I think you're on the right track, have a look at the examples in the build, we've added more.
And when looking at the FHIR profiles be sure to look at both the Snapshot table and the Differential table. The use of some abstract profiles means that there are elements that are not seen in the Differential table. The Snapshot table includes everything the profile could have.
With FHIR one does have enough space to do weird things technically (things that don't make sense, like using cardinality '0..x' to interpret that one can send a basically empty profile), but hopefully the space is tamed somewhat by the IGs.
SangHo Kim (Feb 08 2022 at 00:45):
@Bret H
Thanks for the quick response Bret.
Here are some clarification to questions 2 and 3.
- I am going through this analysis phase to properly design a flow for the FHIR Adapter API which works to convert whatever data is given to FHIR specific resources. Below is an example process.
EXAMPLE :
the API is given data that represents a result of RNF213 gene, R4810K mutation lab test, the API must decide how to build a Diagnostic Report with all the necessary reference resources. So for this particular test, it is a “germline” based on sequencing test method. If the test result is “DETECTED”, then it would create observed variants (Variant Profile) to express test result data (GeneId, Exon#, Nucleotide change, amino acid change, maybe chromosomal locus, maybe target reference [NM_…]). Then it would need to create Observation Interpretation (Overall Interpretation Profile) to express in higher level whether variant was detected or not.
So, like the above process in building a diagnostic report for one test, you have many other tests (I can’t confidently say what types due to my lack of understanding but like the variants or Fragile-X tests, LHON, Prader-Willi, QF PCR, ABO genotyping, NF1, BRCA1, Huntington Disease to name a few). These tests all could have different elements or profiles to represent test results… for example ABO genotyping would use Genotype Profile instead of Variant profile to express results, some test might express interpretation as present/absent and some might express as detected/not-detected..
As an implementer and a developer, I wanted to sort of create a template for similar tests so that I wouldn’t have to go through all test names and have overlapping source code repeated (like apply factory method pattern for creating said resources depending on a higher level category of test).
- Due to my inexperience and expertise I basically base of my analysis on examples of different profiles provided in the guide. Based on the examples, I’ve only seen Presence, Absence codes from LOINC as answers for interpretation or the observation resource itself. However, there are certain tests that express the presence or absence of a variant/result differently, like RNF213 gene, R4810K mutation test . The said example test reports w/ observed variant as SNV with GeneId (RNF213) , Nucleotide Change (Genomic Dna Chnage in FHIR) , Amino Acid Change, Zygosity, and Exon #. However, instead of reporting as present/absent interpretation the lab would like to express these as detected/not-detected. I am pretty sure there are codes out there in LOINC (since loinc is used) but I am very cautious in picking any because loinc codes can mean world apart even if the said display names are the same. Is there any because I’ve tried searching directly from loinc.org but failed :(.
Thanks!
Last updated: Apr 12 2022 at 19:14 UTC