For translation you could define a variant that would fit most ADT messages. Take an ADT_A01 and just make everything after the MSH optional. That would probably fit all but messages like ADT_A17 swap messages with multiple PID segments. Then just BULKCOPY and make the change. You could call the variant whatever like ADT_XXX