code: public void addPatientParticipantObject(String patientId, byte[] messageId, IHETransactionEventTypeCodes transaction)
  	{
  		List<TypeValuePairType> tvp = new LinkedList<>();
  		if (messageId != null) {
  			if (transaction.getCode().equalsIgnoreCase("ITI-44")) {
  				// v3 message
  				tvp.add(getTypeValuePair("II", messageId));
  			}
  			else {
  				// v2 message
  				tvp.add(getTypeValuePair("MSH-10", messageId));
  			}
  		}
  		addParticipantObjectIdentification(
  				new RFC3881ParticipantObjectCodes.RFC3881ParticipantObjectIDTypeCodes.PatientNumber(), 
  				null,
  				null, 
  				tvp, 
  				patientId, 
  				RFC3881ParticipantObjectTypeCodes.PERSON, 
  				RFC3881ParticipantObjectTypeRoleCodes.PATIENT, 
  				null, 
  				null);
  	}
docs: Adds a Participant Object Identification block that representing a patient
  involved in the event
  
  @param patientId Identifier of the patient involved
  @param messageId	The message control id for this event
  @param transaction The transaction event