Genomics Reporting Implementation Guide
3.0.0-ballot - Ballot International flag

This page is part of the Genetic Reporting Implementation Guide (v3.0.0-ballot: STU 3 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: Genomic Study

Official URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study Version: 3.0.0-ballot
Active as of 2023-12-18 Computable Name: GenomicStudy

A genomic study is a set of analyses performed to analyze and generate genomic data.

The details of a performed genomic study are captured as genomic study analysis instances, referenced via the genomic study's genomic-study-analysis-ext extension.

Genomic Study and Genomic Study Analysis profiles are backported from the FHIR R5 GenomicStudy resource.

Scope and Usage

A genomic study instance aims at delineating relevant information of a performed genomic study. A genomic study might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions studied.

A genomic study instance describes relevant information including the reasons, purpose, and performers of the study. It also provides technical endpoints to access these data. It serves as a logical aggregator for complex genomic analyses.

A genomic study instance might be based on one or more service requests or care plans. The reasons for performing a genomic study might be driven by specific Conditions or Observations. Although the genomic study subject is the focus of the study, the analysis-level focus could be used to specify other relevant subjects or specimens. For example, trio testing may involve three subjects: the proband, and both parents. The proband would be the subject listed directly under the genomic study, while each of the analyses could represent proband, mother, and father genomic analyses.

In clinical use, the study interpreters use all the results of these various analyses to provide diagnostic and therapeutic insights for the patient, where performers are listed according to their participation in each genomic analysis. Each analysis may be based on a set of defined protocols that may differ from the performed protocols.

Detailed information about the results of the analyses may be represented by Observations and gathered in a Genomic Report. Both resources may refer back to the originating genomic study to allow navigation.

Metrics and Region Details

Since the release of R5 included the GenomicStudy resource, some concepts are being added and others are being slightly reframed. The Metrics extension is used to assert high level quality metrics. The Regions extension is used to assert details about the scope of the analysis. There are options to express detail about genes and regions in the analysis. These include:

  • all genes or regions that were studied for analysis
  • genes or regions that had sufficient quality and coverage and are deemed to be called
  • genes or regions that were deemed uncallable, typically due to low coverage, but could be due to other quality issues

When expressing the each of those elements, there are two approaches to consider:

  • genes may be listed as coded values (HGNC)
  • region details may be shared via a BED file (the exact specification of the BED file is beyond the scope of this IG)

Example Walkthrough

The following figure is based on the Procedure/lungMass example. Some things to note:

  • A genomics report can reference 0..* genomic studies.
  • A genomic study's code codifies the overall test that was performed.
  • A genomic study can reference genomic study analyses.
  • A genomic study analysis' method characterizes the technique(s) used to perform the particular analysis.
  • A genomic study analysis' change type characterizes the type(s) of molecular alterations detectable by the analysis.
  • A genomic study analysis can reference BED files that provide precise sequencing coverage regions.
  • A genomic study analysis can reference a VCF file generated via the analysis.
  • Variant and other observations can explicitly reference the genomic study from which the observation was derived.
genomic study

Usage:

Formal Views of Profile Content

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

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure Procedure
... text 0..1NarrativeGenomicStudy.description
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... genomic-study-analysis 0..*Reference(Genomic Study Analysis)GenomicStudy.analysis
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-ext
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... identifier 0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical 0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri 0..*uriGenomicStudy.instantiatesUri
... basedOn 0..*Reference(ServiceRequest)GenomicStudy.basedOn
... partOf 0..0
... status 1..1codeGenomicStudy.status
... statusReason 0..0
... category 1..1CodeableConceptClassification of the procedure
.... coding 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code 0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject 1..1Reference(Patient | Group)GenomicStudy.subject
... encounter 0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] 0..1dateTimeGenomicStudy.startDate
... recorder 0..0
... asserter 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... location 0..0
... reasonCode 0..*CodeableConceptGenomicStudy.reason
... reasonReference 0..*Reference(Condition | Observation)GenomicStudy.reason
... bodySite 0..0
... outcome 0..0
... report 0..0
... complication 0..0
... complicationDetail 0..0
... followUp 0..0
... note 0..*AnnotationGenomicStudy.note
... focalDevice 0..0
... usedReference 0..0
... usedCode 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureAn action that is being or was performed on a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeGenomicStudy.description
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri Σ0..*uriGenomicStudy.instantiatesUri
... basedOn Σ0..*Reference(ServiceRequest)GenomicStudy.basedOn
... status ?!Σ1..1codeGenomicStudy.status
Binding: EventStatus (required): A code specifying the state of the procedure.

... category Σ1..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

.... coding Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code Σ0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject Σ1..1Reference(Patient | Group)GenomicStudy.subject
... encounter Σ0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] Σ0..1dateTimeGenomicStudy.startDate
... asserter Σ0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... reasonCode Σ0..*CodeableConceptGenomicStudy.reason
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(Condition | Observation)GenomicStudy.reason
... note 0..*AnnotationGenomicStudy.note

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Procedure.statusrequiredEventStatus
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)
Procedure.reasonCodeexampleProcedureReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureAn action that is being or was performed on a patient
... 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
... text 0..1NarrativeGenomicStudy.description
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... genomic-study-analysis 0..*Reference(Genomic Study Analysis)GenomicStudy.analysis
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-ext
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri Σ0..*uriGenomicStudy.instantiatesUri
... basedOn Σ0..*Reference(ServiceRequest)GenomicStudy.basedOn
... status ?!Σ1..1codeGenomicStudy.status
Binding: EventStatus (required): A code specifying the state of the procedure.

... category Σ1..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code Σ0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject Σ1..1Reference(Patient | Group)GenomicStudy.subject
... encounter Σ0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] Σ0..1dateTimeGenomicStudy.startDate
... asserter Σ0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... performer Σ0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... reasonCode Σ0..*CodeableConceptGenomicStudy.reason
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(Condition | Observation)GenomicStudy.reason
... note 0..*AnnotationGenomicStudy.note

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)
Procedure.performer.functionexampleProcedurePerformerRoleCodes
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Procedure

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure Procedure
... text 0..1NarrativeGenomicStudy.description
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... genomic-study-analysis 0..*Reference(Genomic Study Analysis)GenomicStudy.analysis
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-ext
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... identifier 0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical 0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri 0..*uriGenomicStudy.instantiatesUri
... basedOn 0..*Reference(ServiceRequest)GenomicStudy.basedOn
... partOf 0..0
... status 1..1codeGenomicStudy.status
... statusReason 0..0
... category 1..1CodeableConceptClassification of the procedure
.... coding 1..1CodingCode defined by a terminology system
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code 0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject 1..1Reference(Patient | Group)GenomicStudy.subject
... encounter 0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] 0..1dateTimeGenomicStudy.startDate
... recorder 0..0
... asserter 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... location 0..0
... reasonCode 0..*CodeableConceptGenomicStudy.reason
... reasonReference 0..*Reference(Condition | Observation)GenomicStudy.reason
... bodySite 0..0
... outcome 0..0
... report 0..0
... complication 0..0
... complicationDetail 0..0
... followUp 0..0
... note 0..*AnnotationGenomicStudy.note
... focalDevice 0..0
... usedReference 0..0
... usedCode 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureAn action that is being or was performed on a patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeGenomicStudy.description
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri Σ0..*uriGenomicStudy.instantiatesUri
... basedOn Σ0..*Reference(ServiceRequest)GenomicStudy.basedOn
... status ?!Σ1..1codeGenomicStudy.status
Binding: EventStatus (required): A code specifying the state of the procedure.

... category Σ1..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

.... coding Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code Σ0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject Σ1..1Reference(Patient | Group)GenomicStudy.subject
... encounter Σ0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] Σ0..1dateTimeGenomicStudy.startDate
... asserter Σ0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... reasonCode Σ0..*CodeableConceptGenomicStudy.reason
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(Condition | Observation)GenomicStudy.reason
... note 0..*AnnotationGenomicStudy.note

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Procedure.statusrequiredEventStatus
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)
Procedure.reasonCodeexampleProcedureReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureAn action that is being or was performed on a patient
... 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
... text 0..1NarrativeGenomicStudy.description
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... genomic-study-analysis 0..*Reference(Genomic Study Analysis)GenomicStudy.analysis
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-ext
... referrer 0..1Reference(Practitioner | PractitionerRole)GenomicStudy.referrer
URL: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-referrer-ext
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierGenomicStudy.identifier
... instantiatesCanonical Σ0..*canonical(PlanDefinition)GenomicStudy.instantiatesCanonical
... instantiatesUri Σ0..*uriGenomicStudy.instantiatesUri
... basedOn Σ0..*Reference(ServiceRequest)GenomicStudy.basedOn
... status ?!Σ1..1codeGenomicStudy.status
Binding: EventStatus (required): A code specifying the state of the procedure.

... category Σ1..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes.

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..1CodingCode defined by a terminology system

Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text Σ0..1stringPlain text representation of the concept
... code Σ0..1CodeableConceptGenomicStudy.type
Binding: Genomic Study Type ValueSet (example)
... subject Σ1..1Reference(Patient | Group)GenomicStudy.subject
... encounter Σ0..1Reference(Encounter)GenomicStudy.encounter
... performed[x] Σ0..1dateTimeGenomicStudy.startDate
... asserter Σ0..1Reference(Practitioner | PractitionerRole)GenomicStudy.interpreter
... performer Σ0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure.

.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)The reference to the practitioner
.... onBehalfOf 0..1Reference(Organization)Organization the device or practitioner was acting for
... reasonCode Σ0..*CodeableConceptGenomicStudy.reason
Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required.


... reasonReference Σ0..*Reference(Condition | Observation)GenomicStudy.reason
... note 0..*AnnotationGenomicStudy.note

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.statusrequiredEventStatus
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleGenomicStudyTypeVS (a valid code from Genomic Study Type CodeSystem)
Procedure.performer.functionexampleProcedurePerformerRoleCodes
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProcedureIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorProcedureIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Procedure

 

Other representations of profile: CSV, Excel, Schematron