001package org.hl7.fhir.r5.utils.validation.constants;
002
003import org.hl7.fhir.exceptions.FHIRException;
004import org.hl7.fhir.utilities.MarkedToMoveToAdjunctPackage;
005import org.hl7.fhir.utilities.Utilities;
006
007@MarkedToMoveToAdjunctPackage
008public enum IdStatus {
009  OPTIONAL,
010  REQUIRED,
011  PROHIBITED;
012
013  public static IdStatus fromCode(String v) {
014    if (v == null || Utilities.noString(v)) {
015      return null;
016    } else {
017      v = v.toLowerCase();
018      if (v.equals("optional")) {
019        return OPTIONAL;
020      } else if (v.equals("required")) {
021        return REQUIRED;
022      } else if (v.equals("prohibited")) {
023        return PROHIBITED;
024      } else {
025        throw new FHIRException("Unkonwn Id Status code '"+v+"'");
026      }
027    }
028  }
029}