Data Model Libraries
    Preparing search index...

    Procedure Class

    An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing.

    FHIR Specification

    • Short: An action that is being or was performed on an individual or entity
    • Definition: An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing.
    • FHIR Version: 5.0.0

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Methods

    parse getIdentifier setIdentifier addIdentifier hasIdentifier getInstantiatesCanonicalElement setInstantiatesCanonicalElement addInstantiatesCanonicalElement hasInstantiatesCanonicalElement getInstantiatesCanonical setInstantiatesCanonical addInstantiatesCanonical hasInstantiatesCanonical getInstantiatesUriElement setInstantiatesUriElement addInstantiatesUriElement hasInstantiatesUriElement getInstantiatesUri setInstantiatesUri addInstantiatesUri hasInstantiatesUri getBasedOn setBasedOn addBasedOn hasBasedOn getPartOf setPartOf addPartOf hasPartOf getStatusEnumType setStatusEnumType hasStatusEnumType getStatusElement setStatusElement hasStatusElement getStatus setStatus hasStatus getStatusReason setStatusReason hasStatusReason getCategory setCategory addCategory hasCategory getCode setCode hasCode getSubject setSubject hasSubject getFocus setFocus hasFocus getEncounter setEncounter hasEncounter getOccurrence setOccurrence hasOccurrence getOccurrenceDateTimeType hasOccurrenceDateTimeType getOccurrencePeriod hasOccurrencePeriod getOccurrenceStringType hasOccurrenceStringType getOccurrenceAge hasOccurrenceAge getOccurrenceRange hasOccurrenceRange getOccurrenceTiming hasOccurrenceTiming getRecordedElement setRecordedElement hasRecordedElement getRecorded setRecorded hasRecorded getRecorder setRecorder hasRecorder getReported setReported hasReported getReportedBooleanType hasReportedBooleanType getReportedReference hasReportedReference getPerformer setPerformer addPerformer hasPerformer getLocation setLocation hasLocation getReason setReason addReason hasReason getBodySite setBodySite addBodySite hasBodySite getOutcome setOutcome hasOutcome getReport setReport addReport hasReport getComplication setComplication addComplication hasComplication getFollowUp setFollowUp addFollowUp hasFollowUp getNote setNote addNote hasNote getFocalDevice setFocalDevice addFocalDevice hasFocalDevice getUsed setUsed addUsed hasUsed getSupportingInfo setSupportingInfo addSupportingInfo hasSupportingInfo fhirType isEmpty isRequiredFieldsEmpty copy toJSON getText setText hasText getContained setContained addContained hasContained getExtension setExtension hasExtension getExtensionByUrl addExtension removeExtension getModifierExtension setModifierExtension hasModifierExtension getModifierExtensionByUrl addModifierExtension removeModifierExtension resourceType getIdElement setIdElement hasIdElement getId setId hasId getMeta setMeta hasMeta getImplicitRulesElement setImplicitRulesElement hasImplicitRulesElement getImplicitRules setImplicitRules hasImplicitRules getLanguageElement setLanguageElement hasLanguageElement getLanguage setLanguage hasLanguage isResource isDataType isComplexDataType isPrimitive isBooleanPrimitive isStringPrimitive isNumberPrimitive isBigIntPrimitive isDateTimePrimitive copyValues initIdentifier initInstantiatesCanonical initInstantiatesUri initBasedOn initPartOf initCategory initPerformer initReason initBodySite initReport initComplication initFollowUp initNote initFocalDevice initUsed initSupportingInfo

    Constructors

    Properties

    identifier?: Identifier[]

    Procedure.identifier Element

    FHIR Specification

    • Short: External Identifiers for this procedure
    • Definition: 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.
    • Comment: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and Person resource instances might share the same social insurance number.
    • Requirements: Allows identification of the procedure as it is known by various participating systems and in a way that remains consistent across servers.
    • FHIR Type: Identifier
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    instantiatesCanonical?: CanonicalType[]

    Procedure.instantiatesCanonical Element

    FHIR Specification

    instantiatesUri?: UriType[]

    Procedure.instantiatesUri Element

    FHIR Specification

    • Short: Instantiates external protocol or definition
    • Definition: 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.
    • Comment: This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier.
    • FHIR Type: uri
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    basedOn?: Reference[]

    Procedure.basedOn Element

    FHIR Specification

    partOf?: Reference[]

    Procedure.partOf Element

    FHIR Specification

    eventStatusEnum: EventStatusEnum

    FHIR CodeSystem: EventStatus

    status: null | EnumCodeType

    Procedure.status Element

    FHIR Specification

    • Short: preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
    • Definition: A code specifying the state of the procedure. Generally, this will be the in-progress or completed state.
    • Comment: The "unknown" code is not to be used to convey other statuses. The "unknown" code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
    • FHIR Type: code
    • Cardinality: 1..1
    • isModifier: true
    • isModifierReason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
    • isSummary: true

    CodeSystem Enumeration: EventStatusEnum

    statusReason?: CodeableConcept

    Procedure.statusReason Element

    FHIR Specification

    • Short: Reason for current status
    • Definition: Captures the reason for the current state of the procedure.
    • Comment: This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    category?: CodeableConcept[]

    Procedure.category Element

    FHIR Specification

    • Short: Classification of the procedure
    • Definition: A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure").
    • FHIR Type: CodeableConcept
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true

    Procedure.code Element

    FHIR Specification

    • Short: Identification of the procedure
    • Definition: The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy").
    • Requirements: 0..1 to account for primarily narrative only resources.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    subject: null | Reference

    Procedure.subject Element

    FHIR Specification

    focus?: Reference

    Procedure.focus Element

    FHIR Specification

    encounter?: Reference

    Procedure.encounter Element

    FHIR Specification

    • Short: The Encounter during which this Procedure was created
    • Definition: The Encounter during which this Procedure was created or performed 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.
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    occurrence?: IDataType

    Procedure.occurrence[x] Element

    @ChoiceDataTypesMeta('Procedure.occurrence[x]', ['dateTime','Period','string','Age','Range','Timing',]

    FHIR Specification

    • Short: When the procedure occurred or is occurring
    • Definition: Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. 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.
    • Comment: This indicates when the procedure actually occurred or is occurring, not when it was asked/requested/ordered to occur. For the latter, look at the occurence element of the Request this Procedure is "basedOn". The status code allows differentiation of whether the timing reflects a historic event or an ongoing event. Ongoing events should not include an upper bound in the Period or Timing.bounds. Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone.
    • FHIR Types: 'dateTime', 'Period', 'string', 'Age', 'Range', 'Timing',
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    recorded?: DateTimeType

    Procedure.recorded Element

    FHIR Specification

    • Short: When the procedure was first captured in the subject's record
    • Definition: The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event).
    • FHIR Type: dateTime
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    recorder?: Reference

    Procedure.recorder Element

    FHIR Specification

    reported?: IDataType

    Procedure.reported[x] Element

    @ChoiceDataTypesMeta('Procedure.reported[x]', ['boolean','Reference',]

    FHIR Specification

    • Short: Reported rather than primary record
    • Definition: 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.
    • Requirements: Reported data may have different rules on editing and may be visually distinguished from primary data.
    • FHIR Types: 'boolean', 'Reference',
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true

    Procedure.performer Element

    FHIR Specification

    • Short: Who performed the procedure and what they did
    • Definition: Indicates who or what performed the procedure and how they were involved.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    location?: Reference

    Procedure.location Element

    FHIR Specification

    • Short: Where the procedure happened
    • Definition: The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.
    • FHIR Type: Reference
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true

    Procedure.reason Element

    FHIR Specification

    bodySite?: CodeableConcept[]

    Procedure.bodySite Element

    FHIR Specification

    • Short: Target body sites
    • Definition: Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.
    • Comment: If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension http://hl7.org/fhir/StructureDefinition/procedure-targetBodyStructure.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: true
    outcome?: CodeableConcept

    Procedure.outcome Element

    FHIR Specification

    • Short: The result of procedure
    • Definition: The outcome of the procedure - did it resolve the reasons for the procedure being performed?
    • Comment: If outcome contains narrative text only, it can be captured using the CodeableConcept.text.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..1
    • isModifier: false
    • isSummary: true
    report?: Reference[]

    Procedure.report Element

    FHIR Specification

    complication?: CodeableReference[]

    Procedure.complication Element

    FHIR Specification

    • Short: Complication following the procedure
    • Definition: 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.
    • Comment: If complications are only expressed by the narrative text, they can be captured using the CodeableReference.concept.text.
    • FHIR Type: CodeableReference
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    followUp?: CodeableConcept[]

    Procedure.followUp Element

    FHIR Specification

    • Short: Instructions for follow up
    • Definition: 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.
    • FHIR Type: CodeableConcept
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false
    note?: Annotation[]

    Procedure.note Element

    FHIR Specification

    • Short: Additional information about the procedure
    • Definition: Any other notes and comments about the procedure.
    • FHIR Type: Annotation
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Procedure.focalDevice Element

    FHIR Specification

    • Short: Manipulated, implanted, or removed device
    • Definition: 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.
    • FHIR Type: BackboneElement
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Procedure.used Element

    FHIR Specification

    supportingInfo?: Reference[]

    Procedure.supportingInfo Element

    FHIR Specification

    • Short: Extra information relevant to the procedure
    • Definition: Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available.
    • FHIR Type: Reference
    • Cardinality: 0..*
    • isModifier: false
    • isSummary: false

    Methods

    • Parse the provided Procedure JSON to instantiate the Procedure data model.

      Parameters

      • sourceJson: Value

        JSON representing FHIR Procedure

      • OptionaloptSourceField: string

        Optional data source field (e.g. <complexTypeName>.<complexTypeFieldName>); defaults to Procedure

      Returns undefined | Procedure

      Procedure data model or undefined for Procedure

      JsonError if the provided JSON is not a valid JSON object

    • Assigns the provided Subject object value to the subject property.

      Parameters

      • value: undefined | null | Reference

        the subject object value

      Returns this

      this

      @ReferenceTargets('Procedure.subject', ['Patient','Group','Device','Practitioner','Organization','Location',])

      InvalidTypeError for invalid data type or reference value

    • Assigns the provided Focus object value to the focus property.

      Parameters

      • value: undefined | Reference

        the focus object value

      Returns this

      this

      @ReferenceTargets('Procedure.focus', ['Patient','Group','RelatedPerson','Practitioner','Organization','CareTeam','PractitionerRole','Specimen',])

      InvalidTypeError for invalid data type or reference value

    • Assigns the provided value to the text property.

      Parameters

      Returns this

      this

    • Returns boolean

      true if the text property exists and has a value; false otherwise

    • Assigns the provided Resource array value to the contained property.

      Parameters

      • value: undefined | IResource[]

        the contained array value

      Returns this

      this

    • Returns boolean

      true if the contained property exists and has a value; false otherwise

    • Assigns the provided array of Extension values to the extension property.

      Parameters

      • extension: undefined | IExtension[]

        array of Extensions

      Returns this

      this

    • Determines if the extension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url; false otherwise

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the extension property exists and has any values.

      AssertionError for invalid url

    • Adds the provided Extension to the extension property array.

      Parameters

      • extension: undefined | IExtension

        the Extension value to add to the extension property array

      Returns this

      this

    • Removes the Extension having the provided url from the extension property array.

      Parameters

      • url: string

        the url that identifies a specific Extension to remove

      Returns void

      AssertionError for invalid url

    • Determines if the modifierExtension property exists.

      Parameters

      • Optionalurl: string

        the url that identifies a specific Extension

      Returns boolean

      true if an Extension has the provided url

      If the url is provided, determines if an Extension having the provided url exists. If the url is not provided, determines if the modifierExtension property exists and has any values.

      AssertionError for invalid url

    • Assigns the provided PrimitiveType value to the id property.

      Parameters

      • element: undefined | IdType

        the id value

      Returns this

      this

    • Returns undefined | string

      the id property value as a primitive value

    • Assigns the provided primitive value to the id property.

      Parameters

      • value: undefined | string

        the id value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the id property exists and has a value; false otherwise

    • Assigns the provided value to the meta property.

      Parameters

      • value: undefined | Meta

        the meta value

      Returns this

      this

    • Returns boolean

      true if the meta property exists and has a value; false otherwise

    • Assigns the provided primitive value to the implicitRules property.

      Parameters

      • value: undefined | string

        the implicitRules value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns undefined | string

      the language property value as a primitive value

    • Assigns the provided primitive value to the language property.

      Parameters

      • value: undefined | string

        the language value

      Returns this

      this

      PrimitiveTypeError for invalid primitive types

    • Returns boolean

      true if the language property exists and has a value; false otherwise

    • Returns boolean

      true if the instance is a FHIR complex or primitive datatype; false otherwise