共同資料模式實作指引(Common Data Model IG)
1.0.0-Trial Use - draft

共同資料模式實作指引(Common Data Model IG) - Local Development build (v1.0.0-Trial Use). See the Directory of published versions

Resource Profile: Cancer-Related Surgical Procedure P1 Profile

Official URL: https://standard-interoperability-lab.com/fhir/StructureDefinition/cancer-related-surgical-procedure-P1 Version: 1.0.0-Trial Use
Active as of 2023-07-26 Computable Name: CancerRelatedSurgicalProcedureP1

A surgical action addressing a cancer condition. The scope of this profile has been narrowed to cancer-related procedures by constraining the reasonReference and reasonCode to cancer conditions, one of which is required.

Usage:

Formal Views of Profile Content

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

This structure is derived from Procedure

Terminology Bindings

PathConformanceValueSet / Code
Procedure.identifier.userequiredIdentifierUse
Procedure.statusrequiredFixed Value: completed
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleProcedureCodes(SNOMEDCT)
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)

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()

Terminology Bindings

PathConformanceValueSet / Code
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.identifier.userequiredIdentifierUse
Procedure.identifier.typeextensibleIdentifier Type Codes
Procedure.statusrequiredFixed Value: completed
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleProcedureCodes(SNOMEDCT)
Procedure.subject.typeextensibleResourceType
Procedure.performer.functionexampleProcedurePerformerRoleCodes
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.reasonReference.typeextensibleResourceType
Procedure.bodySiteexampleSNOMEDCTBodyStructures
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
Procedure.usedCodeexampleFHIRDeviceTypes

Constraints

IdGradePath(s)DetailsRequirements
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

Summary

Mandatory: 9 elements (21 nested mandatory elements)
Must-Support: 37 elements
Fixed Value: 5 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Procedure.category.coding is sliced based on the value of value:userSelected

Differential View

This structure is derived from Procedure

Key Elements View

Terminology Bindings

PathConformanceValueSet / Code
Procedure.identifier.userequiredIdentifierUse
Procedure.statusrequiredFixed Value: completed
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleProcedureCodes(SNOMEDCT)
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)

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

Terminology Bindings

PathConformanceValueSet / Code
Procedure.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Procedure.identifier.userequiredIdentifierUse
Procedure.identifier.typeextensibleIdentifier Type Codes
Procedure.statusrequiredFixed Value: completed
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeexampleProcedureCodes(SNOMEDCT)
Procedure.subject.typeextensibleResourceType
Procedure.performer.functionexampleProcedurePerformerRoleCodes
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.reasonReference.typeextensibleResourceType
Procedure.bodySiteexampleSNOMEDCTBodyStructures
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
Procedure.usedCodeexampleFHIRDeviceTypes

Constraints

IdGradePath(s)DetailsRequirements
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

Summary

Mandatory: 9 elements (21 nested mandatory elements)
Must-Support: 37 elements
Fixed Value: 5 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Procedure.category.coding is sliced based on the value of value:userSelected

 

Other representations of profile: CSV, Excel, Schematron