US Core Implementation Guide (Release 1)

This page is part of the US Core (v1.0.0: STU1) based on FHIR R3. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

1.0 - StructureDefinition-us-core-procedure

This profile sets minimum expectations for the Procedure resource to record, search and fetch procedures associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core-Procedure profile:

  • Query for procedures performed on a Patient
  • Record a procedure performed on a Patient
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Procedure must have:

  1. a status
  2. a code that identifies the type of procedure performed on the patient
  3. a patient
  4. when the procedure was performed

Profile specific implementation guidance:

Examples

1.2 - Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure

This profile builds on Procedure.

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by HL7 US Realm Steering Committee.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

Complete Summary of the Mandatory Requirements

  1. One patient reference in Procedure.patient
  2. A status code in Procedure.status which has a required binding to:
  3. One Identification of the procedure in Procedure.code which has:
  4. A date or a time period in Procedure.performedDateTime or Procedure.performedPeriod
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*US Core Procedure Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... definition Σ0..*Reference(PlanDefinition), Reference(ActivityDefinition), Reference(HealthcareService)Instantiates protocol or definition
... basedOn Σ0..*Reference(CarePlan), Reference(ProcedureRequest), Reference(ReferralRequest)A request for this procedure
... partOf Σ0..*Reference(Procedure), Reference(Observation), Reference(MedicationAdministration)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanTrue if procedure was not performed as scheduled
... notDoneReason ΣI0..1CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... category Σ0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code SΣ1..1CodeableConceptSNOMED-CT | ICD-10 | CPT-4
Binding: US Core Procedure Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who the procedure was performed on
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Encounter or episode associated with the procedure
... performed[x] SΣ1..1dateTime, PeriodDate/Period the procedure was performed
... performer ΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
.... actor Σ1..1Reference(Practitioner), Reference(Organization), Reference(Patient), Reference(RelatedPerson), Reference(Device)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... location Σ0..1Reference(Location)Where the procedure happened
... reasonCode Σ0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... reasonReference Σ0..*Reference(Condition), Reference(Observation)Condition that is the reason the procedure performed
... bodySite Σ0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... outcome Σ0..1CodeableConceptThe result of procedure
Binding: Procedure Outcome Codes (SNOMED CT) (example)
... report 0..*Reference(DiagnosticReport)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/Diagnosis Codes (example)
... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... note 0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementDevice changed in procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... action 0..1CodeableConceptKind of change to device
Binding: Procedure Device Action Codes (preferred)
.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device), Reference(Medication), Reference(Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIR Device Types (example)

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. One patient reference in Procedure.patient
  2. A status code in Procedure.status which has a required binding to:
  3. One Identification of the procedure in Procedure.code which has:
  4. A date or a time period in Procedure.performedDateTime or Procedure.performedPeriod

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*US Core Procedure Profile
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Identifiers for this procedure
... definition Σ0..*Reference(PlanDefinition), Reference(ActivityDefinition), Reference(HealthcareService)Instantiates protocol or definition
... basedOn Σ0..*Reference(CarePlan), Reference(ProcedureRequest), Reference(ReferralRequest)A request for this procedure
... partOf Σ0..*Reference(Procedure), Reference(Observation), Reference(MedicationAdministration)Part of referenced event
... status ?!SΣ1..1codepreparation | in-progress | suspended | aborted | completed | entered-in-error | unknown
Binding: EventStatus (required)
... notDone ?!Σ0..1booleanTrue if procedure was not performed as scheduled
... notDoneReason ΣI0..1CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... category Σ0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code SΣ1..1CodeableConceptSNOMED-CT | ICD-10 | CPT-4
Binding: US Core Procedure Codes (extensible)
... subject SΣ1..1Reference(US Core Patient Profile)Who the procedure was performed on
... context Σ0..1Reference(Encounter), Reference(EpisodeOfCare)Encounter or episode associated with the procedure
... performed[x] SΣ1..1dateTime, PeriodDate/Period the procedure was performed
... performer ΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
.... actor Σ1..1Reference(Practitioner), Reference(Organization), Reference(Patient), Reference(RelatedPerson), Reference(Device)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... location Σ0..1Reference(Location)Where the procedure happened
... reasonCode Σ0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... reasonReference Σ0..*Reference(Condition), Reference(Observation)Condition that is the reason the procedure performed
... bodySite Σ0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... outcome Σ0..1CodeableConceptThe result of procedure
Binding: Procedure Outcome Codes (SNOMED CT) (example)
... report 0..*Reference(DiagnosticReport)Any report resulting from the procedure
... complication 0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/Diagnosis Codes (example)
... complicationDetail 0..*Reference(Condition)A condition that is a result of the procedure
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... note 0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementDevice changed in procedure
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... action 0..1CodeableConceptKind of change to device
Binding: Procedure Device Action Codes (preferred)
.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device), Reference(Medication), Reference(Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: FHIR Device Types (example)

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

1.3 - Quick Start

Below is an overview of the required search and read operations for this profile. See the Conformance requirements for the US Core Server for a complete list of supported RESTful operations and search parameters for this IG.

GET /Procedure?patient=[id][edit]

Example: GET [base]/Procedure?patient=1291938

Support: Mandatory to support search by patient.

Implementation Notes: Search for all Procedures for a patient. Fetches a bundle of all Procedure resources for the specified patient. (how to search by reference).


GET /Procedure?patient=[id]&date=[date]{&date=[date]}

Example: GET [base]Procedure?example&date=ge2002

Example: GET [base]Procedure?example&date=ge2010$date=le2015

Support: Mandatory to support search by patient and date or period.

Implementation Notes: Search based on date. Fetches a bundle of all Procedure resources for the specified patient for a specified time period (how to search by reference) and (how to search by date).