FHIR RDF Example - Patient Instance
@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://hl7.org/fhir/Patient/a770f579-5745-4402-be2a-69c321d0f444> a fhir:Patient;
fhir:Patient.birthDate "2003-03-13";
fhir:Patient.gender "male";
fhir:Patient.maritalStatus <http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/S>;
fhir:Resource.id <http://hl7.org/fhir/Patient/a770f579-5745-4402-be2a-69c321d0f444> .
<http://terminology.hl7.org/CodeSystem/v3-MaritalStatus/S> rdfs:label "Never Married" .
FHIR RDF Example - Condition Instance
<http://hl7.org/fhir/Condition/bd47ed16-570d-4f71-bdc8-5d28620892e8>
a fhir:Condition ;
fhir:Condition.clinicalStatus <http://terminology.hl7.org/CodeSystem/condition-clinical/resolved> ;
fhir:Condition.code <http://snomed.info/sct/840539006> ;
fhir:Condition.encounter <http://hl7.org/fhir/Encounter/8da5e652-c49b-4506-9f5f-2e754d963f55> ;
fhir:Condition.onsetDateTime "2020-03-07T15:17:32-06:00" ;
fhir:Condition.subject <http://hl7.org/fhir/Patient/a770f579-5745-4402-be2a-69c321d0f444> ;
fhir:Condition.verificationStatus
<http://terminology.hl7.org/CodeSystem/condition-ver-status/confirmed> ;
fhir:Resource.id <http://hl7.org/fhir/Condition/bd47ed16-570d-4f71-bdc8-5d28620892e8> .
<http://snomed.info/sct/840539006>
rdfs:label "COVID-19" .
<http://terminology.hl7.org/CodeSystem/condition-ver-status/confirmed>
rdfs:label "confirmed" .
<http://terminology.hl7.org/CodeSystem/condition-clinical/resolved>
rdfs:label "resolved" .
FHIR RDF Example - Observation Instance
<http://hl7.org/fhir/Observation/a1fd65c1-a001-45d4-a08b-e6d29d726ba2>
a fhir:Observation ;
fhir:Observation.code <http://loinc.org/2708-6> , <http://loinc.org/59408-5> ;
fhir:Observation.encounter <http://hl7.org/fhir/Encounter/8da5e652-c49b-4506-9f5f-2e754d963f55> ;
fhir:Observation.status "final" ;
fhir:Observation.subject <http://hl7.org/fhir/Patient/a770f579-5745-4402-be2a-69c321d0f444> ;
fhir:Observation.valueQuantity [ fhir:Quantity.code "%" ;
fhir:Quantity.system "http://unitsofmeasure.org" ;
fhir:Quantity.unit "%" ;
fhir:Quantity.value "76.73"^^xsd:float
] ;
fhir:Resource.id <http://hl7.org/fhir/Observation/a1fd65c1-a001-45d4-a08b-e6d29d726ba2> .
<http://hl7.org/fhir/Observation/01558311-445e-4240-b7bb-446d02e9dbc7>
a fhir:Observation ;
fhir:Observation.code <http://loinc.org/92142-9> ;
fhir:Observation.encounter <http://hl7.org/fhir/Encounter/8da5e652-c49b-4506-9f5f-2e754d963f55> ;
fhir:Observation.status "final" ;
fhir:Observation.subject <http://hl7.org/fhir/Patient/a770f579-5745-4402-be2a-69c321d0f444> ;
fhir:Observation.valueCodeableConcept
<http://snomed.info/sct/260385009> ;
fhir:Observation.valueQuantity [] ;
fhir:Resource.id <http://hl7.org/fhir/Observation/01558311-445e-4240-b7bb-446d02e9dbc7> .
<http://loinc.org/2708-6>
rdfs:label "Oxygen saturation in Arterial blood" .
<http://loinc.org/59408-5>
rdfs:label "Oxygen saturation in Arterial blood by Pulse oximetry" .
<http://loinc.org/92142-9>
rdfs:label "Influenza virus A RNA [Presence] in Respiratory specimen by NAA with probe detection" .
<http://snomed.info/sct/260385009>
rdfs:label "Negative (qualifier value)" .
CONSTRUCT SPARQL Query - Observation
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX j2r: <http://hl7.org/fhir/#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT {
?uri rdf:type fhir:Observation .
?uri fhir:Resource.id ?uri .
?uri fhir:Observation.status ?status .
?uri fhir:Observation.subject ?patienturi .
?uri fhir:Observation.encounter ?encounteruri .
?uri fhir:Observation.code ?codeuri .
?codeuri rdfs:label ?codingdisplay .
?uri fhir:Observation.valueQuantity [
fhir:Quantity.code ?valuecode ;
fhir:Quantity.system ?valuesystem ;
fhir:Quantity.unit ?valueunit ;
fhir:Quantity.value ?valuevalue ;
] .
?uri fhir:Observation.valueCodeableConcept ?valuecodeuri .
?valuecodeuri rdfs:label ?valuecodingdisplay .
}
{
?entry j2r:resource ?resource .
?resource j2r:resourceType "Observation" .
?resource j2r:id ?id .
BIND(URI(CONCAT("http://hl7.org/fhir/Observation/", ?id )) AS ?uri) .
?resource j2r:status ?status .
?resource j2r:subject ?subject .
?subject j2r:reference ?reference .
BIND(URI(CONCAT("http://hl7.org/fhir/Patient/", SUBSTR(?reference, 10) )) AS ?patienturi) .
?resource j2r:encounter ?encounter .
?encounter j2r:reference ?refencounter .
BIND(URI(CONCAT("http://hl7.org/fhir/Encounter/", SUBSTR(?refencounter, 10) )) AS ?encounteruri) .
?resource j2r:code ?code .
?code j2r:coding ?coding .
?coding j2r:code ?codingcode .
?coding j2r:display ?codingdisplay .
?coding j2r:system ?codingsystem .
BIND(URI(CONCAT(?codingsystem, "/", ?codingcode )) AS ?codeuri) .
OPTIONAL {
?resource j2r:valueQuantity ?valuequantity .
?valuequantity j2r:code ?valuecode .
?valuequantity j2r:system ?valuesystem .
?valuequantity j2r:unit ?valueunit .
?valuequantity j2r:value ?valuevalue .
}
OPTIONAL {
?resource j2r:valueCodeableConcept ?valueconcept .
?valueconcept j2r:coding ?valuecoding .
?valuecoding j2r:code ?valuecodingcode .
?valuecoding j2r:system ?valuecodingsystem .
?valuecoding j2r:display ?valuecodingdisplay .
BIND(URI(CONCAT(?valuecodingsystem, "/", ?valuecodingcode )) AS ?valuecodeuri) .
}
}
CONSTRUCT SPARQL Query - Condition
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX j2r: <http://hl7.org/fhir/#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT {
?uri rdf:type fhir:Condition .
?uri fhir:Resource.id ?uri .
?uri fhir:Condition.clinicalStatus ?cstatusuri .
?cstatusuri rdfs:label ?cstatuscode .
?uri fhir:Condition.subject ?patienturi .
?uri fhir:Condition.encounter ?encounteruri .
?uri fhir:Condition.code ?codeuri .
?codeuri rdfs:label ?codingdisplay .
?uri fhir:Condition.onsetDateTime ?onsetdatetime .
?uri fhir:Condition.verificationStatus ?valuecodeuri .
?valuecodeuri rdfs:label ?valuecodingcode .
}
{
?entry j2r:resource ?resource .
?resource j2r:resourceType "Condition" .
?resource j2r:id ?id .
BIND(URI(CONCAT("http://hl7.org/fhir/Condition/", ?id )) AS ?uri) .
?resource j2r:clinicalStatus ?clinicalstatus .
?clinicalstatus j2r:coding ?cstatuscoding .
?cstatuscoding j2r:code ?cstatuscode .
?cstatuscoding j2r:system ?cstatussystem .
BIND(URI(CONCAT(?cstatussystem, "/", ?cstatuscode )) AS ?cstatusuri) .
?resource j2r:subject ?subject .
?subject j2r:reference ?reference .
BIND(URI(CONCAT("http://hl7.org/fhir/Patient/", SUBSTR(?reference, 10) )) AS ?patienturi) .
?resource j2r:encounter ?encounter .
?encounter j2r:reference ?refencounter .
BIND(URI(CONCAT("http://hl7.org/fhir/Encounter/", SUBSTR(?refencounter, 10) )) AS ?encounteruri) .
?resource j2r:code ?code .
?code j2r:coding ?coding .
?coding j2r:code ?codingcode .
?coding j2r:display ?codingdisplay .
?coding j2r:system ?codingsystem .
BIND(URI(CONCAT(?codingsystem, "/", ?codingcode )) AS ?codeuri) .
OPTIONAL {
?resource j2r:onsetDateTime ?onsetdatetime .
}
OPTIONAL {
?resource j2r:verificationStatus ?valueconcept .
?valueconcept j2r:coding ?valuecoding .
?valuecoding j2r:code ?valuecodingcode .
?valuecoding j2r:system ?valuecodingsystem .
BIND(URI(CONCAT(?valuecodingsystem, "/", ?valuecodingcode )) AS ?valuecodeuri) .
}
}
CONSTRUCT SPARQL Query - Patient
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX j2r: <http://hl7.org/fhir/#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT {
?uri rdf:type fhir:Patient .
?uri fhir:Resource.id ?uri .
?uri fhir:Patient.gender ?gender .
?uri fhir:Patient.birthDate ?birthdate .
?uri fhir:Patient.maritalStatus ?codeuri .
?codeuri rdfs:label ?codingdisplay .
}
{
?entry j2r:resource ?resource .
?resource j2r:resourceType "Patient" .
?resource j2r:id ?id .
BIND(URI(CONCAT("http://hl7.org/fhir/Patient/", ?id )) AS ?uri) .
?resource j2r:gender ?gender .
?resource j2r:birthDate ?birthdate .
?resource j2r:maritalStatus ?code .
?code j2r:coding ?coding .
?coding j2r:code ?codingcode .
?coding j2r:display ?codingdisplay .
?coding j2r:system ?codingsystem .
BIND(URI(CONCAT(?codingsystem, "/", ?codingcode )) AS ?codeuri) .
}
Notes