These files can be used to demonstrate the use of FHIR, RDF and SNOMED CT in the context of a Protege.
- Clone this project
- Download the latest version of Protégé Desktop
- Copy catalog-remote.xml to catalog-v001.xml. This will retrieve the FHIR resources from the FHIR Build Server. (catalog-local.xml is an equivalent that retrives all resources locally).
- Open
wrapper.owl
in Protégé - Select the Fact++ reasoner from the Reasoner tab
- Select **Start Reasoner ** from the Reasoner tab
- Switch to the Entities tab to see the results
The above image shows f201
,a final diagnostic report of a '188340000 | Malignant tumor of craniopharyngeal duct', classified as an instance of FinalReportWithPatientCancerDiagnosis
, prelimDX
, a preliminary diagnostic report of the same thing classified as a ReportWithCancerDiagnosis
and f201
, a final diagnostic report of a '428763004 | Bacteremia due to staphylococcus|' classified as just a FinalizedReport
.
Note that FinalizedReportWithCancerDiagnosis
is a subclass of both FinalizedReport
and ReportWithCancerDiagnosis
, meaning that f201
is also an instance of both of those classifiers.
- wrapper.owl: A wrapper ontology that imports all of the other ontologies needed for classification
- fhir.ttl: the FHIR ontology. Downloaded from: http://build.fhir.org/fhir.ttl
- w5.ttl: The FHIR "W5" (Who, What, Why, Where, When) Ontology. Downloaded from: http://build.fhir.org/w5.ttl
- snomed_subset.ttl: A small subset of SNOMED CT. Output of snomed_subset.sh
- rules.owl: Sample classification rules.
- diagnosticreport-example-f201-brainct.ttl: Example FHIR DiagnosticReport of a 188340000| Malignant tumor of craniopharyngeal duct |. Used to demonstrate ReportWithCancerDiagnosis classifier. Downloaded from: http://build.fhir.org/diagnosticreport-example-f201-brainct.ttl
- diagnosticreport-example-f201-prelim.ttl: Identical to f201-brainct.ttl with exception that report status was changed from 'final' to 'prelim'. Used to demonstrate FinalizedReport classifier.
- diagnosticreport-example-f202-bloodculture.ttl: Example FHIR DiagnosticReport of a |428763004| Bacteremia due to staphylococcus|. Example of a diagnostic report that is not about a 363346000| Malignant neoplastic disease |. Downloaded from: http://build.fhir.org/diagnosticreport-example-f202-bloodculture.ttl
- imagingstudy-example-xr.ttl: Example FHIR ImagingStudy with the SNOMED code 'T-15460' changed to '7467003|Wrist joint structure|' and '419161000|Unilateral left|' changed to '771000|Left|'. Used for demonstration / discussion of post-coordinated model classification. Source: http://build.fhir.org/imagingstudy-example-xr.ttl.
- medicationstatementexample1.ttl: Copy of http://build.fhir.org/medicationstatementexample1.ttl with the '''xsd:date''' types changed to '''xsd:dateTime''' because the FaCT++ reasoner chokes on straight dates. Used to demonstrate the FilmTabletMedication classifier.
- medicationstatementexample1bc.ttl: Copy of http://build.fhir.org/medicationstatementexample1bc.ttl with the '''xsd:date''' types changed to '''xsd:dateTime''' the dose from changed from '385057009|Film-coated tablet| to '42162004|buccal tablet|'.
- medicationstatementexample4.ttl: Copy of http://build.fhir.org/medicationstatementexample4.ttl with the '''xsd:date''' types changed to '''xsd:dateTime'''. Used to demonstrate the TabletDoseForm classifier.
- observation-example-bmd.ttl: Copy of http://build.fhir.org/observation-example-bmd.ttl with the post-coordinated SNOMED CT expression changed to its OWL equivalent.
- catalog-local.xml: An OASIS XML Catalog that only references local OWL files.
- catalog-remote.xml: An OASIS XML Catalog that references sources from the FHIR Build Server when they haven't been changed locally
- snomed_subset.json: configuration file used by the SNOMEDToOWL tool to generate the SNOMED CT subset.
- snomed_subset.sh: Shell script to generate snomed_subset.ttl
- Follow the installation instructions on the SNOMEDToOWL conversion page.
- Download the latest image of SNOMED CT International. The US Download Site can be found at https://www.nlm.nih.gov/healthit/snomedct/index.html -- non US citizens need to consult SNOMED International for instructions on where to get SNOMED in their country.
- Run
RF2Filter
to extract the desired subset. In the example below, we extract the RF2 for ancestors and descendants of '363346000 |Malignant neoplastic disease (disorder)|', '40238009 |Hand joint structure (body structure)|' and '385055001 |Tablet dose form (qualifier value)|' into thesnomed_subset
directory:
> RF2Filter -i -a -d SnomedCT_InternationalRF2_Production_20170131T120000/Snapshot snomed_subset 363346000 40238009 385055001
- Run
SNOMEDToOWL
to generate OWL for the output RF2:
> SNOMEDToOWL snomed_subset snomed_subset.json snomed_subset.ttl