Class MedicationStatement

  • All Implemented Interfaces:
    Visitable

    @Generated("org.linuxforhealth.fhir.tools.CodeGenerator")
    public class MedicationStatement
    extends DomainResource
    A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains.

    The primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.

    Maturity level: FMM3 (Trial Use)

    • Method Detail

      • getIdentifier

        public java.util.List<Identifier> getIdentifier()
        Identifiers associated with this Medication Statement that are defined by business processes and/or 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.
        Returns:
        An unmodifiable list containing immutable objects of type Identifier that may be empty.
      • getBasedOn

        public java.util.List<Reference> getBasedOn()
        A plan, proposal or order that is fulfilled in whole or in part by this event.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getPartOf

        public java.util.List<Reference> getPartOf()
        A larger event of which this particular event is a component or step.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getStatus

        public MedicationStatementStatus getStatus()
        A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally, this will be active or completed.
        Returns:
        An immutable object of type MedicationStatementStatus that is non-null.
      • getStatusReason

        public java.util.List<CodeableConcept> getStatusReason()
        Captures the reason for the current state of the MedicationStatement.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getCategory

        public CodeableConcept getCategory()
        Indicates where the medication is expected to be consumed or administered.
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getMedication

        public Element getMedication()
        Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.
        Returns:
        An immutable object of type CodeableConcept or Reference that is non-null.
      • getSubject

        public Reference getSubject()
        The person, animal or group who is/was taking the medication.
        Returns:
        An immutable object of type Reference that is non-null.
      • getContext

        public Reference getContext()
        The encounter or episode of care that establishes the context for this MedicationStatement.
        Returns:
        An immutable object of type Reference that may be null.
      • getEffective

        public Element getEffective()
        The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.taken element is No).
        Returns:
        An immutable object of type DateTime or Period that may be null.
      • getDateAsserted

        public DateTime getDateAsserted()
        The date when the medication statement was asserted by the information source.
        Returns:
        An immutable object of type DateTime that may be null.
      • getInformationSource

        public Reference getInformationSource()
        The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.
        Returns:
        An immutable object of type Reference that may be null.
      • getDerivedFrom

        public java.util.List<Reference> getDerivedFrom()
        Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getReasonCode

        public java.util.List<CodeableConcept> getReasonCode()
        A reason for why the medication is being/was taken.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getReasonReference

        public java.util.List<Reference> getReasonReference()
        Condition or observation that supports why the medication is being/was taken.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getNote

        public java.util.List<Annotation> getNote()
        Provides extra information about the medication statement that is not conveyed by the other attributes.
        Returns:
        An unmodifiable list containing immutable objects of type Annotation that may be empty.
      • getDosage

        public java.util.List<Dosage> getDosage()
        Indicates how the medication is/was or should be taken by the patient.
        Returns:
        An unmodifiable list containing immutable objects of type Dosage that may be empty.
      • accept

        public void accept​(java.lang.String elementName,
                           int elementIndex,
                           Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:
         if (visitor.preVisit(this)) {
             visitor.visitStart(elementName, elementIndex, this);
             if (visitor.visit(elementName, elementIndex, this)) {
                 // visit children
             }
             visitor.visitEnd(elementName, elementIndex, this);
             visitor.postVisit(this);
         }
         
        Specified by:
        accept in interface Visitable
        Specified by:
        accept in class AbstractVisitable
        Parameters:
        elementName - the name of the element in the context of this visit
        elementIndex - the index of the element in a list or -1 if it is not contained within a List
        visitor - the visitor to use
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object