import { CodeableConcept } from './CodeableConcept.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Organization } from './Organization.js';
import { Period } from './Period.js';
import { Reference } from './Reference.js';
export interface Identifier {
    /**
     * @description Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
     * @short Unique id for inter-element referencing
     */
    id?: string;
    /**
     * @description May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
     * @comment There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
     * @short Additional content defined by implementations
     */
    extension?: Extension[];
    /**
     * @description The purpose of this identifier.
     * @comment Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
     * @short usual | official | temp | secondary | old (If known)
     */
    use?: FhirPrimitive<string>;
    /**
     * @description A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
     * @comment This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
     * @short Description of identifier
     */
    type?: CodeableConcept;
    /**
     * @description Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique.
     * @comment Identifier.system is always case sensitive.
     * @short The namespace for the identifier value
     */
    system?: FhirPrimitive<string>;
    /**
     * @description The portion of the identifier typically relevant to the user and which is unique within the context of the system.
     * @comment If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value's primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [http:hl7.orgfhirStructureDefinitionrendered-value](http:hl7.orgfhirextensionsStructureDefinition-rendered-value.html)). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
     * @short The value that is unique
     */
    value?: FhirPrimitive<string>;
    /**
     * @description Time period during which identifier iswas valid for use.
     * @short Time period when id iswas valid for use
     */
    period?: Period;
    /**
     * @description Organization that issuedmanages the identifier.
     * @comment The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
     * @short Organization that issued id (may be just text)
     */
    assigner?: Reference<Organization>;
}
//# sourceMappingURL=Identifier.d.ts.map