import { Appointment } from './Appointment.js';
import { AppointmentResponse } from './AppointmentResponse.js';
import { BodyStructure } from './BodyStructure.js';
import { CarePlan } from './CarePlan.js';
import { CareTeam } from './CareTeam.js';
import { Claim } from './Claim.js';
import { CodeableConcept } from './CodeableConcept.js';
import { CodeableReference } from './CodeableReference.js';
import { CommunicationRequest } from './CommunicationRequest.js';
import { Contract } from './Contract.js';
import { CoverageEligibilityRequest } from './CoverageEligibilityRequest.js';
import { Device } from './Device.js';
import { DeviceRequest } from './DeviceRequest.js';
import { DocumentReference_Attester } from './DocumentReference_Attester.js';
import { DocumentReference_Content } from './DocumentReference_Content.js';
import { DocumentReference_RelatesTo } from './DocumentReference_RelatesTo.js';
import { Encounter } from './Encounter.js';
import { EnrollmentRequest } from './EnrollmentRequest.js';
import { EpisodeOfCare } from './EpisodeOfCare.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Identifier } from './Identifier.js';
import { ImmunizationRecommendation } from './ImmunizationRecommendation.js';
import { MedicationRequest } from './MedicationRequest.js';
import { Meta } from './Meta.js';
import { Narrative } from './Narrative.js';
import { NutritionOrder } from './NutritionOrder.js';
import { Organization } from './Organization.js';
import { Patient } from './Patient.js';
import { Period } from './Period.js';
import { Practitioner } from './Practitioner.js';
import { PractitionerRole } from './PractitionerRole.js';
import { Reference } from './Reference.js';
import { RelatedPerson } from './RelatedPerson.js';
import { RequestOrchestration } from './RequestOrchestration.js';
import { Resource } from './Resource.js';
import { ServiceRequest } from './ServiceRequest.js';
import { SupplyRequest } from './SupplyRequest.js';
import { VisionPrescription } from './VisionPrescription.js';
export interface DocumentReference {
    /**
     * @description The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
     * @comment Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.
     * @short Logical id of this artifact
     */
    id?: string;
    /**
     * @description The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
     * @short Metadata about the resource
     */
    meta?: Meta;
    /**
     * @description A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
     * @comment Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers andor specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.
     * @short A set of rules under which this content was created
     */
    implicitRules?: FhirPrimitive<string>;
    /**
     * @description The base language in which the resource is written.
     * @comment Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
     * @short Language of the resource content
     */
    language?: FhirPrimitive<string>;
    /**
     * @description A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
     * @comment Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
     * @short Text summary of the resource, for human interpretation
     */
    text?: Narrative;
    /**
     * @description These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides contextmeaning.
     * @comment This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.
     * @short Contained, inline Resources
     */
    contained?: Resource[];
    /**
     * @description May be used to represent additional information that is not part of the basic definition of the resource. 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 May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it andor the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
  
  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
     * @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 Extensions that cannot be ignored
     */
    modifierExtension?: Extension[];
    /**
     * @description Other business identifiers associated with the document, including version independent identifiers.
     * @comment The structure and format of this identifier would be consistent with the specification corresponding to the format of the document. (e.g. for a DICOM standard document, a 64-character numeric UID; for an HL7 CDA format, the CDA Document Id root and extension).
     * @short Business identifiers for the document
     */
    identifier?: Identifier[];
    /**
     * @description An explicitly assigned identifer of a variation of the content in the DocumentReference.
     * @comment While each resource, including the DocumentReference itself, has its own version identifier, this is a formal identifier for the logical version of the DocumentReference as a whole. It would remain constant if the resources were moved to a new server, and all got new individual resource versions, for example.
     * @short An explicitly assigned identifer of a variation of the content in the DocumentReference
     */
    version?: FhirPrimitive<string>;
    /**
     * @description A procedure that is fulfilled in whole or in part by the creation of this media.
     * @short Procedure that caused this media to be created
     */
    basedOn?: Reference<Appointment | AppointmentResponse | CarePlan | Claim | CommunicationRequest | Contract | CoverageEligibilityRequest | DeviceRequest | EnrollmentRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | RequestOrchestration | ServiceRequest | SupplyRequest | VisionPrescription>[];
    /**
     * @description The status of this document reference.
     * @comment This is the status of the DocumentReference object, which might be independent from the docStatus element.
  
  This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.
     * @short current | superseded | entered-in-error
     */
    status: FhirPrimitive<string>;
    /**
     * @description The status of the underlying document.
     * @comment The document that is pointed to might be in various lifecycle states.
     * @short registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown
     */
    docStatus?: FhirPrimitive<string>;
    /**
     * @description Imaging modality used. This may include both acquisition and non-acquisition modalities.
     * @short Imaging modality used
     */
    modality?: CodeableConcept[];
    /**
     * @description Specifies the particular kind of document referenced  (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.
     * @comment Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents.
     * @short Kind of document (LOINC if possible)
     */
    type?: CodeableConcept;
    /**
     * @description A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.
     * @comment Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching.
     * @short Categorization of document
     */
    category?: CodeableConcept[];
    /**
     * @description Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).
     * @short Whowhat is the subject of the document
     */
    subject?: Reference<Resource>;
    /**
     * @description Describes the clinical encounter or type of care that the document content is associated with.
     * @short Context of the document content
     */
    context?: Reference<Appointment | Encounter | EpisodeOfCare>[];
    /**
     * @description This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.
     * @comment An event can further specialize the act inherent in the type, such as  where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.
     * @short Main clinical acts documented
     */
    event?: CodeableReference<any>[];
    /**
     * @description The anatomic structures included in the document.
     * @short Body part included
     */
    bodySite?: CodeableReference<BodyStructure>[];
    /**
     * @description The kind of facility where the patient was seen.
     * @short Kind of facility where patient was seen
     */
    facilityType?: CodeableConcept;
    /**
     * @description This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.
     * @comment This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC.
     * @short Additional details about where the content was created (e.g. clinical specialty)
     */
    practiceSetting?: CodeableConcept;
    /**
     * @description The time period over which the service that is described by the document was provided.
     * @short Time of service that is being documented
     */
    period?: Period;
    /**
     * @description When the document reference was created.
     * @comment Referencingindexing time is used for tracking, organizing versions and searching.
     * @short When this document reference was created
     */
    date?: FhirPrimitive<string>;
    /**
     * @description Identifies who is responsible for adding the information to the document.
     * @comment Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).
     * @short Who andor what authored the document
     */
    author?: Reference<Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson | CareTeam>[];
    /**
     * @backbone Nested BackboneElement: attester [0..*]
     */
    attester?: DocumentReference_Attester[];
    /**
     * @description Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.
     * @comment Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.
     * @short Organization which maintains the document
     */
    custodian?: Reference<Organization>;
    /**
     * @backbone Nested BackboneElement: relatesTo [0..*]
     */
    relatesTo?: DocumentReference_RelatesTo[];
    /**
     * @description Human-readable description of the source document.
     * @comment What the document is about,  a terse summary of the document.
     * @short Human-readable description
     */
    description?: FhirPrimitive<string>;
    /**
     * @description A set of Security-Tag codes specifying the level of privacysecurity of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.
     * @comment The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce.
  
  In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.
     * @short Document security-tags
     */
    securityLabel?: CodeableConcept[];
    /**
     * @backbone Nested BackboneElement: content [1..*]
     */
    content: DocumentReference_Content[];
    /**
     * @const Auto-injected fixed value: DocumentReference
     */
    resourceType: "DocumentReference";
}
//# sourceMappingURL=DocumentReference.d.ts.map