code: public void auditCrossGatewayQueryEvent(
  			RFC3881EventOutcomeCodes eventOutcome,
  			String initiatingGatewayUserId, String initiatingGatewayUserName, String initiatingGatewayIpAddress,
  			String respondingGatewayEndpointUri, 
  			String storedQueryUUID, String adhocQueryRequestPayload, String homeCommunityId,
  			String patientId,
              List<CodedValueType> purposesOfUse,
  			List<CodedValueType> userRoles)
  	{
  		if (!isAuditorEnabled()) {
  			return;
  		}
  		auditQueryEvent(false, 
  				new IHETransactionEventTypeCodes.CrossGatewayQuery(), eventOutcome, 
  				getAuditSourceId(), getAuditEnterpriseSiteId(), 
  				initiatingGatewayUserId, null, initiatingGatewayUserName, initiatingGatewayIpAddress, 
  				initiatingGatewayUserName, initiatingGatewayUserName, false,
  				respondingGatewayEndpointUri, getSystemAltUserId(), 
  				storedQueryUUID, adhocQueryRequestPayload, homeCommunityId, 
  				patientId, purposesOfUse, userRoles);
  	}
docs: Audits an ITI-38 Cross Gateway Query event for XCA Responding Gateway actors.
  
  @param eventOutcome The event outcome indicator
  @param initiatingGatewayUserId The Active Participant UserID for the consumer (if using WS-Addressing)
  @param initiatingGatewayUserName The Active Participant UserName for the consumer (if using WS-Security / XUA)
  @param initiatingGatewayIpAddress The IP Address of the consumer that initiated the transaction
  @param respondingGatewayEndpointUri The URI of this registry's endpoint that received the transaction
  @param storedQueryUUID The UUID of the stored query
  @param adhocQueryRequestPayload The payload of the adhoc query request element
  @param homeCommunityId The home community id of the transaction (if present)
  @param patientId The patient ID queried (if query pertained to a patient id)
  @param purposesOfUse purpose of use codes (may be taken from XUA token)
  @param userRoles roles of the human user (may be taken from XUA token)