From 7643e1e5c9645843db45c4da0d28a4b6eef781db Mon Sep 17 00:00:00 2001 From: Robert Carroll Date: Tue, 19 May 2026 09:57:04 -0500 Subject: [PATCH 1/3] =?UTF-8?q?=E2=9C=A8=20Add=20Present/Absent=20enum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds the required setup for SubjectAssertion to have an Any range, including either Concept or EnumPresentAbsent. --- .../schema/common_access_model.yaml | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/common_access_model/schema/common_access_model.yaml b/src/common_access_model/schema/common_access_model.yaml index c00ca5b..722ba33 100644 --- a/src/common_access_model/schema/common_access_model.yaml +++ b/src/common_access_model/schema/common_access_model.yaml @@ -26,6 +26,7 @@ prefixes: NCIT: http://purl.obolibrary.org/obo/NCIT_ PATO: http://purl.obolibrary.org/obo/PATO_ DUO: http://purl.obolibrary.org/obo/DUO_ + loinc: https://loinc.org/ default_prefix: cam default_range: string @@ -34,6 +35,8 @@ imports: - linkml:types classes: + Any: + class_uri: linkml:Any Record: description: One row / entity within the database title: Record @@ -748,7 +751,10 @@ slots: concept: title: Concept description: The structured term defining the meaning of the assertion. - range: Concept + range: Any + any_of: + - range: Concept + - range: EnumPresentAbsent multivalued: true concept_curie: title: Concept Curie @@ -1323,5 +1329,24 @@ enums: title: ETag sha1: title: SHA-1 + EnumPresentAbsent: + description: Options for Phenotypic Feature Assertions that may be + present, absent, or indeterminate. Derived from https://loinc.org/LL750-1 + is_a: EnumNull + permissible_values: + "loinc:LA9633-4": + title: Present + meaning: loinc:LA9633-4 + description: This feature was determined to be present. + "loinc:LA9634-2": + title: Absent + meaning: loinc:LA9634-2 + description: This feature was determined to be absent. + "loinc:LA11884-6": + title: Indeterminate + meaning: loinc:LA11884-6 + description: This feature was assessed, but unable to be determined + as present or absent. + From 7a80dda2fde5177371afd79c2ce2cf42bfb678e8 Mon Sep 17 00:00:00 2001 From: Robert Carroll Date: Tue, 19 May 2026 11:26:00 -0500 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=90=9B=20Move=20the=20enum=20to=20val?= =?UTF-8?q?ue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schema/common_access_model.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common_access_model/schema/common_access_model.yaml b/src/common_access_model/schema/common_access_model.yaml index 722ba33..cdbf13d 100644 --- a/src/common_access_model/schema/common_access_model.yaml +++ b/src/common_access_model/schema/common_access_model.yaml @@ -751,10 +751,7 @@ slots: concept: title: Concept description: The structured term defining the meaning of the assertion. - range: Any - any_of: - - range: Concept - - range: EnumPresentAbsent + range: Concept multivalued: true concept_curie: title: Concept Curie @@ -771,7 +768,10 @@ slots: value_concept: title: Value concept description: The structured term defining the value of the assertion. - range: Concept + range: Any + any_of: + - range: Concept + - range: EnumPresentAbsent multivalued: true value_number: title: Value Number From 38d01b027a83f87f06ea207c7510c9e0c1d6295b Mon Sep 17 00:00:00 2001 From: Robert Carroll Date: Fri, 29 May 2026 15:15:40 -0500 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=94=A7=20Alternate=20approach=20for?= =?UTF-8?q?=20Any?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This update appears to support a couple of options while not including the Any typing. --- src/common_access_model/schema/common_access_model.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/common_access_model/schema/common_access_model.yaml b/src/common_access_model/schema/common_access_model.yaml index cdbf13d..9cf47bd 100644 --- a/src/common_access_model/schema/common_access_model.yaml +++ b/src/common_access_model/schema/common_access_model.yaml @@ -768,9 +768,8 @@ slots: value_concept: title: Value concept description: The structured term defining the value of the assertion. - range: Any + range: Concept any_of: - - range: Concept - range: EnumPresentAbsent multivalued: true value_number: