Introduction

This page is an experimental feature that shows traceability between the ITK transport and distribution requirements and the codebase (including the API, reference implementation and samples project).

The intention is both to show the requirments coverage of the reference implementation as well as allowing readers to jump to the specific parts of the API and reference implementation that trace to a particular requirement they are interested in.

What is the status of the requirement traceability?

Currently there are some requirement annotations in the API and reference implementation codebase to illustrate how the traceability might function. The traceability is not complete - however we are looking for feedback (positive and negative) to understand how useful (or not) such tracebility is.

Why can't I see the requirement text?

At the moment the trace table (below) is entirely built from the annotation references in the source code. Our ambition is to eventually show the requirement text in the table below however we would need a machine processable list of requirements to achieve this.

Requirements Traceability

WS - ITK Web Service requirements

Requirement Reference Implementation Code
WS-PAT-01
  • uk.nhs.interoperability.source.ITKMessageSender#sendSync (java:method)
  • uk.nhs.interoperability.consumer.ITKMessageConsumer#onSyncMessage (java:method)
  • uk.nhs.interoperability.consumer.AbstractSimpleMessageServlet#doPost (java:method)
  • uk.nhs.interoperability.consumer.AbstractSimpleMessageServlet#processMessage (java:method)
  • uk.nhs.interoperability.transport.WS.ITKSenderWSImpl#sendSync (java:method)
  • uk.nhs.interoperability.transport.WS.ITKSenderWSImpl#transportSend (java:method)
  • WS-PAT-02
  • uk.nhs.interoperability.source.ITKMessageSender#sendAsync (java:method)
  • uk.nhs.interoperability.consumer.ITKMessageConsumer#onMessage (java:method)
  • uk.nhs.interoperability.source.ITKCallbackHandler#onMessage (java:method)
  • uk.nhs.interoperability.source.ITKCallbackHandler#onAck (java:method)
  • uk.nhs.interoperability.source.ITKCallbackHandler#onNack (java:method)
  • uk.nhs.interoperability.consumer.AbstractCallbackListenerServlet#doPost (java:method)
  • uk.nhs.interoperability.consumer.AbstractCallbackListenerServlet#processSOAPMessage (java:method)
  • uk.nhs.interoperability.transport.WS.ITKSenderWSImpl#sendAysnc (java:method)
  • uk.nhs.interoperability.transport.WS.ITKSenderWSImpl#transportSend (java:method)
  • WS-ADR-01
  • uk.nhs.interoperability.transport.ITKTransportProperties#setTransportMessageId (java:method)
  • uk.nhs.interoperability.transport.ITKTransportProperties#getTransportMessageId (java:method)
  • uk.nhs.interoperability.infrastructure.ITKTransportPropertiesImpl#getTransportMessageId (java:method)
  • uk.nhs.interoperability.infrastructure.ITKTransportPropertiesImpl#setTransportMessageId (java:method)
  • WS-STD-03
  • uk.nhs.interoperability.transport.WS.WSSOAPMessageImpl#serialise (java:method)
  • uk.nhs.interoperability.util.xml.XPaths#WSA_TO (java:member)
  • uk.nhs.interoperability.util.xml.XPaths#WSA_FROM (java:member)
  • uk.nhs.interoperability.util.xml.XPaths#WSA_REPLY_TO (java:member)
  • uk.nhs.interoperability.util.xml.XPaths#WSA_FAULT_TO (java:member)
  • uk.nhs.interoperability.util.xml.XPaths#WSA_ACTION (java:member)
  • WS-EXT-03
  • uk.nhs.interoperability.infrastructure.ITKTransportPropertiesImpl#buildFromSoap (java:method)
  • IFA - Infrastructure requirements

    Requirement Reference Implementation Code
    IFA-SEC-02
  • uk.nhs.interoperability.capabilities.AuditService#auditEvent (java:method)
  • uk.nhs.interoperability.service.ITKSimpleAudit (java:class)
  • Key

    The following table is a guide to the implementation status of the traced requirements

    Item Description
    - If the requirement you are interested in is not represented in the trace table (above) then it has not been traced to the API and reference implementation codebase - the implementation status is effectively "unknown"
    REQ-## The requirement has been traced to the codebase, however implementation of the necessary logic has not been started - i.e. there are only code stubs
    REQ-## Traced requirements in the codebase indicate that the of the functionality is in-place but the requirement has not been fully realised
    REQ-## All traced references of the requirement in the codebase indicate that the requirement has been fully-implemented