Concept ancestor leaf node


URI

https://w3id.org/omop/ontology/ConceptAncestor

Label

Concept ancestor

Description

The CONCEPT_ANCESTOR table is designed to simplify observational analysis by providing the complete hierarchical relationships between Concepts. Only direct parent-child relationships between Concepts are stored in the CONCEPT_RELATIONSHIP table. To determine higher level ancestry connections, all individual direct relationships would have to be navigated at analysis time. The CONCEPT_ANCESTOR table includes records for all parent-child relationships, as well as grandparent-grandchild relationships and those of any other level of lineage. Using the CONCEPT_ANCESTOR table allows for querying for all descendants of a hierarchical concept. For example, drug ingredients and drug products are all descendants of a drug class ancestor.

This table is entirely derived from the CONCEPT, CONCEPT_RELATIONSHIP and RELATIONSHIP tables.

Superclasses (1)

Usage

Instances of Concept ancestor can have the following properties:

PROPERTYTYPEDESCRIPTIONRANGE
From class Concept ancestor
Max levels of separation owl:DatatypeProperty For Concept Ancestor: The maximum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis. integer
Min levels of separation owl:DatatypeProperty For Concept Ancestor: The minimum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis. integer
Has ancestor owl:FunctionalProperty For Concept Ancestor: The Concept Id for the higher-level concept that forms the ancestor in the relationship. Concept
Has descendant owl:FunctionalProperty For Concept Ancestor: The Concept Id for the lower-level concept that forms the descendant in the relationship. Concept
From class OMOP CDM thing
Id owl:DatatypeProperty For Note: A unique identifier for each note. - For Vocabulary: A unique identifier for each Vocabulary, such as ICD9CM, SNOMED, Visit. - For Observation: The unique key given to an Observation record for a Person. Refer to the ETL for how duplicate Observations during the same Visit were handled. Each instance of an observation present in the source data should be assigned this unique key. - For Note Nlp: A unique identifier for the NLP record. - For Location: The unique key given to a unique Location. Each instance of a Location in the source data should be assigned this unique key. - For Drug Exposure: The unique key given to records of drug dispensings or administrations for a person. Refer to the ETL for how duplicate drugs during the same visit were handled. Each instance of a drug dispensing or administration present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same drug within the same visit. It is valid to keep these duplicates and assign them individual, unique, DRUG_EXPOSURE_IDs, though it is up to the ETL how they should be handled. - For Specimen: Unique identifier for each specimen. - For Observation Period: A Person can have multiple discrete Observation Periods which are identified by the Observation_Period_Id. Assign a unique observation_period_id to each discrete Observation Period for a Person. - For Cohort Definition: This is the identifier given to the cohort, usually by the ATLAS application - For Concept Class: A unique key for each class. - For Device Exposure: The unique key given to records a person's exposure to a foreign physical object or instrument. Each instance of an exposure to a foreign object or device present in the source data should be assigned this unique key. - For Procedure Occurrence: The unique key given to a procedure record for a person. Refer to the ETL for how duplicate procedures during the same visit were handled. Each instance of a procedure occurrence in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same procedure within the same visit. It is valid to keep these duplicates and assign them individual, unique, PROCEDURE_OCCURRENCE_IDs, though it is up to the ETL how they should be handled. - For Cost: A unique identifier for each COST record. - For Domain: A unique key for each domain. - For Survey Conduct: Unique identifier for each completed survey. For each instance of a survey completion create a unique identifier. - For Visit Detail: Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail. This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time. - For Care Site: Assign an id to each unique combination of location_id and place_of_service_source_value. - For Concept: A unique identifier for each Concept across all domains. - For Measurement: The unique key given to a Measurement record for a Person. Refer to the ETL for how duplicate Measurements during the same Visit were handled. Each instance of a measurement present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same measurement within the same visit. It is valid to keep these duplicates and assign them individual, unique, MEASUREMENT_IDs, though it is up to the ETL how they should be handled. - For Condition Occurrence: The unique key given to a condition record for a person. Refer to the ETL for how duplicate conditions during the same visit were handled. Each instance of a condition present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same condition within the same visit. It is valid to keep these duplicates and assign them individual, unique, CONDITION_OCCURRENCE_IDs, though it is up to the ETL how they should be handled. - For Provider: It is assumed that every provider with a different unique identifier is in fact a different person and should be treated independently. This identifier can be the original id from the source data provided it is an integer, otherwise it can be an autogenerated number. - For Person: It is assumed that every person with a different unique identifier is in fact a different person and should be treated independently. Any person linkage that needs to occur to uniquely identify Persons ought to be done prior to writing this table. This identifier can be the original id from the source data provided if it is an integer, otherwise it can be an autogenerated number. - For Visit Occurrence: Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit. This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time. - For Payer Plan Period: A unique identifier for each unique combination of a Person, Payer, Plan, and Period of time. owl:Thing
From class Thing
OMOP CDM name owl:AnnotationProperty owl:Thing

Implementation

@prefix omop: <https://w3id.org/omop/ontology/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

omop:ConceptAncestor a owl:Class ;
    rdfs:label "Concept ancestor"^^xsd:string ;
    rdfs:comment """The CONCEPT_ANCESTOR table is designed to simplify observational analysis by providing the complete hierarchical relationships between Concepts. Only direct parent-child relationships between Concepts are stored in the CONCEPT_RELATIONSHIP table. To determine higher level ancestry connections, all individual direct relationships would have to be navigated at analysis time. The CONCEPT_ANCESTOR table includes records for all parent-child relationships, as well as grandparent-grandchild relationships and those of any other level of lineage. Using the CONCEPT_ANCESTOR table allows for querying for all descendants of a hierarchical concept. For example, drug ingredients and drug products are all descendants of a drug class ancestor.

This table is entirely derived from the CONCEPT, CONCEPT_RELATIONSHIP and RELATIONSHIP tables."""@en ;
    rdfs:subClassOf [ a owl:Restriction ;
            owl:allValuesFrom omop:Concept ;
            owl:onProperty omop:has_ancestor ],
        [ a owl:Restriction ;
            owl:onProperty omop:has_ancestor ;
            owl:someValuesFrom omop:Concept ],
        [ a owl:Restriction ;
            owl:allValuesFrom omop:Concept ;
            owl:onProperty omop:has_descendant ],
        [ a owl:Restriction ;
            owl:onProperty omop:has_descendant ;
            owl:someValuesFrom omop:Concept ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:integer ;
            owl:onProperty omop:min_levels_of_separation ],
        [ a owl:Restriction ;
            owl:onProperty omop:min_levels_of_separation ;
            owl:someValuesFrom xsd:integer ],
        [ a owl:Restriction ;
            owl:allValuesFrom xsd:integer ;
            owl:onProperty omop:max_levels_of_separation ],
        [ a owl:Restriction ;
            owl:onProperty omop:max_levels_of_separation ;
            owl:someValuesFrom xsd:integer ],
        omop:OmopCDMThing ;
    omop:omop_cdm_name "concept_ancestor"^^xsd:string .