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 }