public static HL7Message makePixQuery(String pid, String... domains) {
HL7Segment msh = HL7Segment.makeMSH();
msh.setField(8, "QBP^Q23^QBP_Q21");
HL7Segment qpd = new HL7Segment(5);
qpd.setField(0, "QPD");
qpd.setField(1, "IHE PIX Query");
qpd.setField(2, "QRY" + msh.getField(9, ""));
qpd.setField(3, pid);
qpd.setField(4, HL7Segment.concat(domains, '~'));
HL7Segment rcp = new HL7Segment(8);
rcp.setField(0, "RCP");
rcp.setField(1, "I");
HL7Message qbp = new HL7Message(3);
qbp.add(msh);
qbp.add(qpd);
qbp.add(rcp);
return qbp;
}