Closed dih-cdisc closed 1 year ago
BC Collections / Recursion / Groupings are all referring to the same concept on being able to group BCs into various levels.
e.g.,
When building a study a user may select from any level, the information being taken from a Library (e.g. CDISC Library) and included into the USDM (Study)
I have been going back and forth over the semantics of this all night. I'll create an actual class diagram shortly, but one thing I have decided on is that there will likely be two classes: one that plays a piece in the ontology and one that associates BCs with the ontology. The mechanics are straightforward. The semantics (class names, etc..) I've been flip-flopping on. I'll try and just make a command decision here shortly.
So, at first I had two different types of classes, one the parent class Category and a sub class CategoryLeaf. This polymorphism would just confuse too many. So, the rules for when members can be added is now not the job of the SDR class. That logic would exist in the ontology or taxonomy builder class that generates the doubly-linked list of of categories.
As for the BC itself, not sure of what kind of Code or AliasCode properties it might have. Just have a label (non-conformant) at the moment.
Also note, this design does not restrict the ontology to single inheritance as any category can have multiple parents..
CT spreadsheet containing Sprint 7 items and questions in yellow in column M for @daveih to review. DDF Terminology_Sprint 7 changes_2023-01-20.xlsx
Responses to @EMuhlbradt @czwickl DDF.Terminology_Sprint.7.changes_2023-01-20.xlsx
Let's discuss.
One more time:
Question from Erin/Craig: What do you mean by 'bcPropertyDatatype'? Do you actually mean the datatype of the property itself or the datatype of the valid responses for the stated property? Is the attribute better named as 'Biomedical Concept Property Response Data Type'
The model seems to imply that bcPropertyDatatype is a string based on the latest model diagram?! So why do we need this info? Shouldn't the datatype be on the response code instead?
Question from Craig/Erin: What do the modelers mean by a biomedical concept surrogate? Like A1C level being a surrogate for diabetes diagnosis? Or something else entirely?
Please see attached draft CT for sprint 7 and biomedical concept modeling: DDF.Terminology_Sprint.7.changes_2023-01-30.xlsx
See below for an updated diagram, including the impact of adding BC to the current model
Question from Craig/Erin: What do the modelers mean by a biomedical concept surrogate? Like A1C level being a surrogate for diabetes diagnosis? Or something else entirely?
It is for when we know we need a BC but dont have a BC definition available, we can fill in a placeholder definition, maybe point at a LOINC or Snomed code for an equivalent definition
Question from Erin/Craig: What do you mean by 'bcPropertyDatatype'? Do you actually mean the datatype of the property itself or the datatype of the valid responses for the stated property? Is the attribute better named as 'Biomedical Concept Property Response Data Type'
The model seems to imply that bcPropertyDatatype is a string based on the latest model diagram?! So why do we need this info? Shouldn't the datatype be on the response code instead?
It is the response datatype but the name gets too long. The model names are implementation "unfriendly" as it is.
Comment from Erin/Craig: There appears to be some mis-alignment between Dave's latest Ball and Stick diagram and the latest model pict from Gaston. Which is the source of truth?
Response to above for @EMuhlbradt and @czwickl
Given @EMuhlbradt's checking @ggasg, couple of tweaks needed
New DIH sketch for @EMuhlbradt @czwickl @ggasg Note the blue comments down bottom left of diagram
@dih-cdisc @EMuhlbradt @czwickl Thank you very much for the feedback. Model has been updated to reflect the corrections. Also, at the risk of proposing something off the mark:
Thoughts? See below for updated diagram.
Regarding BiomedicalConcept: bcConceptDefinition (AliasCode) and BiomedicalConceptProperty: bcPropertyDefinition (AliasCode): I'm worried that we are using the word 'definition' and 'name' interchangeably and I'm not sure we want to do that. Based on @dih-cdisc comment: 'holds the CT definition of what the BC is called'....so does it hold a name or definition? If a name, is it the standard or preferred name given by the BC source?
The information we get from the CDISC API for a BC is this.
For the BC itself
For a property
So, I assume, the C code "conceptId" is the definition
@dih-cdisc @EMuhlbradt @czwickl Thank you very much for the feedback. Model has been updated to reflect the corrections. Also, at the risk of proposing something off the mark:
- BiomedicalConcept: bcConceptDefinition (AliasCode)
- BiomedicalConceptProperty: bcPropertyDefinition (AliasCode)
Thoughts? See below for updated diagram.
@ggasg @czwickl @EMuhlbradt I am good with the attribute names suggested as long as Craig/Erin happy.
Image sent via email on Wednesday 1st Feb
Updated version of sketch
See ticket DDF-RA #18