Allthough all classes derived from c_object MUST have a node_id, it is not in the grammar defined for classes below c_defined_object (with exception of c_complex_object).
This can be the case if in the specs the node_id is put in c_complex_object and removed from the c_object
I have simplified the Archetype slot rule in the grammar, which should make it more obvious that it has a node_id. All other C_OBJECT descandants have a node_id in the AOM, but in the grammar, primitive objects don't have a node_id in ADL syntax. This is because it is manufactured on creation. Currently, the primitive node id-code is id9999 although this could change in the future.
I understand, thanks.
Does the AOM create the node-id? If it is in the specs, I can read it myself. Please tell me where to look
That's what I do - the constructor for C_PRIMITIVE_OBJECT creates the node_id using the primitive node code, which is defined as a constant in the spec, see http://www.openehr.org/releases/AM/latest/docs/AOM2/AOM2.html#_definition_and_utility_classes