During the reception of studies, Orthanc works at the "DICOM instance" level (the study these instances belong to is not taken into consideration).
The notion of patient/study/series is only considered for the "on stable" events:
If you route at the instance level, and if each DICOM instance is automatically removed from Orthanc after having been routed, receiving a second copy of the instance will route it again. If your routing script doesn't remove the original instance, the behavior of Orthanc depends on the "OverwriteInstances" configuration option:
// Specifies how Orthanc reacts when it receives a DICOM instance
// whose SOPInstanceUID is already stored. If set to "true", the new
// instance replaces the old one. If set to "false", the new
// instance is discarded and the old one is kept. Up to Orthanc
// 1.4.1, the implicit behavior corresponded to "false".
"OverwriteInstances" : false,