Validation of archetypes and opts should be a functionality every implementation should have. The I_DEFINITION_ADL14.upload_opt(), I_DEFINITION_ADL14.upload_archetype() and I_DEFINITION_ADL2.upload_artefact() imply a validation of the uploaded resource should happen.
It would be useful to have a separate, explicit, validation function on theses interfaces to be able to test that individually, and to detect validation differences between implementations. Also is useful while developing since developers can validate their artifacts while developing.
For instance the I_DEFINITION_QUERY has an is_valid() function to validate queries. Also to be consistent, would be useful to have such functions on all the interfaces that deal with resources that should be validate somehow.
Operations valid_archetype(), valid_opt() and valid_artefact() where added to the spec on commit https://github.com/openEHR/specifications-SM/commit/3da77e559887a52a61bf1f2f4c2e38520c09a608
@Thomas about the naming, would it be better to name those “validate_xxx” instead of “valid_xxx”? Just thinking about the action behind the operation.