Closed KateSerafimova closed 6 months ago
Extend the domain for sphn:hasCode to include sphn:Measurement.
Restrict the range to cover the following terminologies - SNOMED CT, LOINC
define restriction for sphn:hasCode for class sphn:measurement to be an SNOMED CT observable entity
rdfs:subClassOf [ a owl:Class ; owl:intersectionOf ( [ a owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty sphn:hasCode ] [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty sphn:hasCode ] [ a owl:Restriction ; owl:onProperty sphn:hasCode ; owl:someValuesFrom snomed:363787002 ] ) ] # Observable entity
extend range of sphn:hasCode with sphn:Measurement
Implementing the change in the way it is described above leads to intersection of the domain Measurement and all other domains of hasCode (that are defined in union in the SPHN schema) and this is not a proper way to add it.
Adding the change directly by editing SPHN, or redefining it and removing the original definotion from SPHN are also not options, because of SPHN guidelines: _A project is not allowed to:
Therefore, for the current release of AIDAVA RO, I suggest to define a new property - aidava:hasMeasuermentCode and define it as a subproperty of sphn:hasCode.
Michel @micheldumontier, I'd be grateful if you could comment on this case or discuss in the meeting. Thanks!
After yesterday's meeting, we selected the following approach for the time being:
The restriction for sphn:hasCode regarding Measurement class is the same as described before:
rdfs:subClassOf [ a owl:Class ; owl:intersectionOf ( [ a owl:Restriction ; owl:minCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty sphn:hasCode ] [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty sphn:hasCode ] [ a owl:Restriction ; owl:onProperty sphn:hasCode ; owl:someValuesFrom snomed:363787002 ] ) ] # Observable entity
Background
The Measurement class in SPHN by definition is "annotation used to indicate the size or magnitude of something that was determined by comparison to a standard". With the exception of Blood pressure, all the subclasses of Measurement in SPHN have SNOMED equivalents, that are all an observable entity. It will be useful to have the option to add other entities of type Measurement and they to be coded according to SNOMED, so that we can map data points such as: [digi.me data]
Change Detail
Add sphn:hasCode to sphn:Measurement
Why is this change needed?
This will allow us to include more data points from the source data in the Measurement class and add their SNOMED codes.
What is the impact if this change isn't made?
All entities of type Measurement (and its subclasses) will have the property hasCode