@Override public Iti65AuditDataset enrichAuditDatasetFromRequest(Iti65AuditDataset auditDataset, Object request, Map<String, Object> parameters) { Iti65AuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters); Bundle bundle = (Bundle) request; // DocumentManifest documentManifest = bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResource) .filter(DocumentManifest.class::isInstance) .map(DocumentManifest.class::cast) .findFirst().orElseThrow(() -> new RuntimeException("ITI-65 bundle must contain DocumentManifest")); dataset.enrichDatasetFromDocumentManifest(documentManifest); return dataset; }
@Override public boolean enrichAuditDatasetFromResponse(Iti65AuditDataset auditDataset, Object response, AuditContext auditContext) { Bundle bundle = (Bundle) response; // Extract DocumentManifest (UU)IDs from the response bundle for auditing bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResponse) .filter(Objects::nonNull) .filter(r -> r.getLocation() != null && r.getLocation().startsWith("DocumentManifest")) .findFirst() .ifPresent(r -> auditDataset.setDocumentManifestUuid(r.getLocation())); return super.enrichAuditDatasetFromResponse(auditDataset, response, auditContext); }
@Override public Iti65AuditDataset enrichAuditDatasetFromRequest(Iti65AuditDataset auditDataset, Object request, Map<String, Object> parameters) { Iti65AuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters); Bundle bundle = (Bundle) request; // DocumentManifest documentManifest = bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResource) .filter(DocumentManifest.class::isInstance) .map(DocumentManifest.class::cast) .findFirst().orElseThrow(() -> new RuntimeException("ITI-65 bundle must contain DocumentManifest")); dataset.enrichDatasetFromDocumentManifest(documentManifest); return dataset; }
@Override public boolean enrichAuditDatasetFromResponse(Iti65AuditDataset auditDataset, Object response, AuditContext auditContext) { Bundle bundle = (Bundle) response; // Extract DocumentManifest (UU)IDs from the response bundle for auditing bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResponse) .filter(Objects::nonNull) .filter(r -> r.getLocation() != null && r.getLocation().startsWith("DocumentManifest")) .findFirst() .ifPresent(r -> auditDataset.setDocumentManifestUuid(r.getLocation())); return super.enrichAuditDatasetFromResponse(auditDataset, response, auditContext); }
@Override public Iti65AuditDataset enrichAuditDatasetFromRequest(Iti65AuditDataset auditDataset, Object request, Map<String, Object> parameters) { Iti65AuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters); Bundle bundle = (Bundle) request; // DocumentManifest documentManifest = bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResource) .filter(DocumentManifest.class::isInstance) .map(DocumentManifest.class::cast) .findFirst().orElseThrow(() -> new RuntimeException("ITI-65 bundle must contain DocumentManifest")); dataset.enrichDatasetFromDocumentManifest(documentManifest); return dataset; }
@Override public boolean enrichAuditDatasetFromResponse(Iti65AuditDataset auditDataset, Object response, AuditContext auditContext) { Bundle bundle = (Bundle) response; // Extract DocumentManifest (UU)IDs from the response bundle for auditing bundle.getEntry().stream() .map(Bundle.BundleEntryComponent::getResponse) .filter(Objects::nonNull) .filter(r -> r.getLocation() != null && r.getLocation().startsWith("DocumentManifest")) .findFirst() .ifPresent(r -> auditDataset.setDocumentManifestUuid(r.getLocation())); return super.enrichAuditDatasetFromResponse(auditDataset, response, auditContext); }
FhirQueryAuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters);
@Override public boolean enrichAuditDatasetFromResponse(GenericFhirAuditDataset auditDataset, Object response, AuditContext auditContext) { // Domain Resource in the request? Extract Patient ID and Sensitivity at this point if (response instanceof IDomainResource) { addResourceData(auditDataset, (T) response); } if (response instanceof MethodOutcome) { MethodOutcome methodOutcome = (MethodOutcome) response; if (methodOutcome.getCreated() != null && methodOutcome.getCreated()) { auditDataset.setEventOutcomeIndicator(EventOutcomeIndicator.Success); } if (methodOutcome.getOperationOutcome() != null) { super.enrichAuditDatasetFromResponse(auditDataset, methodOutcome.getOperationOutcome(), auditContext); } else { auditDataset.setEventOutcomeIndicator(EventOutcomeIndicator.Success); } if (methodOutcome.getResource() != null && methodOutcome.getResource() instanceof IDomainResource) { addResourceData(auditDataset, (T) methodOutcome.getResource()); } else if (methodOutcome.getId() != null) { auditDataset.setResourceId(methodOutcome.getId()); if (methodOutcome.getId().hasResourceType()) { auditDataset.setAffectedResourceType(methodOutcome.getId().getResourceType()); } } } return super.enrichAuditDatasetFromResponse(auditDataset, response, auditContext); }
FhirQueryAuditDataset dataset = super.enrichAuditDatasetFromRequest(auditDataset, request, parameters);
@Override public boolean enrichAuditDatasetFromResponse(GenericFhirAuditDataset auditDataset, Object response, AuditContext auditContext) { // Domain Resource in the request? Extract Patient ID and Sensitivity at this point if (response instanceof IDomainResource) { addResourceData(auditDataset, (T) response); } if (response instanceof MethodOutcome) { MethodOutcome methodOutcome = (MethodOutcome) response; if (methodOutcome.getCreated() != null && methodOutcome.getCreated()) { auditDataset.setEventOutcomeIndicator(EventOutcomeIndicator.Success); } if (methodOutcome.getOperationOutcome() != null) { super.enrichAuditDatasetFromResponse(auditDataset, methodOutcome.getOperationOutcome(), auditContext); } else { auditDataset.setEventOutcomeIndicator(EventOutcomeIndicator.Success); } if (methodOutcome.getResource() != null && methodOutcome.getResource() instanceof IDomainResource) { addResourceData(auditDataset, (T) methodOutcome.getResource()); } else if (methodOutcome.getId() != null) { auditDataset.setResourceId(methodOutcome.getId()); if (methodOutcome.getId().hasResourceType()) { auditDataset.setAffectedResourceType(methodOutcome.getId().getResourceType()); } } } return super.enrichAuditDatasetFromResponse(auditDataset, response, auditContext); }
@Override public GenericFhirAuditDataset enrichAuditDatasetFromRequest(GenericFhirAuditDataset auditDataset, Object request, Map<String, Object> parameters) { super.enrichAuditDatasetFromRequest(auditDataset, request, parameters);
@Override public GenericFhirAuditDataset enrichAuditDatasetFromRequest(GenericFhirAuditDataset auditDataset, Object request, Map<String, Object> parameters) { super.enrichAuditDatasetFromRequest(auditDataset, request, parameters);