CH EMS (R4)
1.9.0 - CI build

CH EMS (R4), published by IVR Interverband für Rettungswesen. This is not an authorized publication; it is the continuous build for version 1.9.0). This version is based on the current content of https://github.com/hl7ch/ch-ems/ and changes regularly. See the Directory of published versions

StructureDefinition: CHEmsProcedure

Definition of the procedure

The official URL for this profile is:

http://fhir.ch/ig/ch-ems/StructureDefinition/ch-ems-procedure

Formal Views of Profile Content

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

This structure is derived from Procedure

Summary

Mandatory: 1 element (1 nested mandatory element)

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureCH EMS Procedure
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-ems-ext-performer 0..1CodeableConceptPerformer of the procedure
URL: http://fhir.ch/ig/ch-ems/StructureDefinition/ch-ems-ext-performer
... status 1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... subject 1..1Reference(CH EMS Patient Profile)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... encounter 0..1Reference(CH EMS Encounter Profile)Emergency service during which this procedure is made
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*ProcedureCH EMS Procedure
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-ems-ext-performer I0..1CodeableConceptPerformer of the procedure
URL: http://fhir.ch/ig/ch-ems/StructureDefinition/ch-ems-ext-performer
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Identifiers for this procedure
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan | ServiceRequest)A request for this procedure
... partOf ΣI0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!ΣI1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason ΣI0..1CodeableConceptReason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example)
... category ΣI0..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example)
... code ΣI0..1CodeableConceptIdentification of the procedure
Binding: IVR valueset pre-treatment type (.143.11.13) (extensible)
... subject ΣI1..1Reference(CH EMS Patient Profile)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... encounter ΣI0..1Reference(CH EMS Encounter Profile)Emergency service during which this procedure is made
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... performed[x] ΣI0..1When the procedure was performed
.... performedDateTimedateTime
.... performedPeriodPeriod
.... performedStringstring
.... performedAgeAge
.... performedRangeRange
... recorder ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Who recorded the procedure
... asserter ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Person who asserts this procedure
... performer ΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function ΣI0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example)
.... actor ΣI1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)The reference to the practitioner
.... onBehalfOf I0..1Reference(Organization)Organization the device or practitioner was acting for
... location ΣI0..1Reference(Location)Where the procedure happened
... reasonCode ΣI0..*CodeableConceptCoded reason procedure performed
Binding: ProcedureReasonCodes (example)
... reasonReference ΣI0..*Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference)The justification that the procedure was performed
... bodySite ΣI0..*CodeableConceptTarget body sites
Binding: SNOMEDCTBodyStructures (example)
... outcome ΣI0..1CodeableConceptThe result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example)
... report I0..*Reference(DiagnosticReport | DocumentReference | Composition)Any report resulting from the procedure
... complication I0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example)
... complicationDetail I0..*Reference(Condition)A condition that is a result of the procedure
... followUp I0..*CodeableConceptInstructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example)
... note I0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementManipulated, implanted, or removed device
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I0..1CodeableConceptKind of change to device
Binding: ProcedureDeviceActionCodes (preferred)
.... manipulated I1..1Reference(Device)Device that was changed
... usedReference I0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode I0..*CodeableConceptCoded items used during the procedure
Binding: FHIRDeviceTypes (example)

doco Documentation for this format

This structure is derived from Procedure

Summary

Mandatory: 1 element (1 nested mandatory element)

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..*ProcedureCH EMS Procedure
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-ems-ext-performer 0..1CodeableConceptPerformer of the procedure
URL: http://fhir.ch/ig/ch-ems/StructureDefinition/ch-ems-ext-performer
... status 1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
... subject 1..1Reference(CH EMS Patient Profile)Patient
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL
... encounter 0..1Reference(CH EMS Encounter Profile)Emergency service during which this procedure is made
.... reference 1..1stringLiteral reference, Relative, internal or absolute URL

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure I0..*ProcedureCH EMS Procedure
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ch-ems-ext-performer I0..1CodeableConceptPerformer of the procedure
URL: http://fhir.ch/ig/ch-ems/StructureDefinition/ch-ems-ext-performer
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier ΣI0..*IdentifierExternal Identifiers for this procedure
... instantiatesCanonical ΣI0..*canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire)Instantiates FHIR protocol or definition
... instantiatesUri ΣI0..*uriInstantiates external protocol or definition
... basedOn ΣI0..*Reference(CarePlan | ServiceRequest)A request for this procedure
... partOf ΣI0..*Reference(Procedure | Observation | MedicationAdministration)Part of referenced event
... status ?!ΣI1..1codepreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown
Binding: EventStatus (required)
... statusReason ΣI0..1CodeableConceptReason for current status
Binding: ProcedureNotPerformedReason(SNOMED-CT) (example)
... category ΣI0..1CodeableConceptClassification of the procedure
Binding: ProcedureCategoryCodes(SNOMEDCT) (example)
... code ΣI0..1CodeableConceptIdentification of the procedure
Binding: IVR valueset pre-treatment type (.143.11.13) (extensible)
... subject ΣI1..1Reference(CH EMS Patient Profile)Patient
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... encounter ΣI0..1Reference(CH EMS Encounter Profile)Emergency service during which this procedure is made
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣI1..1stringLiteral reference, Relative, internal or absolute URL
.... type ΣI0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible)
.... identifier ΣI0..1IdentifierLogical reference, when literal reference is not known
.... display ΣI0..1stringText alternative for the resource
... performed[x] ΣI0..1When the procedure was performed
.... performedDateTimedateTime
.... performedPeriodPeriod
.... performedStringstring
.... performedAgeAge
.... performedRangeRange
... recorder ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Who recorded the procedure
... asserter ΣI0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)Person who asserts this procedure
... performer ΣI0..*BackboneElementThe people who performed the procedure
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function ΣI0..1CodeableConceptType of performance
Binding: ProcedurePerformerRoleCodes (example)
.... actor ΣI1..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)The reference to the practitioner
.... onBehalfOf I0..1Reference(Organization)Organization the device or practitioner was acting for
... location ΣI0..1Reference(Location)Where the procedure happened
... reasonCode ΣI0..*CodeableConceptCoded reason procedure performed
Binding: ProcedureReasonCodes (example)
... reasonReference ΣI0..*Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference)The justification that the procedure was performed
... bodySite ΣI0..*CodeableConceptTarget body sites
Binding: SNOMEDCTBodyStructures (example)
... outcome ΣI0..1CodeableConceptThe result of procedure
Binding: ProcedureOutcomeCodes(SNOMEDCT) (example)
... report I0..*Reference(DiagnosticReport | DocumentReference | Composition)Any report resulting from the procedure
... complication I0..*CodeableConceptComplication following the procedure
Binding: Condition/Problem/DiagnosisCodes (example)
... complicationDetail I0..*Reference(Condition)A condition that is a result of the procedure
... followUp I0..*CodeableConceptInstructions for follow up
Binding: ProcedureFollowUpCodes(SNOMEDCT) (example)
... note I0..*AnnotationAdditional information about the procedure
... focalDevice I0..*BackboneElementManipulated, implanted, or removed device
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... action I0..1CodeableConceptKind of change to device
Binding: ProcedureDeviceActionCodes (preferred)
.... manipulated I1..1Reference(Device)Device that was changed
... usedReference I0..*Reference(Device | Medication | Substance)Items used during procedure
... usedCode I0..*CodeableConceptCoded items used during the procedure
Binding: FHIRDeviceTypes (example)

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Procedure.languagepreferredCommonLanguages
Max Binding: AllLanguages
Procedure.statusrequiredEventStatus
Procedure.statusReasonexampleProcedureNotPerformedReason(SNOMED-CT)
Procedure.categoryexampleProcedureCategoryCodes(SNOMEDCT)
Procedure.codeextensiblePreTreatType
Procedure.subject.typeextensibleResourceType
Procedure.encounter.typeextensibleResourceType
Procedure.performer.functionexampleProcedurePerformerRoleCodes
Procedure.reasonCodeexampleProcedureReasonCodes
Procedure.bodySiteexampleSNOMEDCTBodyStructures
Procedure.outcomeexampleProcedureOutcomeCodes(SNOMEDCT)
Procedure.complicationexampleCondition/Problem/DiagnosisCodes
Procedure.followUpexampleProcedureFollowUpCodes(SNOMEDCT)
Procedure.focalDevice.actionpreferredProcedureDeviceActionCodes
Procedure.usedCodeexampleFHIRDeviceTypes

Constraints

Constraints

IdPathDetailsRequirements
dom-2ProcedureIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3ProcedureIf 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-4ProcedureIf 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-5ProcedureIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6ProcedureA resource should have narrative for robust management
: text.`div`.exists()
ele-1Procedure.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.extension:performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.extension:performerMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.subject.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.subject.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.subject.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.subject.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.subject.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.subject.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.encounter.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.encounter.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.encounter.referenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.encounter.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.encounter.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.encounter.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.performed[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.recorderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.asserterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.performer.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.performer.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.performer.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.performer.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.performer.functionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.performer.actorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.performer.onBehalfOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.outcomeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.reportAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.complicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.complicationDetailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.followUpAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.focalDeviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.focalDevice.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.focalDevice.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.focalDevice.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Procedure.focalDevice.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Procedure.focalDevice.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.focalDevice.manipulatedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.usedReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Procedure.usedCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())