OWL usage
joe: Have some questions on how to represent things.
… Working on PR for ont access kit. We have a FHIR server and want to load content from a number of sources. Need to convert to FHIR, some data already in OWL/RDF. Not sure how to structure it.
… There's a github w existing OWL converter, but it's leaving out a lot of content.
https://github.com/aehrc/fhir-owl The Australian e-Health Research Centre
joe: Working on a PR: https://github.com/INCATools/ontology-access-kit/pull/320
… How to represent CURIEs? How to include classes from external code systems? Synonym structuring?
… Is-a hierarchy -- want to check it.
jim: Two issues in converting OWL. In our IRI stem proposal, we assume lots of code with one prefix. But a lot of OBO ont include terms from a number of namespaces.
… Also, our proposal assumes that the code is a local code and not a CURIE.
… RDF group has expectations about how that should work?
eric: Converting OWL to FHIR? joe: Yes.
joe: Converting OWL ont to FHIR code system resource. Suppose some content maps could be involved.
dbooth: Your intent is to use those with FHIR data later?
chris: Yes.
gaurav: Not sure how pyrophen is related, but it looks like it could be useful: https://pyrophen.readthedocs.io/en/latest/example-json.html It highlights the problem we have.
chris: It was written by the phenopackets guy.
https://pyrophen.readthedocs.io/en/latest/representation.html
jim: For a code like "HP:000300", if we prepend an IRI stem directly, then it won't match the OBO IRIs, that OBO assigns.
joe: i like those CURIEs in there but Idk if that's conformant?
joe: code: Indicates that the value is taken from a set of controlled strings defined elsewhere (see Using codes for further discussion). Technically, a code is restricted to a string which has at least one character and no leading or trailing whitespace, and where there is no whitespace other than single spaces in the contents xs:token JSON string
Regex: [^\s]+( [^\s]+)*
This datatype can be bound to a ValueSet
joe: i don't mind using a fhir extension element for the prefix/namespace, but whenever extensions come into play that is certainly an area where we'd want to have a consensus or explicit standard
joe: I'm thinking like: CodeSystem.extension.curie_map
joe: CodeSystem.concept.extension.uri maybe
eric: The code should just be the number part. You can still have valuesets that draw from multiple code systems.
gaurav: We could ask everybody to use either:
… { system: OBO, code: “HP:101” } OR { system: HPO, code: “101” }
houcemeddine: An excellent practice will be the use of OBO Ontologies instead of SNOMED-CT.
joe: I was thinking one OWL file should generate one FHIR resource.
jim: If you're making a FHIR resource for Mondo, maybe it should only have the Mondo terms.
gaurav: So then { system: MONDO, code: “UBERON:101” }?
eric: If there's no need to unify codes w other ontologies, then ... if you have hp: on the front of each, and take those off, but leave others off, you'd effectively be making aliases for them in your code system.
… But the cleanest way to do it is to emit one code system for each prefix.
rob: Agreed.
joe: Suppose I have one with only one term. Would that confuse?
eric: I don't think so. It would be more confusing if you kept the prefixes.
chris: Want to check with Peter.
jim: Our goal is that it comes out looking how people expect it to look.
joe: Tooling available for FHIR RDF?
jim: The playground.
eric: Also Harold's demo of using SNOMED and reasoning with FHIR RDF.
https://yosemiteproject.org/tutorial-fhir-rdf-as-a-bridge-to-the-semantic-web-in-healthcare/
gaurav: Also concept IRI https://github.com/fhircat/fhir-rdf-playground/pull/12
dbooth: Also HAPI server does FHIRRDF R4. Not yet R5.
… and the playground: https://fhircat.github.io/fhir-rdf-playground/
gaurav: Given that FHIR thinks of codes as system-code pair, and RDF uses IRIs. We're planning to use the HL7 terminology website to host the IRI stems.
https://jira.hl7.org/browse/UP-364
https://bit.ly/fhir-rdf-concept-iris-july-2022
eric: hapi-fhir RDF tests: https://github.com/hapifhir/hapi-fhir/blob/master/hapi-fhir-structures-r4/src/test/java/ca/uhn/fhir/parser/RDFParserTest.java
gaurav: We've made the proposal to the terminology group, and want to start adding actual IRI stems.
dbooth: And the underscore should be a part of the IRI stem, because it isn't a part of the code.
joe: For sysnonyms, if it's exact, shoudl I use "designation"?
rob: Yes, that sounds right.
… For broader/narrower, it could be done with a property.