W3C

- DRAFT -

FHIR/RDF

05 Dec 2019

Attendees

Present
David_Booth, EricP, Harold_Solbrig, Gerhard_Kober, Dazhi_Jiao, Deepak_Sharma, Nansu_(with_Deepak), Daniel_Stone, Guoqian_Jaing
Regrets
Chair
David Booth
Scribe
dbooth

Contents


Intros

gerhard: Doing EHRs. Doing PhD regarding FHIR and RDF.

<hsolbrig> david: looking for input for next version of FHIR RDF

<hsolbrig> ... FHIR has a current version. Not easy to find, but it is there. Looking at what Gerhard is doing as input

Gerhard's work on FHIR and RDF

<inserted> Gerhard's slides: https://lists.w3.org/Archives/Public/www-archive/2019Dec/att-0000/FHIR-to-RDF-Converter_presentation.pdf

(Gerhard shows slides)

gerhard: Paper for Sem Web conference next week.

<hsolbrig> Will be presented at SWT4LS 2019 next week

(slide 2)

gerhard: Starting with FHIR resources, but no implementation for the RDF in HAPI server.
... Not many FHIR servers provide RDF. Want to do SPARQL queries. Resources might be distributed.

(slide 3)

gerhard: FHIR-Store is not necessarily a FHIR server.
... Doctors not interested in RDF.
... Data in FHIR store is usually JSON.

(slide 4)

gerhard: POC has a client asking for specific RDF, gets FHIR from FHIR-to-RDF converter, which may get data from multiple FHIR stores.

(slide 5)

gerhard: Using FHIR HAPI server and Apache Jena. REST call to FHIR store.
... Then do transformation from FHIR/JSON to RDF, using a new RDF model.

david: Are you using your own RDF model or the model that is defined in HL7 FHIR standard?

gerhard: Using HAPI parser. david: Okay, so that is the HL7 standard -- R4.

(slide 6)

gerhard: performance is critical. Two time-consuming steps: HTTP call to FHIR store, and converstion from FHIR to RDF. 10 seconds for 200k Observations.

deepak: This is client that uses HAPI, right?

gerhard: Yes.
... Using HAPI FHIR parser from my code.

eric: Getting JSON across the network, and HAPI is converting to RDF?

gerhard: Yes. Se

eric: You serialize to RDF from the internal objects?

gerhard: yes.
... But HAPI parser was not doing what I expected.

deepak: What did you use for FHIR store?

gerhard: I used the FHIR test server.

(gerhard shows generated RDF/XML)

harold: looks like it has the extra bnodes and fhir:index etc. But it still needs the root node.

eric: okay if we update the spec, or would that cause you problems.
... YOu could test round-tripping by converting this to turtle, then put it into Grahame's parser.

(gerhard shows java code of RDF production)

eric: Line 56 does the magic to write out the RDF using composeString.

dazhi: Is this Raul's code? Deepak: No, this is Gerhard's code.

eric: It would be interesting to comment out line 56 to see how much time it takes to run.

david: or run it using a profiler?

(back to slide 7)

dazhi: The HAPI parser serializes anything -- not necessarily only FHIR. So we need to watch for changes that would affect that.

david: Are you able to check in your code to a branch on github so that others can try it?

gerhard: yes
... Queries need to be very specific. Transformation using Jena might be too slow.

harold: FHIR is producing a batch query -- EndyJason(sp?) -- a version that allows JSON streaming.

david: What query langauge are you using? FHIR REST queryies? gerhard: Yes

(slide 8)

deepak: Do you plan to use a reasoner? What motivation for using RDF?

gerhard: Want a graph over all patient info.
... And want the meaning behind it.

Next steps

eric: Seen Harold's write-up (or webinar)? gerhard: no

<scribe> ACTION: Gerhard to check in code to github next week

Webinar is here: https://yosemiteproject.org/?page_id=402&preview=true

and tutorial: https://yosemiteproject.org/tutorial-fhir-rdf-as-a-bridge-to-the-semantic-web-in-healthcare/

ADJOURNED

Summary of Action Items

[NEW] ACTION: Gerhard to check in code to github next week
 

Summary of Resolutions

[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2019/12/05 18:05:26 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
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/(Gerhard shows slides)/Gerhard's slides: https://lists.w3.org/Archives/Public/www-archive/2019Dec/att-0000/FHIR-to-RDF-Converter_presentation.pdf
Present: David_Booth EricP Harold_Solbrig Gerhard_Kober Dazhi_Jiao Deepak_Sharma Nansu_(with_Deepak) Daniel_Stone Guoqian_Jaing
No ScribeNick specified.  Guessing ScribeNick: dbooth
Inferring Scribes: dbooth

WARNING: No date found!  Assuming today.  (Hint: Specify
the W3C IRC log URL, and the date will be determined from that.)
Or specify the date like this:
<dbooth> Date: 12 Sep 2002

People with action items: gerhard

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]