All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.projecthusky.common.enums.NameUse Maven / Gradle / Ivy

/*
 * This code is made available under the terms of the Eclipse Public License v1.0 
 * in the github project https://github.com/project-husky/husky there you also 
 * find a list of the contributors and the license information.
 * 
 * This project has been developed further and modified by the joined working group Husky 
 * on the basis of the eHealth Connector opensource project from June 28, 2021, 
 * whereas medshare GmbH is the initial and main contributor/author of the eHealth Connector.
 *
 */

package org.projecthusky.common.enums;

import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;

/*
 *
Nutzungszweck von Namen gemäss HL7 Vocabulary EntityNameUse [2.16.840.1.113883.5.45], derzeit nur wichtigste für die Schweiz
*
*/ /** *
Enum NameUse.
Enum NameUse.
*
Enum NameUse.
*/ public enum NameUse implements ValueSetEnumInterface { /** *
eCH-0011 V8.1 nameData: Other official person's family * name
*/ ASSIGNED("ASGN", "Assigned"), /** *
eCH-0011 V8.1 nameData: The person's pseudonym name
*/ PSEUDONYM("P", "Pseudonym"), /** *
eCH-0011 V8.1 nameData: The person's legal name. This is * the default. Thus, name elements without @use are legal names.
*/ LEGAL("L", "Legal"); /** The Constant CODE_SYSTEM_NAME. */ public static final String CODE_SYSTEM_NAME = "NameUse"; /** The Constant CODE_SYSTEM. */ public static final String CODE_SYSTEM_OID = "2.16.840.1.113883.5.1119"; /** *
Gets the Enum with a given code
*
Liefert den Enum anhand eines gegebenen codes
* * @param code *
*
code
* @return
the enum
*/ public static NameUse getEnum(String code) { for (final NameUse x : values()) { if (x.getCodeValue().equals(code)) { return x; } } return null; } /** *
Checks if a given enum is part of this value set.
*
Prüft, ob der gegebene enum Teil dieses Value Sets * ist.
* * @param enumName *
*
enumName
* @return true, if enum is in this value set */ public static boolean isEnumOfValueSet(String enumName) { if (enumName == null) { return false; } try { Enum.valueOf(NameUse.class, enumName); return true; } catch (final IllegalArgumentException ex) { return false; } } /** *
Checks if a given code value is in this value set.
*
Prüft, ob der gegebene code in diesem Value Set vorhanden * ist.
* * @param codeValue *
code
* @return true, if one enum of this valueset contains the given code */ public static boolean isInValueSet(String codeValue) { for (NameUse x : values()) { if (x.getCodeValue().equals(codeValue)) { return true; } } return false; } private String code; private String displayName; /** *
Instantiates this Enum Object with a given Code and * Display Name
Instantiiert dieses Enum Object * mittels eines Codes und einem Display Name
* * @param code *
*
code
* @param displayName *
*
display name
*/ NameUse(String code, String displayName) { this.code = code; this.displayName = displayName; } /** *
Gets the code system name.
Liefert * code system name.
* * @return
the code system name
*/ @Override public @NonNull String getCodeSystemName() { return CODE_SYSTEM_NAME; } /** *
Gets the code system id.
Liefert * die code system id.
* * @return
the code system id
*/ @Override public @NonNull String getCodeSystemId() { return CODE_SYSTEM_OID; } /** *
Gets the actual Code as string
*
Liefert den eigentlichen Code als String
* * @return
the code
*/ public String getCodeValue() { return code; } /** *
Gets the display name.
Liefert * display name.
* * @return
the display name
*/ @Override public String getDisplayName() { return displayName; } @Override public @NonNull String getDisplayName(@Nullable LanguageCode languageCode) { return getDisplayName(); } @Override public @NonNull String getValueSetId() { return CODE_SYSTEM_OID; } @Override public @NonNull String getValueSetName() { return CODE_SYSTEM_NAME; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy