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 }