import { Annotation } from './Annotation.js';
import { CarePlan } from './CarePlan.js';
import { CareTeam } from './CareTeam.js';
import { ClaimResponse } from './ClaimResponse.js';
import { CodeableConcept } from './CodeableConcept.js';
import { CodeableReference } from './CodeableReference.js';
import { Condition } from './Condition.js';
import { Coverage } from './Coverage.js';
import { Device } from './Device.js';
import { DeviceDefinition } from './DeviceDefinition.js';
import { Dosage } from './Dosage.js';
import { Encounter } from './Encounter.js';
import { Extension } from './Extension.js';
import { FhirPrimitive } from './FhirPrimitive.js';
import { Group } from './Group.js';
import { HealthcareService } from './HealthcareService.js';
import { Identifier } from './Identifier.js';
import { ImmunizationRecommendation } from './ImmunizationRecommendation.js';
import { Medication } from './Medication.js';
import { MedicationRequest_DispenseRequest } from './MedicationRequest_DispenseRequest.js';
import { MedicationRequest_Substitution } from './MedicationRequest_Substitution.js';
import { Meta } from './Meta.js';
import { Narrative } from './Narrative.js';
import { Observation } from './Observation.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 { Provenance } from './Provenance.js';
import { Reference } from './Reference.js';
import { RelatedPerson } from './RelatedPerson.js';
import { Resource } from './Resource.js';
import { ServiceRequest } from './ServiceRequest.js';
export interface MedicationRequest {
    /**
     * @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 Identifiers associated with this medication request that are defined by business processes andor used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.
     * @comment This is a business identifier, not a resource identifier.
     * @short External ids for this request
     */
    identifier?: Identifier[];
    /**
     * @description A plan or request that is fulfilled in whole or in part by this medication request.
     * @short A plan or request that is fulfilled in whole or in part by this medication request
     */
    basedOn?: Reference<CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation>[];
    /**
     * @description Reference to an orderprescription that is being replaced by this MedicationRequest.
     * @short Reference to an orderprescription that is being replaced by this MedicationRequest
     */
    priorPrescription?: Reference<MedicationRequest>;
    /**
     * @description A shared identifier common to multiple independent Request instances that were activatedauthorized more or less simultaneously by a single author.  The presence of the same identifier on each request ties those requests together and may have business ramifications in terms of reporting of results, billing, etc.  E.g. a requisition number shared by a set of lab tests ordered together, or a prescription number shared by all meds ordered at one time.
     * @short Composite request this is part of
     */
    groupIdentifier?: Identifier;
    /**
     * @description A code specifying the current state of the order.  Generally, this will be active or completed state.
     * @comment This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
  
  Clinical decision support systems should take the status into account when determining which medications to include in their algorithms.
     * @short active | on-hold | ended | stopped | completed | cancelled | entered-in-error | draft | unknown
     */
    status: FhirPrimitive<string>;
    /**
     * @description Captures the reason for the current state of the MedicationRequest.
     * @comment This is generally only used for "exception" statuses such as "suspended" or "cancelled". The reason why the MedicationRequest was created at all is captured in reasonCode, not here.
     * @short Reason for current status
     */
    statusReason?: CodeableConcept;
    /**
     * @description The date (and perhaps time) when the status was changed.
     * @short When the status was changed
     */
    statusChanged?: FhirPrimitive<string>;
    /**
     * @description Whether the request is a proposal, plan, or an original order.
     * @comment It is expected that the type of requester will be restricted for different stages of a MedicationRequest.  For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device.  Plans can be created by Practitioners, Patients, RelatedPersons and Devices.  Original orders can be created by a Practitioner only.
  
  An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record.
  
  This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.
     * @short proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option
     */
    intent: FhirPrimitive<string>;
    /**
     * @description An arbitrary categorization or grouping of the medication request.  It could be used for indicating where meds are intended to be administered, eg. in an inpatient setting or in a patient's home, or a legal category of the medication.
     * @comment The category can be used to include where the medication is expected to be consumed or other types of requests.  The examplar value set represents where the meds are intended to be administered and is just one example of request categorization.
     * @short Grouping or category of medication request
     */
    category?: CodeableConcept[];
    /**
     * @description Indicates how quickly the Medication Request should be addressed with respect to other requests.
     * @short routine | urgent | asap | stat
     */
    priority?: FhirPrimitive<string>;
    /**
     * @description If true, indicates that the provider is asking for the patient to either stop taking or to not start taking the specified medication. For example, the patient is taking an existing medication and the provider is changing their medication. They want to create two seperate requests: one to stop using the current medication and another to start the new medication.
     * @comment If do not perform is not specified, the request is a positive request e.g. "do perform".
     * @short True if patient is to stop taking or not to start taking the medication
     */
    doNotPerform?: FhirPrimitive<boolean>;
    /**
     * @description Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications.
     * @comment If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the Medication resource is recommended.  For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource.
     * @short Medication to be taken
     */
    medication: CodeableReference<Medication>;
    /**
     * @description The individual or group for whom the medication has been requested.
     * @comment The subject on a medication request is mandatory.  For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified.
     * @short Individual or group for whom the medication has been requested
     */
    subject: Reference<Patient | Group>;
    /**
     * @description The person or organization who provided the information about this request, if the source is someone other than the requestor.  This is often used when the MedicationRequest is reported by another person.
     * @short The person or organization who provided the information about this request, if the source is someone other than the requestor
     */
    informationSource?: Reference<Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>[];
    /**
     * @description The Encounter during which this [x] was created or to which the creation of this record is tightly associated.
     * @comment This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter."    If there is a need to link to episodes of care they will be handled with an extension.
     * @short Encounter created as part of encounteradmissionstay
     */
    encounter?: Reference<Encounter>;
    /**
     * @description Information to support fulfilling (i.e. dispensing or administering) of the medication, for example, patient height and weight, a MedicationStatement for the patient).
     * @comment This attribute can be used to reference a MedicationStatement about the patients' medication use.
     * @short Information to support fulfilling of the medication
     */
    supportingInformation?: Reference<Resource>[];
    /**
     * @description The date (and perhaps time) when the prescription was initially written or authored on.
     * @short When request was initially authored
     */
    authoredOn?: FhirPrimitive<string>;
    /**
     * @description The individual, organization, or device that initiated the request and has responsibility for its activation.
     * @short WhoWhat requested the Request
     */
    requester?: Reference<Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>;
    /**
     * @description Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record.  It may also indicate the source of the report.
     * @comment If not populated, then assume that this is the original record and not reported
     * @short Reported rather than primary record
     */
    reported?: FhirPrimitive<boolean>;
    /**
     * @description Indicates the type of performer of the administration of the medication.
     * @comment If specified without indicating a performer, this indicates that the performer must be of the specified type. If specified with a performer then it indicates the requirements of the performer if the designated performer is not available.
     * @short Desired kind of performer of the medication administration
     */
    performerType?: CodeableConcept;
    /**
     * @description The specified desired performer of the medication treatment (e.g. the performer of the medication administration).  For devices, this is the device that is intended to perform the administration of the medication.  An IV Pump would be an example of a device that is performing the administration.  Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.
     * @short Intended performer of administration
     */
    performer?: Reference<Practitioner | PractitionerRole | Organization | Patient | DeviceDefinition | RelatedPerson | CareTeam | HealthcareService>[];
    /**
     * @description The intended type of device that is to be used for the administration of the medication (for example, PCA Pump).
     * @short Intended type of device for the administration
     */
    device?: CodeableReference<DeviceDefinition>[];
    /**
     * @description The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order.
     * @short Person who entered the request
     */
    recorder?: Reference<Practitioner | PractitionerRole>;
    /**
     * @description The reason or the indication for ordering or not ordering the medication.
     * @comment This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference.
     * @short Reason or indication for ordering or not ordering the medication
     */
    reason?: CodeableReference<Condition | Observation>[];
    /**
     * @description The description of the overall pattern of the administration of the medication to the patient.
     * @comment This attribute should not be confused with the protocol of the medication.
     * @short Overall pattern of medication administration
     */
    courseOfTherapyType?: CodeableConcept;
    /**
     * @description Insurance plans, coverage extensions, pre-authorizations andor pre-determinations that may be required for delivering the requested service.
     * @short Associated insurance coverage
     */
    insurance?: Reference<Coverage | ClaimResponse>[];
    /**
     * @description Extra information about the prescription that could not be conveyed by the other attributes.
     * @short Information about the prescription
     */
    note?: Annotation[];
    /**
     * @description The full representation of the dose of the medication included in all dosage instructions.  To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses.
     * @short Full representation of the dosage instructions
     */
    renderedDosageInstruction?: FhirPrimitive<string>;
    /**
     * @description The period over which the medication is to be taken.  Where there are multiple dosageInstruction lines (for example, tapering doses), this is the earliest date and the latest end date of the dosageInstructions.
     * @short Period over which the medication is to be taken
     */
    effectiveDosePeriod?: Period;
    /**
     * @description Specific instructions for how the medication is to be used by the patient.
     * @comment There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose.  For example, "Ondansetron 8mg orally or IV twice a day as needed for nausea" or "Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting".  In these cases, two medication requests would be created that could be grouped together.  The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed. In general, each prescribed drug will be a separate Medication Request.
  
  When drug orders are grouped together at the time of order entry,  but each of the drugs can be manipulated independently e.g. changing the status of one order to "completed" or "cancelled", changing another order status to "on-hold", the method to "group" all of the medication requests together is to use  MedicationRequest.groupIdentifier element.  All of the orders grouped together in this manner will have the same groupIdentifier, and separately, each order in the group may have a unique identifier.
  
  There are cases that require grouping of Medication orders together when it is necessary to specify optionality e.g. order two drugs at one time, but stating either of these drugs may be used to treat the patient.  The use of a RequestOrchestration should be used as a parent for the Medication orders that require this type of grouping. An example when it may be necessary to group medication orders together is when you specify timing relationships e.g. order drug "xyz" with dose 123, then taper the same drug to a different dose after some interval of time
  precedence:
  e.g. give drug "abc" followed by drug "def"
  e.g. give drug 30 minutes before some procedure was performed
  more generically this supports - hierarchical groups of actions, where each specific action references the action to be performed (in terms of a Request resource), and each group describes additional behavior, relationships, and applicable conditions between the actions in the overall group.
  Note that one should NOT use the List or Composition resource to accomplish the above requirements.  You may use List or Composition for other business requirements, but not to address the specific requirements of grouping medication orders.
     * @short Specific instructions for how the medication should be taken
     */
    dosageInstruction?: Dosage[];
    /**
     * @backbone Nested BackboneElement: dispenseRequest [0..1]
     */
    dispenseRequest?: MedicationRequest_DispenseRequest;
    /**
     * @backbone Nested BackboneElement: substitution [0..1]
     */
    substitution?: MedicationRequest_Substitution;
    /**
     * @description Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource.
     * @comment This might not include provenances for all versions of the request – only those deemed "relevant" or important. This SHALL NOT include the provenance associated with this current version of the resource. (If that provenance is deemed to be a "relevant" change, it will need to be added as part of a later update. Until then, it can be queried directly as the provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).
     * @short A list of events of interest in the lifecycle
     */
    eventHistory?: Reference<Provenance>[];
    /**
     * @const Auto-injected fixed value: MedicationRequest
     */
    resourceType: "MedicationRequest";
}
//# sourceMappingURL=MedicationRequest.d.ts.map