Class Composition

  • All Implemented Interfaces:
    Visitable

    @Generated("com.ibm.fhir.tools.CodeGenerator")
    public class Composition
    extends DomainResource
    A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).

    Maturity level: FMM2 (Trial Use)

    • Method Detail

      • getIdentifier

        public Identifier getIdentifier()
        A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.
        Returns:
        An immutable object of type Identifier that may be null.
      • getStatus

        public CompositionStatus getStatus()
        The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.
        Returns:
        An immutable object of type CompositionStatus that is non-null.
      • getType

        public CodeableConcept getType()
        Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.
        Returns:
        An immutable object of type CodeableConcept that is non-null.
      • getCategory

        public java.util.List<CodeableConcept> getCategory()
        A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getSubject

        public Reference getSubject()
        Who or what the composition is about. The composition 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 livestock, or a set of patients that share a common exposure).
        Returns:
        An immutable object of type Reference that may be null.
      • getEncounter

        public Reference getEncounter()
        Describes the clinical encounter or type of care this documentation is associated with.
        Returns:
        An immutable object of type Reference that may be null.
      • getDate

        public DateTime getDate()
        The composition editing time, when the composition was last logically changed by the author.
        Returns:
        An immutable object of type DateTime that is non-null.
      • getAuthor

        public java.util.List<Reference> getAuthor()
        Identifies who is responsible for the information in the composition, not necessarily who typed it in.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that is non-empty.
      • getTitle

        public String getTitle()
        Official human-readable label for the composition.
        Returns:
        An immutable object of type String that is non-null.
      • getAttester

        public java.util.List<Composition.Attester> getAttester()
        A participant who has attested to the accuracy of the composition/document.
        Returns:
        An unmodifiable list containing immutable objects of type Composition.Attester that may be empty.
      • getCustodian

        public Reference getCustodian()
        Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.
        Returns:
        An immutable object of type Reference that may be null.
      • getRelatesTo

        public java.util.List<Composition.RelatesTo> getRelatesTo()
        Relationships that this composition has with other compositions or documents that already exist.
        Returns:
        An unmodifiable list containing immutable objects of type Composition.RelatesTo that may be empty.
      • getEvent

        public java.util.List<Composition.Event> getEvent()
        The clinical service, such as a colonoscopy or an appendectomy, being documented.
        Returns:
        An unmodifiable list containing immutable objects of type Composition.Event that may be empty.
      • getSection

        public java.util.List<Composition.Section> getSection()
        The root of the sections that make up the composition.
        Returns:
        An unmodifiable list containing immutable objects of type Composition.Section 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