AIDAVA-DEV / AIDAVA-Reference-Ontology

AIDAVA Reference Ontology
1 stars 0 forks source link

Direct relations from Patient to other classes #68

Closed rcelebi closed 5 months ago

rcelebi commented 6 months ago

Context: When writing SHACL constraints to check data quality issues, it is challenging to implement certain rules within the current AIDAVA ontology. This is primarily due to the absence of direct relations defined from the Patient class to other pertinent classes such as Measurement, Procedure, ProblemCondition, DrugPrescription, and DrugAdministrationEvent.

For example, consider the following rule: "Patients diagnosed with C50.319 should be identified as female in their medical records." Despite this challenge, we can presently implement this rule using the following SHACL:

@prefix sp: <http://spinrdf.org/sp#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix ex: <http://example.com/> .
@prefix sphn: <https://biomedit.ch/rdf/sphn-ontology/sphn#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix icd10: <https://biomedit.ch/rdf/sphn-resource/icd-10-gm/2021/> .

ex:C50319FemaleConstraint
    a sh:NodeShape ;
    sh:targetClass sphn:Patient ;
    sh:or (
    [ sh:not [
        sh:property [
                 sh:path sphn:hasProblemCondition ;
                sh:node ex:C50319Condition ;
            ] ]
    ]
    [
    sh:property [
        sh:path sphn:hasGender ;
        sh:hasValue "female" ;

    ]
  ]
).

ex:C50319Condition
    a sh:NodeShape ;
    sh:targetClass sphn:ProblemCondition ;
    sh:property [
        sh:path sphn:hasCode ;
        sh:hasValue icd10:C50.319 ;
    ] .

Suggestion: Include direct relations from Patient to other classes, have also ('hasSubjectPseudoIdentifier') relations to Patient.

KateSerafimova commented 6 months ago

The property hasSubjectPseudoIdentifier is now deprecated, and instead there is the property aidava:hasPatient with range aidava:Patient and domains all the listed concpets:

                                                                                      sphn:AccessDevicePresence
                                                                                      sphn:AdministrativeCase
                                                                                      sphn:AdministrativeGender
                                                                                      sphn:AdverseEvent
                                                                                      sphn:Allergy
                                                                                      sphn:AllergyEpisode
                                                                                      sphn:Biobanksample
                                                                                      sphn:BirthDate
                                                                                      sphn:BloodPressure
                                                                                      sphn:BodyHeight
                                                                                      sphn:BodyMassIndex
                                                                                      sphn:BodyPosition
                                                                                      sphn:BodySurfaceArea
                                                                                      sphn:BodyTemperature
                                                                                      sphn:BodyWeight
                                                                                      sphn:CardiacIndex
                                                                                      sphn:CardiacOutput
                                                                                      sphn:CircumferenceMeasure
                                                                                      sphn:CivilStatus
                                                                                      sphn:Consent
                                                                                      sphn:DataFile
                                                                                      sphn:DeathDate
                                                                                      sphn:DeathStatus
                                                                                      sphn:Diagnosis
                                                                                      sphn:DiagnosticRadiologicExamination
                                                                                      sphn:DrugAdministrationEvent
                                                                                      sphn:DrugPrescription
                                                                                      sphn:ElectrocardiographicProcedure
                                                                                      sphn:FOPHDiagnosis
                                                                                      sphn:FOPHProcedure
                                                                                      sphn:GestationalAgeAtBirth
                                                                                      sphn:HealthcareEncounter
                                                                                      sphn:HeartRate
                                                                                      sphn:ICDODiagnosis
                                                                                      sphn:InhaledOxygenConcentration
                                                                                      sphn:LabResult
                                                                                      sphn:Measurement
                                                                                      sphn:NursingDiagnosis
                                                                                      sphn:OncologyTreatmentAssessment
                                                                                      sphn:OxygenSaturation
                                                                                      sphn:ProblemCondition
                                                                                      sphn:Procedure
                                                                                      sphn:RadiotherapyProcedure
                                                                                      sphn:RespiratoryRate
                                                                                      sphn:Sample
                                                                                      sphn:SimpleScore
                                                                                      sphn:TNMClassification
                                                                                      sphn:TumorGrade
                                                                                      sphn:TumorSpecimen
                                                                                      sphn:TumorStage
                                                                                      sphn:VariantDescriptor

Do we need to add a relation from patient to all of those concepts, or we need it only for a list of main concepts?

If we need the relation from Patient to more than a couple of concepts, then we need to think about a general predicate, such as aidava:hasConcept.

KateSerafimova commented 5 months ago

In last meeting it was agreed that direct relations are to be added just for the main classes listed in the description (Measurement, Procedure, ProblemCondition, DrugPrescription, and DrugAdministrationEvent)