STU 2 Ballot

This page is part of the Data Access Framework (v1.6.0: STU 2 Ballot 1) based on FHIR v1.6.0. . For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: DAF-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 DAF-Procedure profile:

  • Query for procedures performed on a Patient
  • Query for all patients who have had a specific procedure
  • Query for procedures performed during a time period
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 an example are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Procedure must have:

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

Profile specific implementation guidance:

Example: Procedure Example: example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

This profile was published on Mon Aug 01 00:00:00 AEST 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

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

This structure is derived from Procedure

Complete Summary of the Mandatory Requirements

  1. One patient reference in Procedure.patient
  2. A status code in Procedure.status which has an required binding to:
  3. One Identification of the procedure in Procedure.codewhich has an required binding to:
  4. A date or a time period in Procedure.performedDateTime or Procedure.performedPeriod
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*An action that is being or was performed on a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
pro-1: Reason not performed is only permitted if notPerformed indicator is true
... 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
... subject S1..1Reference(Profile daf-core-patient)Information about an individual or animal receiving health care services
... status ?!S1..1codein-progress | aborted | completed | entered-in-error
Binding: ProcedureStatus (required)
... category 0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code S1..1CodeableConceptIdentification of the procedure
Binding: Procedure Codes (SNOMED CT) (example)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by code
.... coding S0..*CodingCode defined by a terminology system
.... coding S1..1CodingCode defined by a terminology system
Binding: DAFProcedureType (required)
.... coding S0..1CodingCode defined by a terminology system
Binding: DAF Procedure Type ICD-10-PCS Codes (required)
.... text 0..1stringPlain text representation of the concept
... notPerformed ?!0..1booleanTrue if procedure was not performed as scheduled
... reasonNotPerformed I0..*CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... bodySite 0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... reasonReference 0..*Reference(Condition)Condition that is the reason the procedure performed
... reasonCode 0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... performer 0..*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
.... actor 0..1Reference(Practitioner | Organization | Patient | RelatedPerson)The reference to the practitioner
.... role 0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
... performed[x] S1..1dateTime, PeriodDate/Period the procedure was performed
... encounter 0..1Reference(Encounter)The encounter associated with the procedure
... location 0..1Reference(Location)Where the procedure happened
... 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)
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... request 0..1Reference(CarePlan | DiagnosticRequest | ProcedureRequest | ReferralRequest)A request for this procedure
... notes 0..*AnnotationAdditional information about the procedure
... focalDevice 0..*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 (required)
.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: (unbound) (example)
... component 0..*Reference(MedicationAdministration | Procedure | Observation)Events related to the procedure

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

This structure is derived from Procedure

Summary

Mandatory: 5 elements
Must-Support: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Procedure.code.coding is sliced based on the value of code

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*An action that is being or was performed on a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
pro-1: Reason not performed is only permitted if notPerformed indicator is true
... 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
... subject S1..1Reference(Profile daf-core-patient)Information about an individual or animal receiving health care services
... status ?!S1..1codein-progress | aborted | completed | entered-in-error
Binding: ProcedureStatus (required)
... category 0..1CodeableConceptClassification of the procedure
Binding: Procedure Category Codes (SNOMED CT) (example)
... code S1..1CodeableConceptIdentification of the procedure
Binding: Procedure Codes (SNOMED CT) (example)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... coding CodingCode defined by a terminology system
Slice: Unordered, Open, by code
.... coding S0..*CodingCode defined by a terminology system
.... coding S1..1CodingCode defined by a terminology system
Binding: DAFProcedureType (required)
.... coding S0..1CodingCode defined by a terminology system
Binding: DAF Procedure Type ICD-10-PCS Codes (required)
.... text 0..1stringPlain text representation of the concept
... notPerformed ?!0..1booleanTrue if procedure was not performed as scheduled
... reasonNotPerformed I0..*CodeableConceptReason procedure was not performed
Binding: Procedure Not Performed Reason (SNOMED-CT) (example)
... bodySite 0..*CodeableConceptTarget body sites
Binding: SNOMED CT Body Structures (example)
... reasonReference 0..*Reference(Condition)Condition that is the reason the procedure performed
... reasonCode 0..*CodeableConceptCoded reason procedure performed
Binding: Procedure Reason Codes (example)
... performer 0..*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
.... actor 0..1Reference(Practitioner | Organization | Patient | RelatedPerson)The reference to the practitioner
.... role 0..1CodeableConceptThe role the actor was in
Binding: Procedure Performer Role Codes (example)
... performed[x] S1..1dateTime, PeriodDate/Period the procedure was performed
... encounter 0..1Reference(Encounter)The encounter associated with the procedure
... location 0..1Reference(Location)Where the procedure happened
... 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)
... followUp 0..*CodeableConceptInstructions for follow up
Binding: Procedure Follow up Codes (SNOMED CT) (example)
... request 0..1Reference(CarePlan | DiagnosticRequest | ProcedureRequest | ReferralRequest)A request for this procedure
... notes 0..*AnnotationAdditional information about the procedure
... focalDevice 0..*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 (required)
.... manipulated 1..1Reference(Device)Device that was changed
... usedReference 0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode 0..*CodeableConceptCoded items used during the procedure
Binding: (unbound) (example)
... component 0..*Reference(MedicationAdministration | Procedure | Observation)Events related to the procedure

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

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

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Procedure.languageCommon LanguagesextensibleCommon Languages
Procedure.statusProcedureStatusrequiredProcedureStatus
Procedure.categoryProcedure Category Codes (SNOMED CT)exampleProcedure Category Codes (SNOMED CT)
Procedure.codeProcedure Codes (SNOMED CT)exampleProcedure Codes (SNOMED CT)
Procedure.code.codingDAF Procedure Type ICD-10-PCS CodesrequiredDAF Procedure Type ICD-10-PCS Codes
Procedure.code.codingDAF Procedure Type ICD-10-PCS CodesrequiredDAF Procedure Type ICD-10-PCS Codes
Procedure.reasonNotPerformedProcedure Not Performed Reason (SNOMED-CT)exampleProcedure Not Performed Reason (SNOMED-CT)
Procedure.bodySiteSNOMED CT Body StructuresexampleSNOMED CT Body Structures
Procedure.reasonCodeProcedure Reason CodesexampleProcedure Reason Codes
Procedure.performer.roleProcedure Performer Role CodesexampleProcedure Performer Role Codes
Procedure.outcomeProcedure Outcome Codes (SNOMED CT)exampleProcedure Outcome Codes (SNOMED CT)
Procedure.complicationCondition/Problem/Diagnosis CodesexampleCondition/Problem/Diagnosis Codes
Procedure.followUpProcedure Follow up Codes (SNOMED CT)exampleProcedure Follow up Codes (SNOMED CT)
Procedure.focalDevice.actionProcedure Device Action CodesrequiredProcedure Device Action Codes
Procedure.usedCode?extexample

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1ProcedureIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4ProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3ProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
pro-1ProcedureReason not performed is only permitted if notPerformed indicator is true
XPath: not(exists(f:reasonNotPerformed)) or f:notPerformed/@value=true()
.