RDFBones / RDFBonesPhaleron

An RDFBones implementation of the data collection routines developed for the Phaleron Bioarchaeological Project.
1 stars 0 forks source link

Dental inventory: Scenario 'No teeth present' #68

Closed cuboideum closed 1 year ago

cuboideum commented 2 years ago

The Phaleron Dental Inventory Template (version 25 May 2022) has a cell that is labelled "If no teeth present, put "9" in the shaded cell to the right". In the AnthroGraph mockup this is interpreted as a button which, if clicked, automatically sets all measurement data to an appropriated state.

Clarification of Functionality

The problem with the button approach is that we need to specifically define what actions it should trigger. Here, I discuss each measurement datum separately.

Presence of alveolar bone (about dental alveoles) A button would be helpful to set all instances of this measurement datum to 'Absent' (standards-patho:AbsenceOfFeature) if the entire jawbone is not present.

Presence of tooth (about tooth position) A button would be helpful to set all instances of this measurement datum to 'Unobservable' (phaleron-patho:ImpossibilityOfObservation) if the entire jawbone is not present. Absence of teeth is not informative as evidence from the alveolar bone still determines if tooth loss occurred pre- or postmortem.

Development of tooth (about tooth) A button would be helpful to set all instances of this measurement datum to 'Unobservable' (phaleron-patho:ImpossibilityOfObservation) if no teeth from the dental arcade are present.

Eruption of tooth (about tooth position) A button would be helpful to set all instances of this measurement datum to 'Unobservable' (phaleron-patho:ImpossibilityOfObservation) if the entire jawbone is not present. Isolated teeth that are not fully developed would not be informative. On the other hand, just the jaw bone without teeth would also prevent scoring.

Tooth wear (about tooth) A button would be helpful to set all instances of this measurement datum to 'No information available' (dentalwear:NoInformation) if no teeth from the dental arcade are present.

This leaves us with two events that are relevant for the automatic completion of data entry controls:

Each of them would require a button of their own:

@JEB13, @HannahLiedl, @hayesleigh and @jessica-rothwell, do you agree that this would be the desired functionality? Do you have corrections or alternative suggestions?

Problems With Implementation in AnthroGraph

@zarquon42b has pointed out a problem with the functionality outlined above when it comes to programming AnthroGraph. A straightforward solution for the buttons would be to define a range of category labels based on the specifications outlined above and assign to each measurement datum the one from this range that is specified by its value specification. Unfortunately, the 'Presence and observability value specification' (phaleron-di:PresenceAndObservabilityValueSpecification) used with 'Presence of alveolar bone' (phaleron-di:PresenceOfAlveolarBone) contains both the labels 'Unobservable' (phaleron-patho:ImpossibilityOfObservation) and 'Absent' (standards-patho:AbsenceOfFeature). So it would not be clear which is applicable.

Once the the desired functionality is agreed upon (see above) a solution for implementation can be sought.

cuboideum commented 2 years ago

@JEB13, @HannahLiedl, @hayesleigh, @jstamer95, @jessica-rothwell and @sacheever: Please discuss required functionality and give feedback as discussed in today's meeting.

jstamer95 commented 1 year ago

Hi all, I like the way that @cuboideum has laid out the two options for either the alveolar bone of one dental arcade being missing or all teeth from the dental arcade being missing. I think that this is a good solution. I can also see utility for separately an option for "tooth eruption" and/or "tooth development" being set for an arcade to "unobservable" as most of the time these have been recorded as such in the recording sheets.

My question on functionality is: when these options for missing bone or missing teeth are checked, how easily could one or two teeth that are scorable be altered? In other words (as a hypothetical) if the entire mandible is missing except for a fragment of the LLM3 alveolar bone and the LLM3 and LRC are present and scorable-- can both the alveolar bone being absent and all teeth absent be checked while still being able to edit the LLM3 alveolar bone observation and the LLM3 and LRC observation? I think that this feature would increase user functionality and speed of entering data.

Finally, as discussed in the meeting on 10/18, I agree that presence/absence of the alveolar bone should be optional because recording this feature is new and not all individuals have had this assessed. I think that this would help those entering data and that this field could always be added in a later round of data collection.

HannahLiedl commented 1 year ago

I think the option for autofill is great if the alveolar bone and dentition are entirely missing (e.g. only the inferior half of the skeleton is present). In that case all we recorded for now is "dentition absent" essentially and that is the only information the data entry person has available. If parts of the alveolar bone and teeth are present, then the entire form would be filled out and can also be transferred. Obviously it makes it easier to transfer the data if I have a lot of autofill options, but I understand if that is not possible for now.

Alveolar data should definitely be optional for now as this is information we don't have available for all individuals.

cuboideum commented 1 year ago

My question on functionality is: when these options for missing bone or missing teeth are checked, how easily could one or two teeth that are scorable be altered? In other words (as a hypothetical) if the entire mandible is missing except for a fragment of the LLM3 alveolar bone and the LLM3 and LRC are present and scorable-- can both the alveolar bone being absent and all teeth absent be checked while still being able to edit the LLM3 alveolar bone observation and the LLM3 and LRC observation? I think that this feature would increase user functionality and speed of entering data.

The button will automatically fill out all relevant controls. Afterwards, entries of individual controls can be changed manually.

cuboideum commented 1 year ago

If parts of the alveolar bone and teeth are present, then the entire form would be filled out and can also be transferred.

@HannahLiedl: What do you mean by 'can also be transferred'?

HannahLiedl commented 1 year ago

@cuboideum I mean the essentially just copying the data over from the excel spreadsheet to the database. When I say "dentition absent" the form is blank otherwise, but if only one tooth is present the entire form will still be filled out.

cuboideum commented 1 year ago

Following discussion within the RDFBones/AnthroGraph workgroup on 25 October 2022, I have drafted a possible solution for defining default values for measurement data.

This would involve the introduction of the property 'has default value' with two subproperties:

The specifications for GUI-buttons proposed above all relate to the situation that skeletal material is not present for investigation. With measurement data rating the presence of this material, this would be described by the 'has missing evidence value'. The 'has null value' would describe scenarios where it is unclear if the required skeletal element is present or not.

RDFBones-DefaultValues-CategoricalNoEvidence

With the other measurement data, the default null and missing evidence values coincide, as far as I can see.

RDFBones-DefaultValues-CategoricalNULL

For implementation in AnthroGraph this would mean that we can always go with 'has missing evidence value'.

After giving this some thought, I would say that we could actually add the definitions of default values to the ontologies where the measurement values are defined and not to the app ontology. Which option describes missing assessment and missing evidence should be clear from the value specification and not dependent on the use case.

I am not at all sure about the term 'has null value'. Technically, the SQL statement NULL means that no data has been stored in the database. It makes not statement about why this is. The 'unobservable' items in the Phaleron data scheme indicate that someone has evaluated the situation and come to the conclusion that assessment is (currently) impossible. So probably we should rather term it 'has failed assessment value'.

@zarquon42b and @15E601: What do you think?

cuboideum commented 1 year ago

During a meeting of the RDFBones/AnthroGraph workgroup on 29 November 2022 it was decided to implement properties for defining default labels with categorical measurement data as well as default values for scalar measurement data. Both are needed with dental inventories as 'Wear of molar' is a scalar measurement datum.

The concept is demonstrated by the example of a 'no jaw bone' scenario in the file phaleron-di_NetworkGraphics.svg with commit https://github.com/RDFBones/RDFBonesGraphics/commit/2756679fa1e7478431ea98d0bf2d8b7e0dea664f.

cuboideum commented 1 year ago

The required changes to the RDFBones core ontology and the Phaleron dental inventory ontology extension are made. The Phaleron app ontology has been updated.

@zarquon42b: You can now begin implementation in AnthroGraph. The mockup is updated to include the two GUI buttons that are to be created for each dental arcade.

zarquon42b commented 1 year ago

rdfbones:hasMissingMaterialValue refers to rdfs:Literal but input form expects xsd:integer Proposal: Create hasMissingMaterialIntegerValue in appropriate namespace

cuboideum commented 1 year ago

The requested data property is introduced with commit https://github.com/RDFBones/Phaleron-DentalInventory/commit/cacc96875639fbcbaef36f849c9519ee784f1bb9. The Phaleron App Ontology has been updated to incorporate the changes with commit https://github.com/AnthroGraph/Phaleron-AppOntology/commit/42c9e7d524783bb5cd4a2dce16a34ddaa2079cfd.

cuboideum commented 1 year ago

On 6 December 2022, @zarquon42b reported via email that the auto-fill buttons were implemented in AnthroGraph and ready for testing. @hayesleigh confirmed proper functionality on the same day, also via email.