INSTRUCTION_DETAILS.instruction_id is not an id but a selector for many possible instructions

Description

Reviewing the ACTION.instruction_details<INSTRUCTION_DETAILS> structure, found that INSTRUCTION_DETAILS.instruction_id<LOCATABLE_REF> is not really an id of an INSTRUCTION instance, but a selector for many INSTRUCTIONs that can happen at a certain path in a COMPOSITION.

Case Archetype: COMPOSITION has 1..* INSTRUCTION with same nodeId (multiple occurrences of the same INSTRUCTION in a COMPO).

LOCATABLE_REF has:

  • id: reference to the VERSION which VERSION.data (COMPOSITION), contains the INSTRUCTION that needs to be referenced from INSTRUCTION_DETAILS

  • path: path to the INSTRUCTION

The problem is that the path is not an identifier of an INSTRUCTION instance, it is a selector and will match all the INSTRUCTION occurrences in the COMPOSITION.

The solution is to use the INSTRUCTION.uid instead of the LOCATABLE_REF on INSTRUCTION_DETAILS, like there is an INSTRUCTION_DETAILS.activity_id to reference the ACTIVITY instance.

Environment

None

Reporter

Pablo Pazos

Components

Affects versions

Priority

Major
Configure