Replies: 5 comments
-
I believe some folks may think that the utility of having a separate I think the |
Beta Was this translation helpful? Give feedback.
-
At first glance I like the notion of simplifying in this way, but need to have a longer think on this. One question that did come to mind immediately was that if we move mappings to DomainEntity, how do we capture identifier mappings for other objects in the data where it might be useful. e.g. specific instances of Documents/Publications? It seems that you envision Mappings to be more about concept-level mappings (e.g. for things like Genes, Domain entities, Drugs, etc.) - and not for more instance-level mappings (e.g. for things like specific documents/publications, statements, patients, methods, etc. that might have database records/identifiers/accessions in other data systems)? This is apparent from how you describe them, where they are used, and even their definition in the model ("A mapping to a concept in a terminology system."). Given this, the need for identifier equivalencies for more instance level entities (Document, Publications) could be handled by the Note that my comments here are relevant to this discussion. |
Beta Was this translation helpful? Give feedback.
-
Update: I went ahead and created PR #20 to illustrate how the changes proposed here might look in practice. |
Beta Was this translation helpful? Give feedback.
-
After discussion between @mbrush and @larrybabb we decided to move the The |
Beta Was this translation helpful? Give feedback.
-
This issue has been resolved. (see above) |
Beta Was this translation helpful? Give feedback.
-
The concept of
MappableEntity
was devised to replace the need for a concept similar to that of the HL7 FHIR data typeCodeableConcept
. The CodeableConcept type was complex and somewhat confusing and challenging to deal with as we attempted to port it into GKS's schemas. The primary value behind CodeableConcept was the inherent ability to map codings from disparate authorities and/or ontologies to a root concept. As such we discussed and arrived at building theMappableEntity
concept which contains amappings
array made up ofMapping
concepts. EachMapping
concept in turn, is comprised of aCoding
(code, label, system) and arelation
based on the SKOs relationship types (e.g. close match, exact match, etc...)After drafting and piloting the use of the
MappableEntity
it became clearer to the pilot implementers that this was a much more transparent means of relating codes from other concepts together for the primary concept that the producer of the data wanted to represent. It also provided the same level of flexibility (in the piloter's opinions) as the FHIR CodeableConcept. This benefit rose to the level of moving the implementers to makeMappableEntity
the parent class toDomainEntity
since many if not all domain entities will likely have multiple authorities that provide related codes or identifiers for a similar concept.It is my proposal here that we simply drop the
MappableEntity
concept and add themappings
array toDomainEntity
as it seems reasonable to this implementer that anyMappableEntity
could be considered aDomainEntity
in the first place. The addition of the extra layer simply complicates the schema and challenges the need to explain why a separate layer is justified for the abstract concept ofMappableEntity
.I would like to hear from others if they feel there is a good argument for keeping the
MappableEntity
as a separate parent class toDomainEntity
and why. If you agree with this and you are willing to add your support that would be helpful as well.Thank you.
Beta Was this translation helpful? Give feedback.
All reactions