- From: David Booth <david@dbooth.org>
- Date: Fri, 13 Aug 2021 10:14:20 -0400
- To: "its@lists.hl7.org" <its@lists.HL7.org>, w3c semweb HCLS <public-semweb-lifesci@w3.org>
Minutes are here:
https://www.w3.org/2021/08/12-hcls-minutes.html
And below in plain text.
---------------------------------
– DRAFT –
FHIR RDF
12 August 2021
[2]IRC log.
[2] https://www.w3.org/2021/08/12-hcls-irc
Attendees
Present
Brad Simons, Darrell Woelk, David Booth, Emily Pfaff,
EricP, Gopi, Guoqian Jiang, Harold Solbrig, Sajjad
Regrets
-
Chair
David Booth
Scribe
dbooth
Contents
1. [3]Brad Simons, SureScripts
2. [4]FHIR RDF R4 issues collected by Harold Solbrig
3. [5]Summary of action items
Meeting minutes
Brad Simons, SureScripts
brad: Motivation for the project was to reuse info from C-CDA:
strip out wanted data and get at it more effectively. Work is
patented.
… We take a FHIR RDF model and a SureScripts model.
… We created our own full FHIR model: all resources, all
property, all constraints, cardinalities, datatypes. Then added
SureScripts model, to: 1. add properties.
… Grahame's model does not have a system name on coding. We
added one to make it more readable.
… Also the SureScripts model has a whole mapping model -- what
a C-CDA would be to FHIR.
… Take in the FHIR model and SureScripts model and take all the
possible xpath permutations, and breadcrumb trail of all
resources and properties needed to populate it.
… So an instance or attribute that contains a problem.code it
knows what all the components are, so it can instantiate it.
… I'm able to execute those to extract the relevant data to
build all the RDF objects that you see, to populate them with
the appropriate data.
… Can also generate a list of instances w data values.
… For coding value I can get the relevant info from the FHIR
model and give it to HAPI, and HAPI will generate the proper
code using reflection.
sajjad: FHIR in RDF vs FHIR RDF? You have your own ont of FHIR.
brad: the base FHIR model is our own ont, but if you lay it
next to the FHIR ont, it is very similar.
… My goal is to adopt yours.
eric: The stuff you add is to make it more readable?
brad: I also have my own mappings to get from C-CDA to FHIR,
but also rules in that add-on model.
sajjad: scalability and maintenance issue, when FHIR spec
changes? Diff between FHIR RDF and FHIR in RDF.
brad: Yes, and I want to get off of using my own model. Want to
be able to use your FHIR RDF.
sajjad: you're taking xpaths to populate your schema? Why not
JSON into FHIR schema?
brad: If the purpose was to go from XML to FHIR, you probably
wouldn't need to go through RDF, but you cannot do rules
processing on JSON.
sajjad: There are rules reasoners available on RDF.
brad: Can support augmentation, process breadcrumb trail,
capture data from text section and auto-populate the coded
section.
brad: Ran into naming convention issues -- not consistent
across FHIR RDF models.
… Also ran into recursion issue.
… contains can have a "contains" and the names keep being
concatenated.
eric: questionnaire response has that recursion problem too.
harold: Yes, there are recursive structures in FHIR, and that's
one of the reasons we need JSON-LD 1.1
brad: You don't want to keep concatenating
contains.contains.contains ....
brad: Instead, we just had valueset expansion contains
component and left it at that.
harold: I think we've addressed this with JSON-D 1.1
eric: Q about xpath annotations.
brad: We have a mapping file, w a multitude of nodes with xpath
segments, and those segments have an affiliation w a particular
FHIR resource property.
… When I churn through that stuff, I dynamically build full
xpath from breadcrumb trail.
eric: Do those end up on instance data, like Sally's diagnosis,
or on metadata.
brad: The xpath that I built is captured in a binary file, and
access them at parse time. They're never passed through to
anybody.
… Point is to generate a FHIR rep of the C-CDA data, but
there's too much unnecessary stuff in C-CDA.
eric: Could we see one of the instances, populated with your
extra stuff?
guoqian: When you convert C-CDA to RDF, how many FHIR resources
do you cover?
brad: A lot of the resources are reused: Allergy, Med, Immun,
Problems, Condition, OBservations (incl familiy history,
vitals, etc.), insurance.
guoqian: Do you have issues with your FHIR RDF to the XML
representation?
brad: None. Part of the reason I'm converting to FHIR, is a lot
of vendors (Epic, etc.) want to consume FHIR. Meaningful Use
caused vendors to use C-CDA, but it didn't tell them how, so
the C-CDAs differ.
… I want to be able to pass on only the info that is needed, to
maintain privacy.
guoqian: No issues w HAPI FHIR? brad: None.
brad: I'm using HAPI to take my FHIR RDF and produce JSON, and
using reflection it produces everything, with only hundreds of
lines of code.
brad: I'm generating metadata that a colleague uses to generate
from POJOs in HAPI.
eric: C-CDA diversity was the shortcoming? And will that be any
better with FHIR?
brad: Probably more structured, but not better.
… Consider Allergies. people will codify your Allergies, or
your lab results, with ranges, etc.
… But if you go into the doc's office and say which meds you
are taking, they never look up the codes. Allergies are even
worse: 9/10 times its coded in the text section -- never
codified.
… But here, I'm able to extract info like that and put it into
the codified section.
gopi: Our EHR only provides text fields for the user, so it's
not codified
david: How to improve FHIR RDF model?
brad: We compared w ours, and matched it as much as possible.
… We saw that if we could fix the recursion and standardize on
naming, we could drop our model and go with yours.
david: Got the list of diffs between yours and ours?
brad: I had a few data augmentations that I put into the base
FHIR model that are not relevant to you -- branch points.
david: Lists?
brad: We have lists of lists.
Action: Brad to find the comparison of their FHIR RDF to ours
sajjad: Suppose you have Organization w a name, assume it is 0
or 1. How would you define the cardinality in RDF?
brad: We use OWL to capture the cardinality.
sajjad: For usability, from C-CDA, vendors are more interested
in being in FHIR. When you transform C-CDA to FHIR, how do you
deal w templating? E.g. family history? They all go to
Observation. Specialized rules/templates?
brad: i have mappings defined for specific sections like Family
History. They're driven off of LOINC code in C-CDA for the
section.
sajjad: There is a mapping from C-CDA to FHIR:
Link from sajjad: [6]https://github.com/GoogleCloudPlatform/
healthcare-data-harmonization/tree/master/mapping_configs/
cda_fhir_r4
[6]
https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/cda_fhir_r4
brad: Our models are very close.
eric: From working w this at NHS, one challenge I've seen in
usability is the lenght of the predicates and the lack of
connection betweeen similar predicates.
… FHIR folks have make a big effort to harmonize them. We're
now looking at using just the last segment of the predicates.
Does that alarm you or okay with it?
brad: I'll have to see.
FHIR RDF R4 issues collected by Harold Solbrig
[7]https://github.com/fhircat/fhir_rdf_validator/tree/master/
tutorial
[7]
https://github.com/fhircat/fhir_rdf_validator/tree/master/tutorial
We'll discuss these on a future call, but wanted to give you
the link, to start looking at them.
ADJOURNED
On 8/10/21 5:37 PM, David Booth wrote:
> FHIR RDF teleconference
> Thursday 11am (Boston timezone)
> Zoom URL: http://tinyurl.com/fhirrdfzoom
>
> Agenda:
>
> - Brad Simons (SureScript) will discuss his experiences with FHIR RDF,
> challenges he faced, and suggestions for the R5 version
>
> - Other FHIR RDF issues we hope to address in R5 to improve ease of use
>
> More info:
> URL: https://confluence.hl7.org/pages/viewpage.action?pageId=66922543
>
> Download a calendar invite for this weekly teleconference:
> https://confluence.hl7.org/download/attachments/66922543/fhir-rdf-weekly-teleconference.ics?api=v2
>
>
> Thanks,
> David Booth, Chair
>
Received on Friday, 13 August 2021 14:14:35 UTC