The Sysmex XN series sends additional information about the measurement outcome as individual tests (R records in ASTM) (e.g. RET_Abn_Scattergram, Atypical_Lympho?, PLT_Clumps? ACTION_MESSAGE_Aged_Sample?).
They are only relevant if they violate a numeric threshold on the analyzer. However, the XN sends them to infinity even if they are below the threshold.
If they are relevant they have an A (Abnormal) flag. If not, there is no flag.
Example:
R|29|^^^^Left_Shift?|20|||||F||||20230625112013
R|30|^^^^Atypical_Lympho?|0|||||F||||20230625112013
R|31|^^^^Blasts/Abn_Lympho?|190|||A||F||||20230625112013
R|32|^^^^RBC_Agglutination?|60|||||F||||20230625112013
R|33|^^^^Turbidity/HGB_Interference?|80|||||F||||20230625112013
R|34|^^^^Iron_Deficiency?|90|||||F||||20230625112013
R|35|^^^^HGB_Defect?|90|||||F||||20230625112013
R|36|^^^^Fragments?|0|||||F||||20230625112013
R|37|^^^^PLT_Clumps?|0|||||F||||20230625112013
We have to write rules in infinity to delete all the tests without an A flag. This adds effort for the affiliate, performance impact for the system (adding and then immediately deleting a result) and validation effort for the customer.
In the example above infinity has to save all 9 results then the rule engine has to delete all but Blasts/Abn_Lympho? (the only one with an A flag).
Regular samples don't have a single flag and all those irrelevant results are first saved then deleted. Each one also creates an order trace entry and events in the DB.
This could be easily solved in the driver with an option "Ignore IP and Action messages without a flag".
The driver XML already has a list of these tests built in for another option so it can be easily reused for this purpose.