Semantic Web Health Care and Life Sciences Interest Group Teleconference

11 Jul 2017

See also: IRC log


Gopi, Harold_Solbrig, EricP, David_Booth
David Booth


FHIR ontology with I2B2

harold: It is working out pretty well, though also finding some bugs.
... I2B2 is almost an RDF system. Similar.
... They don't allow infinite nesting level of predicates, but they allow two levels. And it's not unreasonable to map FHIR ont URIs into I2B2, and that puts us into the position to map raw FHIR directly into I2B2 and get useful stuff out.
... Very exciting.
... Nice thing is that every researcher can have their own optimized data model.
... That's good until you want to combine data, because then you have to map either to your own model or an existing model.
... Most orgs are already mapping into FHIR. So if we can map FHIR into I2B2 we can save a lot of people a lot of money.
... That mapping is working well because of the work we've done in this group.
... You need standard URIs for all of the data elements -- FHIR ont -- and the second thing you need is data that uses those tags. That's the other bit that we've done and we've got operating.
... One of the challenges that we face is that, as yet, HAPI FHIR server does not have RDF.
... The HAPI tooling is just different enough to be difficult to see how the transformations occur.

dbooth: Two versions of open source FHIR implementations handle FHIR JSON/XML to FHIR RDF translations: Grahame's Delphi implementation and Michael Van Der Zel's .NET implementation.

harold: Still need to map the datatypes into I2B2 analogs.
... Another issue is what to do with codes. I2B2 tends to use concept codes as first class identifiers.
... Instead of the code being a value it is a tag on a fact. But that only works on small finite codesets.
... Not feasible for SNOMED -- too big.
... But for small code sets, want to use the same approach as for blending FHIR RDF.

<inserted> https://github.com/BD2KOnFHIR/i2FHIRb2

harold: I've put out a pre-alpha.

<hsolbrig> https://github.com/w3c/hcls-fhir-rdf/tree/gh-pages/fhirowl

FHIR codesystems in OWL


From harold:


The files represent what would appear in the FHIR publish directory and its children.

The java module that generated the objects can be found at:



harold: That includes all the new things that I would add to the FHIR publish dir.
... We're using the FHIR ont and the W5 ont in anger here. Finding a few bugs.
... Grahame wants to approve all changes to the FHIR ont. I think I have the fixes cleared though.
... We really need to clean up the hcls-fhir-rdf github

ISSUE: need to clean up the hcls-fhir-rdf github

<trackbot> Created ISSUE-42 - Need to clean up the hcls-fhir-rdf github. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/42/edit>.

harold: If you look inside the java dir, this is what would change if we run this script. Need to decide whether to publish this on the FHIR site or put it in a terminology service. Need to discuss that with Rob Hausam.

ISSUE: Talk with Rob Hausam about whether to publish this on the FHIR site or put it in a terminology service

<trackbot> Created ISSUE-43 - Talk with rob hausam about whether to publish this on the fhir site or put it in a terminology service. Please complete additional details at <http://www.w3.org/2014/HCLS/track/issues/43/edit>.

(Harold shows codesystem-diagnostic-report)

harold: Still need to add skos:prefLabel
... First question is what do the FHIR group think of these URIs?
... Second question: Do we want a top level node in these ontologies? Right now they are flat.
... Right now the parent of 'partial' is owl:Top
... One common FHIR idiom is "all codes in codesystem X".
... A root class would addres that.
... A third question: Two approaches used to ont. HL7 itself has a mess of tiny ont. A lot of tooling around HL7 has taken a different approach, with one gigantic ont with the leaves being individual codes.
... The UMLS and the ___ has done with HL7v3 has one code system -- top level node. I don't think we want to do that, but it's a question.
... Also in v3 there's a code for every codesystem. So I represented a v3 act class, but I don't think I match lloyd's v3 URIs. I think v3 might have been the same without a hash.

eric: The problem is that there are a zillion of them. He stuck the full history in there, so there are many.

<ericP> i used <http://hl7.org/owl/rim#> in https://www.w3.org/2013/C-CDA/IJ.xml but i don't remember how diligent I was

harold: Interesting in v3 is that they have classes that are used for organizing but cannot be used for codes. They start with an underscore.
... Another question: I've been using a .owl suffix. We've been using .ttl for other things.
... But it is turtle inside.
... Fixed a bug in naming.
... Also I had 4 different predicates for diagnosis with different ranges, and we turned them all into diagnosisComponent. (This is issue #53)
... fhir:ItemComponent combines 4 different classes. Does not cause a problem.
... Proposal I made: Instead of calling it ItemComponent call it ClaimItem. Grahame wanted naming to be consistent, so the names are getting pretty long.
... But it seems to work fine for the display, because we only see the last part.
... One other fix made was that we didn't subclass xsd:string as part of fhir:Primitive
... Also, fhir:Money has no elements inside it. Need to fix that.

eric: This is the ont that backs the FHIR resources?

harold: This is the FHIR metadata vocabulary.
... I'm using the domain and range statements in what I'm doing. Not using the OWL part.
... But the brilliance of this is that we have URIs for things.
... Huge amount of benefit.

Possible to create a FHIR profile in OWL using Protege? (Gopi)

harold: I would have to see a sample of what was going on.
... Assuming by "profile" you mean a regular FHIR profile.

gopi: I've been playing with a forge tool for making profiles. Was wondering about using protege.

harold: one interesting thing in rdf: You can add bits and pieces. Start with a DiagnosticReport, and narrow the cardinality, etc. Seems like it would be an interesting experiment.
... In some ways RDF is better suited to profiles than the FHIR profiling language.
... I'd be interested in seeing someone try it and see how far they could get.
... Still need to add FHIR profiles in RDF.

gopi: Other question: right now you use a separate conformance server. Can we use shex?

harold: WHen we started, one pushback was "why do you need shex?". FUndamental answer is that OWL uses the open world assumption.
... There was quite a debate early on, about "Couldn't we close the world on OWL?" But it was trying to use a tool for a purpose for which it was not designed.
... shex might not be unreasonable to think of as a good closed world owl.

eric: SHACL might be closer.
... Spoke to the guy who maintains protege about shex, and he said that a lot of people want data validation.

harold: Irony is that protege was originally a frames-based model.

eric: Matthew Horridge


Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.152 (CVS log)
$Date: 2017/07/11 16:04:03 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.152  of Date: 2017/02/06 11:04:15  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Succeeded: i|I've put out a pre-alpha|https://github.com/BD2KOnFHIR/i2FHIRb2
Present: Gopi Harold_Solbrig EricP David_Booth
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth
Found Date: 11 Jul 2017
Guessing minutes URL: http://www.w3.org/2017/07/11-hcls-minutes.html
People with action items: 

[End of scribe.perl diagnostic output]