AIDAVA-DEV / AIDAVA-Reference-Ontology

AIDAVA Reference Ontology
1 stars 0 forks source link

Add sphn:hasCode to sphn:Measurement #10

Closed KateSerafimova closed 6 months ago

KateSerafimova commented 8 months ago

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

todorprimov commented 6 months ago

Extend the domain for sphn:hasCode to include sphn:Measurement.

Restrict the range to cover the following terminologies - SNOMED CT, LOINC

todorprimov commented 6 months ago

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

todorprimov commented 6 months ago

extend range of sphn:hasCode with sphn:Measurement

KateSerafimova commented 6 months ago

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!

KateSerafimova commented 6 months ago

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