code: public void auditRetrieveDocumentEvent(
  			RFC3881EventOutcomeCodes eventOutcome,
  			String consumerIpAddress,
              String userName,
  			String repositoryRetrieveUri, String documentUniqueId)
  	{
  		if (!isAuditorEnabled()) {
  			return;
  		}
  		ExportEvent exportEvent = new ExportEvent(true, eventOutcome, new IHETransactionEventTypeCodes.RetrieveDocument(), null);
  		exportEvent.setAuditSourceId(getAuditSourceId(), getAuditEnterpriseSiteId());
  		exportEvent.addSourceActiveParticipant(repositoryRetrieveUri, getSystemAltUserId(), null, EventUtils.getAddressForUrl(repositoryRetrieveUri, false), false);
          if (!EventUtils.isEmptyOrNull(userName)) {
              exportEvent.addHumanRequestorActiveParticipant(userName, null, userName, (List<CodedValueType>) null);
          }
  		exportEvent.addDestinationActiveParticipant(consumerIpAddress, null, null, consumerIpAddress, true);
  		//exportEvent.addPatientParticipantObject(patientId);
  		exportEvent.addDocumentUriParticipantObject(repositoryRetrieveUri, documentUniqueId);
  		audit(exportEvent);
  	}
docs: Audits an ITI-17 Retrieve Document event for XDS.a Document Repository actors.
  
  @param eventOutcome The event outcome indicator
  @param consumerIpAddress The IP address of the document consumer that initiated the transaction
  @param repositoryRetrieveUri The URI that was used to retrieve the document
  @param documentUniqueId The Document Entry Unique ID of the document being retrieved (if known)