I am pretty sure that the “STABLE_STUDY” event gets triggered after a study is “Stable” for the number of seconds specified in the orthanc configuration file.
// Number of seconds without receiving any instance before a // patient, a study or a series is considered as stable.
// patient, a study or a series is considered as stable. “StableAge” : 60,
“StableAge” : 60,
I am not sure if there is some sort of limit to the number of instances sent. If you receive the study in ‘pieces’ such that it becomes stable multiple times during the acquisition, then presumably the event would get triggered multiple times. You might have to look at the log files to really understand what is happening.
Depending upon your application, you might want to consider using a different method (e.g. detecting a new Instance and sending each instance, or have some method to detect when a study is ‘complete’, and then send the study.)
There are a number of other Change events, e.g.
OrthancPluginChangeType_NewChildInstance = 2, /*!< A new instance was added to this resource /
OrthancPluginChangeType_NewInstance = 3, /!< New instance received /
OrthancPluginChangeType_NewPatient = 4, /!< New patient created /
OrthancPluginChangeType_NewSeries = 5, /!< New series created /
OrthancPluginChangeType_NewStudy = 6, /!< New study created /
OrthancPluginChangeType_StablePatient = 7, /!< Timeout: No new instance in this patient /
OrthancPluginChangeType_StableSeries = 8, /!< Timeout: No new instance in this series /
OrthancPluginChangeType_StableStudy = 9, /!< Timeout: No new instance in this study */