Class Procedure

  • All Implemented Interfaces:
    Visitable

    @Generated("com.ibm.fhir.tools.CodeGenerator")
    public class Procedure
    extends DomainResource
    An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.

    Maturity level: FMM3 (Trial Use)

    • Method Detail

      • getIdentifier

        public java.util.List<Identifier> getIdentifier()
        Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server.
        Returns:
        An unmodifiable list containing immutable objects of type Identifier that may be empty.
      • getInstantiatesCanonical

        public java.util.List<Canonical> getInstantiatesCanonical()
        The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Canonical that may be empty.
      • getInstantiatesUri

        public java.util.List<Uri> getInstantiatesUri()
        The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Uri that may be empty.
      • getBasedOn

        public java.util.List<Reference> getBasedOn()
        A reference to a resource that contains details of the request for this procedure.
        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 procedure is a component or step.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getStatus

        public ProcedureStatus getStatus()
        A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.
        Returns:
        An immutable object of type ProcedureStatus that is non-null.
      • getStatusReason

        public CodeableConcept getStatusReason()
        Captures the reason for the current state of the procedure.
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getCategory

        public CodeableConcept getCategory()
        A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getCode

        public CodeableConcept getCode()
        The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getSubject

        public Reference getSubject()
        The person, animal or group on which the procedure was performed.
        Returns:
        An immutable object of type Reference that is non-null.
      • getEncounter

        public Reference getEncounter()
        The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.
        Returns:
        An immutable object of type Reference that may be null.
      • getPerformed

        public Element getPerformed()
        Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.
        Returns:
        An immutable object of type DateTime, Period, String, Age or Range that may be null.
      • getRecorder

        public Reference getRecorder()
        Individual who recorded the record and takes responsibility for its content.
        Returns:
        An immutable object of type Reference that may be null.
      • getAsserter

        public Reference getAsserter()
        Individual who is making the procedure statement.
        Returns:
        An immutable object of type Reference that may be null.
      • getPerformer

        public java.util.List<Procedure.Performer> getPerformer()
        Limited to "real" people rather than equipment.
        Returns:
        An unmodifiable list containing immutable objects of type Procedure.Performer that may be empty.
      • getLocation

        public Reference getLocation()
        The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.
        Returns:
        An immutable object of type Reference that may be null.
      • getReasonCode

        public java.util.List<CodeableConcept> getReasonCode()
        The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getReasonReference

        public java.util.List<Reference> getReasonReference()
        The justification of why the procedure was performed.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getBodySite

        public java.util.List<CodeableConcept> getBodySite()
        Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getOutcome

        public CodeableConcept getOutcome()
        The outcome of the procedure - did it resolve the reasons for the procedure being performed?
        Returns:
        An immutable object of type CodeableConcept that may be null.
      • getReport

        public java.util.List<Reference> getReport()
        This could be a histology result, pathology report, surgical report, etc.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getComplication

        public java.util.List<CodeableConcept> getComplication()
        Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getComplicationDetail

        public java.util.List<Reference> getComplicationDetail()
        Any complications that occurred during the procedure, or in the immediate post-performance period.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getFollowUp

        public java.util.List<CodeableConcept> getFollowUp()
        If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getNote

        public java.util.List<Annotation> getNote()
        Any other notes and comments about the procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Annotation that may be empty.
      • getFocalDevice

        public java.util.List<Procedure.FocalDevice> getFocalDevice()
        A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Procedure.FocalDevice that may be empty.
      • getUsedReference

        public java.util.List<Reference> getUsedReference()
        Identifies medications, devices and any other substance used as part of the procedure.
        Returns:
        An unmodifiable list containing immutable objects of type Reference that may be empty.
      • getUsedCode

        public java.util.List<CodeableConcept> getUsedCode()
        Identifies coded items that were used as part of the procedure.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept 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