Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDMP-659 - add package components, medical device and characteristics #498

Merged
merged 14 commits into from
Oct 24, 2023

Conversation

tw-osthus
Copy link
Contributor

Description: add package components, medical device and associated physical characteristics in idmp-mprd, with more general classes for materials in idmp-sub

@tw-osthus
Copy link
Contributor Author

volume is used as physical characteristic class in mprd, and as quantity kind instance in ucum. @ElisaKendall how can be solve this conflict?

@ElisaKendall
Copy link
Contributor

volume is used as physical characteristic class in mprd, and as quantity kind instance in ucum. @ElisaKendall how can be solve this conflict?

My suggestion is that volume and other quantity kinds should be modeled as instances rather than as classes, following the approach that is taken in the OMG Quantities and Units ontology and related UCUM examples, rather than re-modeling volume as a class. I will take a look at the standard and see what is required, but to model every quantity kind, dimension, and unit as a class would produce a model that requires everyone using it to create instances of these classes, which is not efficient or sustainable.

Copy link
Contributor

@mereolog mereolog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way that physical characteristics are modelled assumes that things do not change (wrt these characteristics, e.g., wrt weight).

Perhaps we should be explicit about that or start modelling something like states (of things) or their temporal parts.

<cmns-av:synonym>width</cmns-av:synonym>
</owl:Class>

<owl:Class rdf:about="&idmp-mprd;WithPhysicalCharacteristics">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tw-osthus can we have the name that starts with a noun, e.g., ThingWithPhysicalCharacteristics?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tw-osthus @mereolog I do not like this name, nor do I like idea of inheriting all of these specific characteristics, although I see them in the diagram in ISO 11615. Why can't we deviate from the standard (since this is an ontology), say that these physical characteristics are subclasses of physical characteristic, and just keep the one restriction on matter or material that it has some physical characteristic? Is there some sort of matter or material that cannot not have physical characteristics?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tw-osthus If manufactured item is a specification, it cannot also have physical characteristics - it can only have characteristics (aspects). Otherwise the ontology will be made logically inconsistent. So - I understand saying that something that is not matter, such as a manufactured item, is intended to have certain characteristics when manufactured, but this whole approach is taking us down a slippery slope.

Copy link
Contributor Author

@tw-osthus tw-osthus Oct 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this context, the physical characteristics are specifications or descriptions of physical characteristics of matter. Amount is also a physical characteristic and exists already a while in the ontology.
Note that the definition of physical characteristic is

characterization of matter (or a specification thereof) ...

allows this use case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not like "ThingsWithPhysicalCharacteristics" as well, but it is a defined class that represents the "physical characteristics" entity in the ISO IDMP standard. The properties collected in it are shared between 3 different entities, so the class simplifies the ontology and ensures the same structure as in the standard. It is not useless. I have added a note, that it should not be used outside the ontology. Note that the properties are optional, except the one restriction, that adds that a thing with physical characteristic must have a physical characteristic, which is not part of the standard and only in the ontology.

We can go without this technical class and copy the restrictions into the 3 classes directly.

If we want to forbid defined classes in the ontology, that are only used to introduce aspects to other classes, e.g. adding certain set of restrictions, without being universals, then that can make ontology design more inefficient and less robust. I compare these defined classes to aspects in aspect oriented programming. They are shared between classes (in object oriented programming) and are technically classes themselves, but are not domain entities.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this context, the physical characteristics are specifications or descriptions of physical characteristics of matter. Amount is also a physical characteristic and exists already a while in the ontology. Note that the definition of physical characteristic is

characterization of matter (or a specification thereof) ...

allows this use case.

Yes, I get that and recognized it when I made the comment, but I am still concerned a bit that users may struggle with this. I understand the separation of concerns and why it was done in Allotrope, but hopefully we can be clear enough in IDMP that people are not confused.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not like "ThingsWithPhysicalCharacteristics" as well, but it is a defined class that represents the "physical characteristics" entity in the ISO IDMP standard. The properties collected in it are shared between 3 different entities, so the class simplifies the ontology and ensures the same structure as in the standard. It is not useless. I have added a note, that it should not be used outside the ontology. Note that the properties are optional, except the one restriction, that adds that a thing with physical characteristic must have a physical characteristic, which is not part of the standard and only in the ontology.

We can go without this technical class and copy the restrictions into the 3 classes directly.

If we want to forbid defined classes in the ontology, that are only used to introduce aspects to other classes, e.g. adding certain set of restrictions, without being universals, then that can make ontology design more inefficient and less robust. I compare these defined classes to aspects in aspect oriented programming. They are shared between classes (in object oriented programming) and are technically classes themselves, but are not domain entities.

I'm not ready to rule out defined classes where appropriate. But this class stood out to me due to its name and the bag of characteristics in it. I think it is essentially a collection of characteristics, which is a "device" used to simplify the relational model, I guess is the point I was trying to make. Adding the one restriction that says specifications of products (medicinal and pharmaceutical?) have some physical characteristic, and then keeping the classes of characteristics as subclasses of physical characteristic seems like the right model to me. Then users can add whichever ones apply to a given product.

<cmns-av:synonym>width</cmns-av:synonym>
</owl:Class>

<owl:Class rdf:about="&idmp-mprd;WithPhysicalCharacteristics">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have some more demanding restriction, e.g., like "isCharacterizedBy some Physical Characteristic"?

Copy link
Contributor Author

@tw-osthus tw-osthus Oct 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

physical characteristics in ISO-IDMP is entity with the properties that I have added with minQualifiedCardinality. It makes sense that something with physical characteristic has at least one physical characteristic.

done

Copy link
Contributor

@ElisaKendall ElisaKendall Oct 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tw-osthus @mereolog I think there is a deeper issue here - the distinction between something being a specification for something and being a thing in the real world is starting to catch up with us. The subclasses of thing with physical characteristic are all specifications. Yet we have this class called ThingWithPhysicalCharacteristic, which, to anyone not familiar with the ontology would think should be a subclass of Matter. My recommendation is that we do not create this odd construct (which is something one of my java programmers would have done back in the day), and not create all of these subproperties, but instead keep the subclasses of physical characteristic and add a restriction on each of the four subclasses of ThingWithPhysicalCharacteristic that says it can have either min 0 or some physical characteristic. We -could- add the min 0 restriction to Specification, if that makes sense, because even an image will have dimensions, despite what the note on ThingWithPhysicalCharacteristic says. But I think we should NOT create that class and claim that the ontology deviates from the standard in this case.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again physical characteristic as defined in IDMP-O is not restricted to physical stuff, but can be used to specify physical stuff. In fact, the use of the ontology is only in this sense of specification. The use of physical characteristics such as amount on the physical matter is only applied on measuring, which will apply in studies or in the manufacturing or validation of products, but not in regulation affairs.

As specifications about physical stuff is what is the domain of IDMP, we made this compromise. Personally I'd have preferred that we keep the distinction, and in Allotrope we certainly kept them separate. However Allotrope is a different domain, its focus is on measuring. In IDMP we have recognized, that the strict distinction makes the ontology to complicated for the IDMP domain and so we have decided to relax the distinctions between specification and the real world. We cannot have the cake and eat it too.

Using "comprises" as relation between package items to express containment is far worse then this and we allowed and recommended it in order to simplify the use of the IDMP ontology. Package items are specifications about physical containers. Containers contain other things, not their specifications. Specifications may contain sub-specifications and propositions.

mereolog
mereolog previously approved these changes Oct 12, 2023
…stics' in favor of an umbrella property 'has physical characteristic' whose subproperties are various physical characteristics, and add restrictions on container specification, material specification, product specification and material to facilitate usage
Copy link
Contributor

@ElisaKendall ElisaKendall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine with the most recent changes applied.

@ElisaKendall ElisaKendall merged commit 721bd87 into master Oct 24, 2023
9 checks passed
@ElisaKendall ElisaKendall deleted the IDMP-659 branch October 24, 2023 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants