@Override public FhirQueryAuditDataset enrichAuditDatasetFromRequest(FhirQueryAuditDataset auditDataset, Object request, Map<String, Object> parameters) { FhirQueryAuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters); if (request instanceof IdType) { IdType idType = (IdType) request; dataset.getPatientIds().add(idType.getValue()); } return dataset; }
@Override public FhirQueryAuditDataset enrichAuditDatasetFromRequest(FhirQueryAuditDataset auditDataset, Object request, Map<String, Object> parameters) { FhirQueryAuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters); Parameters params = (Parameters) request; if (params != null) { Type sourceIdentifier = params.getParameter().stream() .filter(ppc -> Constants.SOURCE_IDENTIFIER_NAME.equals(ppc.getName())) .map(Parameters.ParametersParameterComponent::getValue) .findFirst().orElseThrow(() -> new RuntimeException("No sourceIdentifier in PIX query")); if (sourceIdentifier instanceof Identifier) { Identifier identifier = (Identifier) sourceIdentifier; dataset.getPatientIds().add(String.format("%s|%s", identifier.getSystem(), identifier.getValue())); } else if (sourceIdentifier instanceof StringType) { StringType identifier = (StringType) sourceIdentifier; dataset.getPatientIds().add(identifier.getValue()); } else { dataset.getPatientIds().add(sourceIdentifier.toString()); } } return dataset; }