1 /*
2 * Copyright 2017 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package org.openehealth.ipf.commons.audit.codes;
18
19
20 import lombok.Getter;
21 import org.openehealth.ipf.commons.audit.types.EnumeratedValueSet;
22
23 /**
24 * Participant Object Type Role codes as originally specified in https://tools.ietf.org/html/rfc3881#section-5.5
25 * and now maintained in http://dicom.nema.org/medical/dicom/current/output/html/part15.html#sect_A.5.1.2.
26 * This value set is a literal part of the audit schema, ie.e. no other codes may be used.
27 *
28 * @author Christian Ohr
29 * @since 3.5
30 */
31 public enum ParticipantObjectTypeCodeRole implements EnumeratedValueSet<Short> {
32
33 /**
34 * This object is the patient that is the subject of care related to this event.
35 * It is identifiable by patient ID or equivalent. The patient may be either human or animal.
36 */
37 Patient(1),
38 /**
39 * This is a location identified as related to the event. This is usually the location where the event took place.
40 * Note that for shipping, the usual events are arrival at a location or departure from a location.
41 */
42 Location(2),
43
44 Report(3),
45 Resource(4),
46 MasterFile(5),
47 User(6),
48 List(7),
49 Doctor(8),
50 Subscriber(9),
51 Guarantor(10),
52 SecurityUserEntity(11),
53 SecurityUserGroup(12),
54 SecurityResource(13),
55 SecurityGranularityDefinition(14),
56 Provider(15),
57 DataDestination(16),
58 DataRepository(17),
59 Schedule(18),
60 Customer(19),
61 Job(20),
62 JobStream(21),
63 Table(22),
64 RoutingCriteria(23),
65 Query(24),
66
67 // Added recently
68
69 DataSource(25),
70 ProcessingElement(26);
71
72 @Getter
73 private Short value;
74
75 ParticipantObjectTypeCodeRole(int value) {
76 this.value = (short) value;
77 }
78
79 public static ParticipantObjectTypeCodeRole enumForCode(Short code) {
80 return EnumeratedValueSet.enumForCode(ParticipantObjectTypeCodeRole.class, code);
81 }
82
83 }