# HG changeset patch # User Sebastien Jodogne # Date 1434695664 -7200 # Node ID 04fa104ab63b890d01cebbec29f9dd691fb75efa # Parent 2e5dbbbe3889dc3939812b62a53ffe2d72d64a94 lua diff -r 2e5dbbbe3889 -r 04fa104ab63b Database/Lua/Autorouting.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Database/Lua/Autorouting.lua Fri Jun 19 08:34:24 2015 +0200 @@ -0,0 +1,3 @@ +function OnStoredInstance(instanceId, tags, metadata) + Delete(SendToModality(instanceId, 'orthanctest')) +end diff -r 2e5dbbbe3889 -r 04fa104ab63b Database/Lua/AutoroutingConditional.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Database/Lua/AutoroutingConditional.lua Fri Jun 19 08:34:24 2015 +0200 @@ -0,0 +1,19 @@ +function OnStoredInstance(instanceId, tags, metadata, remoteAet, calledAet) + -- The "remoteAet" and "calledAet" arguments are only available + -- since Orthanc 0.8.6 + if remoteAet ~=nil and calledAet ~= nil then + print ("Source AET: " .. remoteAet .. " => Called AET: " .. calledAet) + end + + -- Extract the value of the "PatientName" DICOM tag + local patientName = string.lower(tags['PatientName']) + + if string.find(patientName, 'knee') ~= nil then + -- Only send patients whose name contains "Knee" + Delete(SendToModality(instanceId, 'orthanctest')) + + else + -- Delete the patients that are not called "Knee" + Delete(instanceId) + end +end diff -r 2e5dbbbe3889 -r 04fa104ab63b Database/Lua/AutoroutingModification.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Database/Lua/AutoroutingModification.lua Fri Jun 19 08:34:24 2015 +0200 @@ -0,0 +1,21 @@ +function OnStoredInstance(instanceId, tags, metadata) + -- Ignore the instances that result from a modification to avoid + -- infinite loops + if (metadata['ModifiedFrom'] == nil and + metadata['AnonymizedFrom'] == nil) then + + -- The tags to be replaced + local replace = {} + replace['StationName'] = 'My Medical Device' + replace['0031-1020'] = 'Some private tag' + + -- The tags to be removed + local remove = { 'MilitaryRank' } + + -- Modify the instance, send it, then delete the modified instance + Delete(SendToModality(ModifyInstance(instanceId, replace, remove, true), 'orthanctest')) + + -- Delete the original instance + Delete(instanceId) + end +end