fhir in rdf - home - fhir devdays · fhir in rdf harold solbrig, mayo clinic. ... iso 11179...
TRANSCRIPT
![Page 1: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/1.jpg)
FHIR® is the registered trademark of HL7 and is used with the permission of HL7. The Flame Design mark is the registered trademark of HL7 and is used with the permission of HL7.
Amsterdam, 15-17 November | @fhir_furore | #fhirdevdays17 | www.fhirdevdays.com
FHIR in RDF
Harold Solbrig, Mayo Clinic
![Page 2: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/2.jpg)
About Me – Harold Solbrig
• Began in 1972 doing nuclear reactor safety software
• Began medical computing 1975-78 – Berkeley Scientific Labs
• First commercial Unix sysop
• Smattering of (very dated hardware) disc controllers / television newsrooms
• Worked on ASN.1, ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards
• BS in Maths and Computer Science, MsC in Software Engineering
• With Mayo Clinic 1999-today (more or less)
![Page 3: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/3.jpg)
![Page 4: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/4.jpg)
Outline
• RDF – (Really) quick intro
• FHIR resources in RDF
• The FHIR Metadata Vocabulary
• FHIR RDF “Schema” (aka. ShEx)
• Status and next steps
![Page 5: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/5.jpg)
Resource Description Framework (RDF)
• “Standard model for data interchange on the Web.”
• “Facilitates data merging even if the underlying schemas differ.”
• URI based linking structure in the form of a directed, labeled graph.
https://www.w3.org/2001/sw/wiki/RDF
![Page 6: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/6.jpg)
RDF – Informal Graph Model
https://www.w3.org/TR/rdf11-primer/
![Page 7: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/7.jpg)
RDF Components
URI (IRI)• <Bob>: http://corporation.org/employee#BobGleeson
• <is a>: http://www.w3.org/1999/02/22-rdf-syntax-ns#type
• <is born on>: http://schema.org/birthDate
• <Person>: http://xmlns.com/foaf/1.0/Person
Literal• String - “Bob”
• String + Language - “avalanche”@en
• Typed String - “1990-07-14”^^xsd:date
“42”^^xsd:integer
![Page 8: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/8.jpg)
RDF Triples
Subject Predicate Object
• Subject: URI or Blank Node
• Predicate: URI
• Object: URI or Literal or Blank Node
Subject (URI):
http://corporation.org/employee#BobGleeson
Predicate (URI):
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
Object (URI):
http://xmlns.com/foaf/1.0/Person
![Page 9: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/9.jpg)
RDF Triples
Subject Predicate ObjectSubject (URI):
http://corporation.org/employee#BobGleeson
Predicate (URI):
http://schema.org/birthDate
Object (Literal):
“1990-07-04”^^<http://www.w3.org/2001/XMLSchema#date>
![Page 10: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/10.jpg)
RDF Triples – Blank Nodes (BNodes)
• Blank – unnamed
• NOT a URI
• “The last house on the hill”
• “The person who hit me”
• “An item in the background of the painting, ‘The Mona Lisa’”
![Page 11: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/11.jpg)
RDF Triples – Blank Nodes (BNodes)
Subject (URI):
http://dbpedia.org/resource/Mona_Lisa
Predicate (URI):
http://purl.org/net/lio#shows
Object (BNode):
_:abc17
Subject (BNode):
_:abc17
Predicate (URI):
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
Object (URI):
http://dbpedia.org/resource/Cypress
![Page 12: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/12.jpg)
RDF Turtle Notation
• Terse RDF Triple Language”
• One of several possible formats for representing RDF
• Others include:• RDF XML
• RDF Ntriples
• JSON-LD
• …
NTriples
RDF XML
JSON-LD
https://github.com/BD2KOnFHIR/FHIRDevDays2017
![Page 13: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/13.jpg)
RDF Turtle Notation
subject predicate object .
subject predicate1 object1 ;
predicate1 object2 ;
…
predicateN objectN .
subject predicate object1 ,
object2 ,
…
objectN .
subject predicate object .
subject predicate1 object1 .subject predicate2 object2 .
…subject predicateN objectN .
subject predicate object1 .subject predicate object2 .
…subject predicate objectN .
EquivalentNotation
![Page 14: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/14.jpg)
RDF Turtle Notation - Prefixes
@prefix ex: <http://example.org/some/really/long/path#> .
@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://example.org/some/really/long/path#> .
ex:Jim rdf:type fhir:Patient .
:Jim a fhir:Patient .
<http://example.org/some/really/long/path#Jim><http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://hl7.org/fhir/Patient> .
![Page 15: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/15.jpg)
RDF Turtle Notation – Blank Nodes
subject predicate1 [
predicate2 object2 ;
predicate3 object 3
] .
subject predicate4 [
predicate5 “abc” ] .
subject predicate1 _:a1 ._:a1 predicate2 object2 ;
predicate3 object3 .
Subject prediate4 _:b1 ._:b1 predicate5 “abc” .
![Page 16: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/16.jpg)
RDF – The Good News
Minimal Structure• No rules
• Anyone can say anything anywhere (AAA)
2 ½ Data Types• IRI
• Literal
• More like a “data type” – second language embedded within
• “text”^^<URI for type>.
• “text”@<language> .
• Blank Node• NO Identity (!)
![Page 17: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/17.jpg)
RDF – The Bad News
Minimal Structure• No rules
• Anyone can say Anything Anywhere
URI’s• Anyone can create them
• RDF is strictly a syntax until agreement can be reached on the use and meaning of IRI’s
Some URI catalogs• Resource Description Format – rdf:type,
rdf:Resource• RDF Schema – rdfs:domain, rdfs:range,
rdfs:subClassOf• Web Object Language (OWL) –• owl:Restriction, owl:someValueFrom• Dublin Core (dc, dcterms)• Simple Knowledge Organization System (skos)• Friend of a Friend (foaf)• dbPedia• …• FHIR (!!!!!)
![Page 18: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/18.jpg)
Why RDF?http://hl7.org/fhir/terminology-service.html#closure
Why? stateful??
Consider implementing search:
[base]/Condition?code:below=126851005
[base]/Condition?code:in=http://snomed.info/sct%3Ffhir_vs%3Disa/126851005
join
TerminologyClinical Data
From Advanced Terminology Services - Lawley
![Page 19: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/19.jpg)
Why RDF?
Clinical Data +Terminology + …
From Advanced Terminology Services - Lawley
![Page 20: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/20.jpg)
Manipulating RDF in python
> pip install rdflib
> pip install rdflib-jsonld
> python
Python 3.6.1 (v3.6.1:69c0db5050, Mar 21 2017, 01:21:04)
>>> from rdflib import Graph, URIRef
INFO:rdflib:RDFLib Version: 4.2.2
>>> g = Graph()
>>> g.load('Development/git/BD2KOnFHIR/FHIRDevDays/sample.ttl', format='turtle')
>>> [s for s in g.subjects() if isinstance(s, URIRef)]
[rdflib.term.URIRef('http://corporation.org/employee')]
![Page 21: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/21.jpg)
Manipulating RDF in Python (cont)
…
>>> [(p, o) for p, o in g.predicate_objects(URIRef('http://corporation.org/employee'))]
[(rdflib.term.URIRef('http://schema.org/birthDate'), rdflib.term.Literal('1990-07-04', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#date')))]
>>> g.value(URIRef('http://corporation.org/employee'), URIRef('http://schema.org/birthDate'))
rdflib.term.Literal('1990-07-04', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#date'))
>>> g.serialize('sample.json', format='json-ld')
>>> exit()
>
![Page 22: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/22.jpg)
FHIR and RDF
• First released in STU3
• Maturity Level: 2
• Ballot status: Trial Use
• Components• FHIR RDF RDFFHIR
• StructureDefinition Shape Expressions (ShEx)
• StructureDefinition FHIR Resource Catalog
![Page 23: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/23.jpg)
RDF in FHIR
STU3 Examples Available in RDF Turtle
![Page 24: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/24.jpg)
Comparison JSON and RDF
RDFJSON
![Page 25: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/25.jpg)
FHIR Data Types
Requirement: RDF Rendering must be fully “round-trippable”:
FHIR SD —> FHIR RDF —> FHIR SD
Which is why:
instead of:
![Page 26: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/26.jpg)
Preserving Extensibility
Boolean, like all FHIR elements, is extensible. Processing for:
and:
should be the same.
![Page 27: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/27.jpg)
RDF “Round Trippability”
JSON Identify Document Root
Preserve List Order
![Page 28: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/28.jpg)
RDF Rendering Extensions – Concept URIs
<http://snomed.info/id/394914008>JSON
![Page 29: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/29.jpg)
RDF Rendering Extensions – Resource Types
Construct the actual URIResource Type
![Page 30: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/30.jpg)
Ontology Header
Requirement: import FHIR URI Catalog• No ‘import in RDF’ – have to use OWL• owl:imports requires owl:Ontology• ‘f201.ttl’ vs. ‘f201’ – reasoners don’t
cope well with something that is botha fhir:DiagnosticReport and an owl:Ontology (ontology describesreport, not IS the report)
Stay tuned:• Looking at
http://hl7.org/fhir/DiagnosticReport/owl/f201 as an alternative
![Page 31: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/31.jpg)
Accessing FHIR RDF
• Mime Types• ‘text/turtle’
• (Discussing others)
• Format• _format=
• ttl
• turtle
• text/
• text/turtle
![Page 32: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/32.jpg)
Accessing FHIR RDF
Supporting servers
• STU3 (http://hl7.org/fhir/)• Doesn’t recognize format or mime types – have
to access physical file
• http://hl7.org/fhir/Patient/f201 NO
• http://hl7.org/fhir/patient-example-f201-roel.ttl
• Latest Build (http://build.fhir.org/)• Same as STU3
• FHIR Test Server (http://test.fhir.org/Patient)
• http://test.fhir.org/r3/Patient/f201?_format=text/turtle
• Accept: text/turtle;q=0.9, …
> curl http://test.fhir.org/r3/Patient/204?_format=text/turtle@prefix fhir: <http://hl7.org/fhir/> .@prefix owl: <http://www.w3.org/2002/07/owl#> .@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://test.fhir.org/r3/Patient/204> a fhir:Patient ;fhir:nodeRole fhir:treeRoot ;fhir:Resource.id [ fhir:value "204"^^xsd:string ] ;fhir:Resource.meta [
fhir:Meta.versionId [ fhir:value "1"^^xsd:string ] ;fhir:Meta.lastUpdated [ fhir:value "2017-09-
26T21:59:49Z"^^xsd:dateTime ]] ;fhir:DomainResource.text [
![Page 33: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/33.jpg)
Accessing FHIR RDF
• Browser Accept header
![Page 34: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/34.jpg)
Accessing FHIR RDF – JSON to RDF
FHIR JSON to RDF Convertor
• Python3
• Command line and library
• Used in i2FHIRb2
![Page 35: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/35.jpg)
FHIR Resource Catalog
• Sometimes referred to as the “FHIR Ontology”…
• http://hl7.org/fhir/fhir.ttl
• Direct representation of FHIR StructureDefinition information• (Very) proper subset
• Purpose is (or includes):• Define the classes and predicates
used in the FHIR RDF representation
![Page 36: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/36.jpg)
FHIR Resource Catalog
ISSUEShort term solution:Keep a local copy of http://hl7.org/fhir/w5.ttl
Protégé
![Page 37: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/37.jpg)
FHIR Catalog in Protégé
https://github.com/BD2KOnFHIR/BLENDINGFHIRandRDF/tree/master/yosemite_talk
![Page 38: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/38.jpg)
FHIR Resource Catalog – NOT a “schema”
fhir:Observation.status rdfs:domain fhir:Observation .:tireIronManual a fhir:Device ;
fhir:Observation.status :final .∴ :tireIronManual a fhir:Observation .
(If fhir:Observation ∧ fhir:Device ≠ ∅)
fhir:Observation has exactly 1 fhir:Observation.statusthat is of type fhir:code.:MyObservation fhir:Observation.status :preliminary .:MyObservation fhir:Observation.status :final .∴ :preliminary owl:sameIndividualAs :final.
(Note that some reasoners don’t do this …)
![Page 39: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/39.jpg)
FHIR Resource Catalog – Not a “schema”
http://hl7.org/fhir/Observation/17343• NO properties• All instances fhir:Observations have
exactly 1 status of type fhir:code∴ there exists (somewhere) an instance of fhir:code that is a status for 17343
![Page 40: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/40.jpg)
Shape Expressions (ShEx) - RDF “Schema”
• “Schema” because “RDF Schema” is also used for something else
• Called Shape Expressions (ShEx)• Good for almost as many puns as
“FHIR” …
• … but you have to be very careful
![Page 41: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/41.jpg)
ShEx Schemas available for all STU3 resources
![Page 42: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/42.jpg)
ShEx Validation
http://rawgit.com/shexSpec/shex.js/master/doc/shex-simple.html?examples=https://raw.githubusercontent.com/BD2KOnFHIR/FHIRDevDays2017/master/shex_examples.json
http://shaclex.herokuapp.com/validate?examples=https://raw.githubusercontent.com/BD2KOnFHIR/FHIRDevDays2017/master/shex_examples.json
![Page 43: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/43.jpg)
FHIR and RDF -- Summary
• FHIR STU3 specification includes RDF representational format• RDF is available on some FHIR servers
• Python JSON to RDF conversion tool is available
• FHIR RDF specification includes FHIR Metadata Vocabulary• A public, standard catalog of URI’s for FHIR resources
• Potentially the “Dublin Core” for healthcare?
• Shape Expression (ShEx) schemas are available for FHIR Resources• Today: basic RDF validation
• Near future: will include slicing, constraints and other enhancements
![Page 44: FHIR in RDF - Home - FHIR DevDays · FHIR in RDF Harold Solbrig, Mayo Clinic. ... ISO 11179 (X3/L8), ISO TC 215, OMG HL7, WHO, SNOMED-CT, ISO TC 37 standards •BS in Maths and Computer](https://reader030.vdocuments.us/reader030/viewer/2022041110/5f0e9ebf7e708231d4401d67/html5/thumbnails/44.jpg)
CREDITS
This work is supported in part by NIH grants U01 HG009450 and U01 CA18094.
This work was conducted using the Protégé resource, which is supported by grant GM10331601 from the National Institute of General Medical Sciences of the United States National Institutes of Health.
Eric Prud’hommeaux David Booth Dr. Guoqian JiangGrahame Grieve
The HCLS working group