FHIR Chat · Spreadsheets and ConceptMaps · v2 to FHIR

Stream: v2 to FHIR

Topic: Spreadsheets and ConceptMaps


view this post on Zulip Hans Buitendijk (Dec 18 2019 at 21:38):

During the discussions we agreed that we want to explore how to express the current Google Spreadsheets (master list is here: https://docs.google.com/spreadsheets/d/1PaFYPSSq4oplTvw_4OgOn6h2Bs_CMvCAU9CqC4tPBgk/edit#gid=1419236962) to a FHIR construct that would actually be persisted in gitHub and become the source of truth.
There are currently two options being considered: using ConceptMap to transform the spreadsheets into and out of, or StructureMap.
Attached is a link to the ConceptMap profile proposal to enable such mapping (StructureMap to follow in separate thread soon): https://docs.google.com/spreadsheets/d/1O0MoF8ioE3ZeCg8ToLLMESEUzM7vX8bmRDX29gb6oWA/edit#gid=0.

Columns A and B represent the most curent build of ConceptMap I used. Text in red in columns B through E represent proposed use in general, and if proposed extensions, their general characteristics. Columns F onward represent the proposed profile definition for each of the spreadsheet types we currently require. The proposal is to use four profiles against ConceptMap, even though some are very similar, just to keep the context simple. The proposal is also that one ConceptMap instance would be representative of one spreadsheet that you can find in the master list referenced above.

To visualize further, an example for the PID segment (some of the fields) is available here: https://confluence.hl7.org/download/attachments/20022006/ConceptMap%20Mapping%20Example.json?api=v2. Note that necessary escape characters, commas, and other formatting may not be computable yet, but the intent was to get an idea what it would look like, not have it perfect yet.

Please review and use this thread to make suggestions on making the proposal implementable, or argue why something else would be better to provide the core representation. Note that we will continue with spreadsheets as the main format to develop and review the mappings.

view this post on Zulip Hans Buitendijk (Jan 14 2020 at 22:15):

@Grahame Grieve : Will you have time in Sydney to go through how StructureMap could be used to capture the spreadsheet contents? ConceptMap was easy, but StructureMap relies on id-s which seems to complicate matters, plus would end up with a similar set of extensions to capture the different columns. Not sure I'm missing something.

view this post on Zulip Grahame Grieve (Jan 14 2020 at 22:19):

yes I will have time

view this post on Zulip Grahame Grieve (Jan 14 2020 at 22:19):

how many people in on that discussion?

view this post on Zulip Hans Buitendijk (Jan 15 2020 at 17:21):

Probably 3-5-ish as not everybody will be there. Best would be Monday afternoon sometime as one of those who will be there is only going to be there during the Connectathon. BTW, for everybody, the initial thoughts/questions in the same spreadsheet where ConceptMap is fleshed under the StructureMap tab.

view this post on Zulip robert worden (Jan 17 2020 at 11:44):

I won't be at Sydney but will be interested in both the ConceptMap and the StructureMap discussions. If it was at the right time of day, eg Thursday breakfast, I could join in remotely - but don't worry if that is not convenient.

Also it would be good to have some discussion at Sydney on the Transform Validator - see post above - with me or without me.

On the use of ConceptMap for V2 Mappings:

The core use case for ConceptMap is like a table with 2 columns - corresponding code values. So our use case - a mapping table with N columns - is a bit of a stretch, and needs extensions. We have discussed the pros and cons of using several extensions, roughly one for each column, versus one generic extension for any new column.

Irrespective of this decision, we will need a tool to generate a ConceptMap from a Google sheet. This tool is pretty easy to write, and I suggest that it should give each ConceptMap instance a narrative section which is an html table - just like the source mapping sheet. This is easy to do.

view this post on Zulip Grahame Grieve (Jan 17 2020 at 11:45):

I've already written that. I only needed 2 extensions

view this post on Zulip robert worden (Jan 17 2020 at 11:49):

How much have you written? The profile for ConceptMap? The tool to generate it from a mapping sheet? Can you share the profile and maybe an example?

view this post on Zulip Grahame Grieve (Jan 17 2020 at 11:57):

the code: https://github.com/hapifhir/org.hl7.fhir.core/blob/master/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/MappingSheetParser.java

view this post on Zulip Grahame Grieve (Jan 17 2020 at 12:01):

agree that the narrative should match the spreadhsheet- I don't remember whether I did that yet

view this post on Zulip Hans Buitendijk (Jan 21 2020 at 16:26):

@Grahame Grieve : See https://docs.google.com/spreadsheets/d/1PaFYPSSq4oplTvw_4OgOn6h2Bs_CMvCAU9CqC4tPBgk/edit#gid=1419236962 where I ended up with more than 2 extensions. Curious where we can reduce, which would be fine.

view this post on Zulip Hans Buitendijk (Jan 21 2020 at 17:22):

URL correction: https://docs.google.com/spreadsheets/d/1O0MoF8ioE3ZeCg8ToLLMESEUzM7vX8bmRDX29gb6oWA/edit#gid=0


Last updated: Apr 12 2022 at 19:14 UTC