org.projecthusky.common.ch.enums.r202104.HcpProfession Maven / Gradle / Ivy
Show all versions of husky-common-ch Show documentation
/*
* 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.ch.enums.r202104;
import java.util.Objects;
import javax.annotation.processing.Generated;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.projecthusky.common.enums.CodeSystems;
import org.projecthusky.common.enums.LanguageCode;
import org.projecthusky.common.enums.ValueSetEnumInterface;
/**
* Enumeration of HCProfessional.hcProfession values
*
* EN: No designation found.
* DE: No designation found.
* FR: No designation found.
* IT: No designation found.
*
* Identifier: 2.16.756.5.30.1.127.3.10.8.1
* Effective date: 2020-04-23 12:36
* Version: 202004.0-stable
* Status: FINAL
*/
@Generated(value = "org.projecthusky.codegenerator.ch.valuesets.UpdateValueSets", date = "2022-09-29")
public enum HcpProfession implements ValueSetEnumInterface {
/**
* EN: Activation Therapy Specialist.
* DE: Aktivierungsfachfrau/Aktivierungsfachmann.
* FR: Spécialiste en activation.
* IT: Specialista in attivazione.
*/
ACTIVATION_THERAPY_SPECIALIST("00100",
"2.16.756.5.30.1.127.3.10.9",
"Aktivierungsfachfrau/Aktivierungsfachmann",
"Activation Therapy Specialist",
"Aktivierungsfachfrau/Aktivierungsfachmann",
"Spécialiste en activation",
"Specialista in attivazione"),
/**
* EN: Biomedical analyst.
* DE: Biomedizinische Analytikerin/Biomedizinischer Analytiker.
* FR: Analyste biomédical.
* IT: Tecnica in analisi biomediche/Tecnico in analisi biomediche.
*/
BIOMEDICAL_ANALYST("00300",
"2.16.756.5.30.1.127.3.10.9",
"Biomedizinische Analytikerin/Biomedizinischer Analytiker",
"Biomedical analyst",
"Biomedizinische Analytikerin/Biomedizinischer Analytiker",
"Analyste biomédical",
"Tecnica in analisi biomediche/Tecnico in analisi biomediche"),
/**
* EN: Chiropractor.
* DE: Chiropraktikerin/Chiropraktiker.
* FR: Chiropracteur.
* IT: Chiropratico.
*/
CHIROPRACTOR("3842006",
"2.16.840.1.113883.6.96",
"Chiropractor (occupation)",
"Chiropractor",
"Chiropraktikerin/Chiropraktiker",
"Chiropracteur",
"Chiropratico"),
/**
* EN: Dental hygienist.
* DE: Dentalhygienikerin/Dentalhygieniker.
* FR: Hygiéniste dentaire.
* IT: Igienista dentale.
*/
DENTAL_HYGIENIST("00400",
"2.16.756.5.30.1.127.3.10.9",
"Dental hygienist",
"Dental hygienist",
"Dentalhygienikerin/Dentalhygieniker",
"Hygiéniste dentaire",
"Igienista dentale"),
/**
* EN: Dentist.
* DE: Zahnärztin/Zahnarzt.
* FR: Dentiste.
* IT: Dentista.
*/
DENTIST("106289002",
"2.16.840.1.113883.6.96",
"Dentist (occupation)",
"Dentist",
"Zahnärztin/Zahnarzt",
"Dentiste",
"Dentista"),
/**
* EN: Dietitian.
* DE: Ernährungsberaterin/Ernährungsberater.
* FR: Diététicien.
* IT: Dietista.
*/
DIETITIAN("159033005",
"2.16.840.1.113883.6.96",
"Dietitian (occupation)",
"Dietitian",
"Ernährungsberaterin/Ernährungsberater",
"Diététicien",
"Dietista"),
/**
* EN: Druggist.
* DE: Drogist/Drogistin.
* FR: Droguiste.
* IT: Droghiere/a.
*/
DRUGGIST("00500",
"2.16.756.5.30.1.127.3.10.9",
"Drogist/Drogistin",
"Druggist",
"Drogist/Drogistin",
"Droguiste",
"Droghiere/a"),
/**
* EN: Healthcare assistant.
* DE: Fachfrau Gesundheit/Fachmann Gesundheit.
* FR: Assistant/e en soins et santé communautaire.
* IT: Operatrice sociosanitaria/Operatore sociosanitario.
*/
HEALTHCARE_ASSISTANT("00700",
"2.16.756.5.30.1.127.3.10.9",
"Fachfrau Gesundheit/Fachmann Gesundheit",
"Healthcare assistant",
"Fachfrau Gesundheit/Fachmann Gesundheit",
"Assistant/e en soins et santé communautaire",
"Operatrice sociosanitaria/Operatore sociosanitario"),
/**
* EN: Medical Masseur.
* DE: Medizinische Masseurin/Medizinischer Masseur.
* FR: Masseur médical/masseuse médicale.
* IT: Massaggiatrice medicale/Massaggiatore medicale.
*/
MEDICAL_MASSEUR("00900",
"2.16.756.5.30.1.127.3.10.9",
"Medizinische Masseurin/Medizinischer Masseur",
"Medical Masseur",
"Medizinische Masseurin/Medizinischer Masseur",
"Masseur médical/masseuse médicale",
"Massaggiatrice medicale/Massaggiatore medicale"),
/**
* EN: Medical-technical Radiology Assistant.
* DE: Fachfrau für medizinisch-technische Radiologie/Fachmann für medizinisch-technische Radiologie.
* FR: Technicien/ne en radiologie médicale.
* IT: Tecnica di radiologia medica/Tecnico di radiologia medica.
*/
MEDICAL_TECHNICAL_RADIOLOGY_ASSISTANT("00600",
"2.16.756.5.30.1.127.3.10.9",
"Fachfrau für medizinisch-technische Radiologie/Fachmann für medizinisch-technische Radiologie",
"Medical-technical Radiology Assistant",
"Fachfrau für medizinisch-technische Radiologie/Fachmann für medizinisch-technische Radiologie",
"Technicien/ne en radiologie médicale",
"Tecnica di radiologia medica/Tecnico di radiologia medica"),
/**
* EN: Naturopathic Practitioner.
* DE: Naturheilpraktikerin/Naturheilpraktiker.
* FR: Naturopathe.
* IT: Naturopata.
*/
NATUROPATHIC_PRACTITIONER("01000",
"2.16.756.5.30.1.127.3.10.9",
"Naturheilpraktikerin/Naturheilpraktiker",
"Naturopathic Practitioner",
"Naturheilpraktikerin/Naturheilpraktiker",
"Naturopathe",
"Naturopata"),
/**
* EN: Occupational therapist.
* DE: Ergotherapeutin/Ergotherapeut.
* FR: Ergothérapeute.
* IT: Ergoterapista.
*/
OCCUPATIONAL_THERAPIST("80546007",
"2.16.840.1.113883.6.96",
"Occupational therapist (occupation)",
"Occupational therapist",
"Ergotherapeutin/Ergotherapeut",
"Ergothérapeute",
"Ergoterapista"),
/**
* EN: Operating Room Technician.
* DE: Fachfrau Operationstechnik/Fachmann Operationstechnik.
* FR: Technicien/ne en salle d’opération.
* IT: Tecnica di sala operatoria/Tecnico di sala operatoria.
*/
OPERATING_ROOM_TECHNICIAN("00800",
"2.16.756.5.30.1.127.3.10.9",
"Fachfrau Operationstechnik/Fachmann Operationstechnik",
"Operating Room Technician",
"Fachfrau Operationstechnik/Fachmann Operationstechnik",
"Technicien/ne en salle d’opération",
"Tecnica di sala operatoria/Tecnico di sala operatoria"),
/**
* EN: Optician.
* DE: Optikerin/Optiker.
* FR: Opticien.
* IT: Ottico.
*/
OPTICIAN("00200",
"2.16.756.5.30.1.127.3.10.9",
"Optician",
"Optician",
"Optikerin/Optiker",
"Opticien",
"Ottico"),
/**
* EN: Optometrist.
* DE: Optometristin/Optometrist.
* FR: Optométriste.
* IT: Optometrista.
*/
OPTOMETRIST("01100",
"2.16.756.5.30.1.127.3.10.9",
"Optometrist",
"Optometrist",
"Optometristin/Optometrist",
"Optométriste",
"Optometrista"),
/**
* EN: Orthoptist.
* DE: Orthoptistin/ Orthoptist.
* FR: Orthoptiste.
* IT: Ortottista.
*/
ORTHOPTIST("01200",
"2.16.756.5.30.1.127.3.10.9",
"Orthoptist",
"Orthoptist",
"Orthoptistin/ Orthoptist",
"Orthoptiste",
"Ortottista"),
/**
* EN: Osteopath.
* DE: Osteopathin/Osteopath.
* FR: Ostéopathe.
* IT: Osteopata.
*/
OSTEOPATH("01300",
"2.16.756.5.30.1.127.3.10.9",
"Osteopath",
"Osteopath",
"Osteopathin/Osteopath",
"Ostéopathe",
"Osteopata"),
/**
* EN: Other.
* DE: Andere.
* FR: Autre.
* IT: Altro.
*/
OTHER("00000",
"2.16.756.5.30.1.127.3.10.9",
"Other",
"Other",
"Andere",
"Autre",
"Altro"),
/**
* EN: Paramedic.
* DE: Rettungssanitäterin/Rettungssanitäter.
* FR: Ambulancier/Ambulancière.
* IT: Soccorritrice/Soccorritore.
*/
PARAMEDIC("01500",
"2.16.756.5.30.1.127.3.10.9",
"Rettungssanitäterin/Rettungssanitäter",
"Paramedic",
"Rettungssanitäterin/Rettungssanitäter",
"Ambulancier/Ambulancière",
"Soccorritrice/Soccorritore"),
/**
* EN: Pharmacist.
* DE: Apothekerin/Apotheker.
* FR: Pharmacien.
* IT: Farmacista.
*/
PHARMACIST("46255001",
"2.16.840.1.113883.6.96",
"Pharmacist (occupation)",
"Pharmacist",
"Apothekerin/Apotheker",
"Pharmacien",
"Farmacista"),
/**
* EN: Physician.
* DE: Ärztin/Arzt.
* FR: Médecin.
* IT: Medico.
*/
PHYSICIAN("309343006",
"2.16.840.1.113883.6.96",
"Physician (occupation)",
"Physician",
"Ärztin/Arzt",
"Médecin",
"Medico"),
/**
* EN: Physiotherapist.
* DE: Physiotherapeutin/Physiotherapeut.
* FR: Physiothérapeute.
* IT: Fisioterapista.
*/
PHYSIOTHERAPIST("36682004",
"2.16.840.1.113883.6.96",
"Physiotherapist (occupation)",
"Physiotherapist",
"Physiotherapeutin/Physiotherapeut",
"Physiothérapeute",
"Fisioterapista"),
/**
* EN: Podiatrist.
* DE: Podologin/Podologe.
* FR: Podologue.
* IT: Podologa/Podologo.
*/
PODIATRIST("01400",
"2.16.756.5.30.1.127.3.10.9",
"Podologin/Podologe",
"Podiatrist",
"Podologin/Podologe",
"Podologue",
"Podologa/Podologo"),
/**
* EN: Professional nurse.
* DE: Pflegefachfrau/Pflegefachmann.
* FR: Infirmière professionnelle.
* IT: Infermiere diplomato.
*/
PROFESSIONAL_NURSE("106292003",
"2.16.840.1.113883.6.96",
"Professional nurse (occupation)",
"Professional nurse",
"Pflegefachfrau/Pflegefachmann",
"Infirmière professionnelle",
"Infermiere diplomato"),
/**
* EN: Psychologist.
* DE: Psychologin/Psychologe.
* FR: Psychologue.
* IT: Psicologo.
*/
PSYCHOLOGIST("59944000",
"2.16.840.1.113883.6.96",
"Psychologist (occupation)",
"Psychologist",
"Psychologin/Psychologe",
"Psychologue",
"Psicologo"),
/**
* EN: Registered midwife.
* DE: Registrierte Hebamme.
* FR: Sage-femme agréée.
* IT: Levatrice.
*/
REGISTERED_MIDWIFE("309453006",
"2.16.840.1.113883.6.96",
"Registered midwife (occupation)",
"Registered midwife",
"Registrierte Hebamme",
"Sage-femme agréée",
"Levatrice"),
/**
* EN: Speech/language therapist.
* DE: Sprachtherapeutin/Sprachtherapeut.
* FR: Orthophoniste.
* IT: Logopedista.
*/
SPEECH_LANGUAGE_THERAPIST("159026005",
"2.16.840.1.113883.6.96",
"Speech/language therapist (occupation)",
"Speech/language therapist",
"Sprachtherapeutin/Sprachtherapeut",
"Orthophoniste",
"Logopedista");
/**
* EN: Code for Activation Therapy Specialist.
* DE: Code für Aktivierungsfachfrau/Aktivierungsfachmann.
* FR: Code de Spécialiste en activation.
* IT: Code per Specialista in attivazione.
*/
public static final String ACTIVATION_THERAPY_SPECIALIST_CODE = "00100";
/**
* EN: Code for Biomedical analyst.
* DE: Code für Biomedizinische Analytikerin/Biomedizinischer Analytiker.
* FR: Code de Analyste biomédical.
* IT: Code per Tecnica in analisi biomediche/Tecnico in analisi biomediche.
*/
public static final String BIOMEDICAL_ANALYST_CODE = "00300";
/**
* EN: Code for Chiropractor.
* DE: Code für Chiropraktikerin/Chiropraktiker.
* FR: Code de Chiropracteur.
* IT: Code per Chiropratico.
*/
public static final String CHIROPRACTOR_CODE = "3842006";
/**
* EN: Code for Dental hygienist.
* DE: Code für Dentalhygienikerin/Dentalhygieniker.
* FR: Code de Hygiéniste dentaire.
* IT: Code per Igienista dentale.
*/
public static final String DENTAL_HYGIENIST_CODE = "00400";
/**
* EN: Code for Dentist.
* DE: Code für Zahnärztin/Zahnarzt.
* FR: Code de Dentiste.
* IT: Code per Dentista.
*/
public static final String DENTIST_CODE = "106289002";
/**
* EN: Code for Dietitian.
* DE: Code für Ernährungsberaterin/Ernährungsberater.
* FR: Code de Diététicien.
* IT: Code per Dietista.
*/
public static final String DIETITIAN_CODE = "159033005";
/**
* EN: Code for Druggist.
* DE: Code für Drogist/Drogistin.
* FR: Code de Droguiste.
* IT: Code per Droghiere/a.
*/
public static final String DRUGGIST_CODE = "00500";
/**
* EN: Code for Healthcare assistant.
* DE: Code für Fachfrau Gesundheit/Fachmann Gesundheit.
* FR: Code de Assistant/e en soins et santé communautaire.
* IT: Code per Operatrice sociosanitaria/Operatore sociosanitario.
*/
public static final String HEALTHCARE_ASSISTANT_CODE = "00700";
/**
* EN: Code for Medical Masseur.
* DE: Code für Medizinische Masseurin/Medizinischer Masseur.
* FR: Code de Masseur médical/masseuse médicale.
* IT: Code per Massaggiatrice medicale/Massaggiatore medicale.
*/
public static final String MEDICAL_MASSEUR_CODE = "00900";
/**
* EN: Code for Medical-technical Radiology Assistant.
* DE: Code für Fachfrau für medizinisch-technische Radiologie/Fachmann für medizinisch-technische Radiologie.
* FR: Code de Technicien/ne en radiologie médicale.
* IT: Code per Tecnica di radiologia medica/Tecnico di radiologia medica.
*/
public static final String MEDICAL_TECHNICAL_RADIOLOGY_ASSISTANT_CODE = "00600";
/**
* EN: Code for Naturopathic Practitioner.
* DE: Code für Naturheilpraktikerin/Naturheilpraktiker.
* FR: Code de Naturopathe.
* IT: Code per Naturopata.
*/
public static final String NATUROPATHIC_PRACTITIONER_CODE = "01000";
/**
* EN: Code for Occupational therapist.
* DE: Code für Ergotherapeutin/Ergotherapeut.
* FR: Code de Ergothérapeute.
* IT: Code per Ergoterapista.
*/
public static final String OCCUPATIONAL_THERAPIST_CODE = "80546007";
/**
* EN: Code for Operating Room Technician.
* DE: Code für Fachfrau Operationstechnik/Fachmann Operationstechnik.
* FR: Code de Technicien/ne en salle d’opération.
* IT: Code per Tecnica di sala operatoria/Tecnico di sala operatoria.
*/
public static final String OPERATING_ROOM_TECHNICIAN_CODE = "00800";
/**
* EN: Code for Optician.
* DE: Code für Optikerin/Optiker.
* FR: Code de Opticien.
* IT: Code per Ottico.
*/
public static final String OPTICIAN_CODE = "00200";
/**
* EN: Code for Optometrist.
* DE: Code für Optometristin/Optometrist.
* FR: Code de Optométriste.
* IT: Code per Optometrista.
*/
public static final String OPTOMETRIST_CODE = "01100";
/**
* EN: Code for Orthoptist.
* DE: Code für Orthoptistin/ Orthoptist.
* FR: Code de Orthoptiste.
* IT: Code per Ortottista.
*/
public static final String ORTHOPTIST_CODE = "01200";
/**
* EN: Code for Osteopath.
* DE: Code für Osteopathin/Osteopath.
* FR: Code de Ostéopathe.
* IT: Code per Osteopata.
*/
public static final String OSTEOPATH_CODE = "01300";
/**
* EN: Code for Other.
* DE: Code für Andere.
* FR: Code de Autre.
* IT: Code per Altro.
*/
public static final String OTHER_CODE = "00000";
/**
* EN: Code for Paramedic.
* DE: Code für Rettungssanitäterin/Rettungssanitäter.
* FR: Code de Ambulancier/Ambulancière.
* IT: Code per Soccorritrice/Soccorritore.
*/
public static final String PARAMEDIC_CODE = "01500";
/**
* EN: Code for Pharmacist.
* DE: Code für Apothekerin/Apotheker.
* FR: Code de Pharmacien.
* IT: Code per Farmacista.
*/
public static final String PHARMACIST_CODE = "46255001";
/**
* EN: Code for Physician.
* DE: Code für Ärztin/Arzt.
* FR: Code de Médecin.
* IT: Code per Medico.
*/
public static final String PHYSICIAN_CODE = "309343006";
/**
* EN: Code for Physiotherapist.
* DE: Code für Physiotherapeutin/Physiotherapeut.
* FR: Code de Physiothérapeute.
* IT: Code per Fisioterapista.
*/
public static final String PHYSIOTHERAPIST_CODE = "36682004";
/**
* EN: Code for Podiatrist.
* DE: Code für Podologin/Podologe.
* FR: Code de Podologue.
* IT: Code per Podologa/Podologo.
*/
public static final String PODIATRIST_CODE = "01400";
/**
* EN: Code for Professional nurse.
* DE: Code für Pflegefachfrau/Pflegefachmann.
* FR: Code de Infirmière professionnelle.
* IT: Code per Infermiere diplomato.
*/
public static final String PROFESSIONAL_NURSE_CODE = "106292003";
/**
* EN: Code for Psychologist.
* DE: Code für Psychologin/Psychologe.
* FR: Code de Psychologue.
* IT: Code per Psicologo.
*/
public static final String PSYCHOLOGIST_CODE = "59944000";
/**
* EN: Code for Registered midwife.
* DE: Code für Registrierte Hebamme.
* FR: Code de Sage-femme agréée.
* IT: Code per Levatrice.
*/
public static final String REGISTERED_MIDWIFE_CODE = "309453006";
/**
* EN: Code for Speech/language therapist.
* DE: Code für Sprachtherapeutin/Sprachtherapeut.
* FR: Code de Orthophoniste.
* IT: Code per Logopedista.
*/
public static final String SPEECH_LANGUAGE_THERAPIST_CODE = "159026005";
/**
* Identifier of the value set.
*/
public static final String VALUE_SET_ID = "2.16.756.5.30.1.127.3.10.8.1";
/**
* Name of the value set.
*/
public static final String VALUE_SET_NAME = "HCProfessional.hcProfession";
/**
* Gets the Enum with a given code.
*
* @param code The code value.
* @return the enum value found or {@code null}.
*/
@Nullable
public static HcpProfession getEnum(@Nullable final String code) {
for (final HcpProfession x : values()) {
if (x.getCodeValue().equals(code)) {
return x;
}
}
return null;
}
/**
* Checks if a given enum is part of this value set.
*
* @param enumName The name of the enum.
* @return {@code true} if the name is found in this value set, {@code false} otherwise.
*/
public static boolean isEnumOfValueSet(@Nullable final String enumName) {
if (enumName == null) {
return false;
}
try {
Enum.valueOf(HcpProfession.class,
enumName);
return true;
} catch (final IllegalArgumentException ex) {
return false;
}
}
/**
* Checks if a given code value is in this value set.
*
* @param codeValue The code value.
* @return {@code true} if the value is found in this value set, {@code false} otherwise.
*/
public static boolean isInValueSet(@Nullable final String codeValue) {
for (final HcpProfession x : values()) {
if (x.getCodeValue().equals(codeValue)) {
return true;
}
}
return false;
}
/**
* Machine interpretable and (inside this class) unique code.
*/
@NonNull
private final String code;
/**
* Identifier of the referencing code system.
*/
@NonNull
private final String codeSystem;
/**
* The display names per language. It's always stored in the given order: default display name (0), in English (1),
* in German (2), in French (3) and in Italian (4).
*/
@NonNull
private final String[] displayNames;
/**
* Instantiates this enum with a given code and display names.
*
* @param code The code value.
* @param codeSystem The code system (OID).
* @param displayName The default display name.
* @param displayNameEn The display name in English.
* @param displayNameDe The display name in German.
* @param displayNameFr The display name in French.
* @param displayNameIt The display name in Italian.
*/
HcpProfession(@NonNull final String code, @NonNull final String codeSystem, @NonNull final String displayName, @NonNull final String displayNameEn, @NonNull final String displayNameDe, @NonNull final String displayNameFr, @NonNull final String displayNameIt) {
this.code = Objects.requireNonNull(code);
this.codeSystem = Objects.requireNonNull(codeSystem);
this.displayNames = new String[5];
this.displayNames[0] = Objects.requireNonNull(displayName);
this.displayNames[1] = Objects.requireNonNull(displayNameEn);
this.displayNames[2] = Objects.requireNonNull(displayNameDe);
this.displayNames[3] = Objects.requireNonNull(displayNameFr);
this.displayNames[4] = Objects.requireNonNull(displayNameIt);
}
/**
* Gets the code system identifier.
*
* @return the code system identifier.
*/
@Override
@NonNull
public String getCodeSystemId() {
return this.codeSystem;
}
/**
* Gets the code system name.
*
* @return the code system name.
*/
@Override
@NonNull
public String getCodeSystemName() {
final var codeSystem = CodeSystems.getEnum(this.codeSystem);
if (codeSystem != null) {
return codeSystem.getCodeSystemName();
}
return "";
}
/**
* Gets the code value as a string.
*
* @return the code value.
*/
@Override
@NonNull
public String getCodeValue() {
return this.code;
}
/**
* Gets the display name defined by the language param.
*
* @param languageCode The language code to get the display name for, {@code null} to get the default display name.
* @return the display name in the desired language.
*/
@Override
@NonNull
public String getDisplayName(@Nullable final LanguageCode languageCode) {
if (languageCode == null) {
return this.displayNames[0];
}
return switch(languageCode) {
case ENGLISH ->
this.displayNames[1];
case GERMAN ->
this.displayNames[2];
case FRENCH ->
this.displayNames[3];
case ITALIAN ->
this.displayNames[4];
default ->
"TOTRANSLATE";
};
}
/**
* Gets the value set identifier.
*
* @return the value set identifier.
*/
@Override
@NonNull
public String getValueSetId() {
return VALUE_SET_ID;
}
/**
* Gets the value set name.
*
* @return the value set name.
*/
@Override
@NonNull
public String getValueSetName() {
return VALUE_SET_NAME;
}
}