View Javadoc

1   package uk.nhs.interoperability.capabilities;
2   
3   import com.xmlsolutions.annotation.Requirement;
4   
5   /**
6    * Interface used by ITK message recipients to determine
7    * whether or not the received message is a supported
8    * profile, is deprecated or is not supported.<br/><br/>
9    * 
10   * Note: This interface is a candidate for migration to the
11   * itk-api project in due course
12   * 
13   * @author Michael Odling-Smee
14   * @author Nicholas Jones
15   * @since version 0.1
16   */
17  public interface ITKProfileManager {
18  	
19  	/**
20  	 * The profileId is recognised and can be
21  	 * processed by the recipient
22  	 */
23  	public static final int ACCEPTED = 10;
24  	
25  	/**
26  	 * The profileId is either unknown or is
27  	 * not accepted by the recipient
28  	 */
29  	public static final int NOT_SUPPORTED = 20;
30  	
31  	/**
32  	 * The profileId is recognised and can be
33  	 * processed by the recipient - however support
34  	 * for this profile is deprecated and is likely
35  	 * to be removed in the future
36  	 */
37  	public static final int DEPRECATED = 30;
38  	
39  	/**
40  	 * Determines whether the provided <code>profileId</code>
41  	 * is supported.
42  	 * 
43  	 * @param profileId the profileId e.g.
44  	 * <code>urn:nhs-en:profile:ambulanceServicePatientReport-v1-0</code>
45  	 * @return an in representing the level of support for this profileId. 
46  	 * Permitted values of {@link #ACCEPTED}, {@link #NOT_SUPPORTED} or {@link #DEPRECATED}
47  	 */
48  	@Requirement(traceTo={"COR-DEH-09"}, status="abstract")
49  	public int getProfileSupportLevel(String profileId);
50  
51  }