XpanDH Hospital Discharge Report
0.1.0 - ci-build 150

XpanDH Hospital Discharge Report, published by XpanDH Project. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/xpandh-hdr/ and changes regularly. See the Directory of published versions

Resource Profile: Procedure (Xpandh)

Official URL: http://hl7.eu/fhir/ig/xpandh/hdr/StructureDefinition/Procedure-xpandh Version: 0.1.0
Draft as of 2025-01-06 Computable Name: ProcedureXpandh

Copyright/Legal: Used by permission of the XpanDH project, all rights reserved Creative Commons License

This profile represents the constraints applied to the Procedure resource by the Xpandh project. This profile is based on International patient Summary (IPS) procedure profile.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure 0..* ProcedureUvIps 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-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... text 1..1 Narrative Text summary of the resource, for human interpretation
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... code S 1..1 CodeableConceptIPS Concept - reference to a terminology or just text
Binding: Procedures - SNOMED CT + Absent/Unknown - IPS (preferred): SNOMED CT procedure code set or a code for absent/unknown procedure

Additional BindingsPurpose
Procedures - SNOMED CT IPS Free Set candidate
Absent or Unknown Procedures - IPS candidate
Procedure codes: Snomed CT candidate

ele-1: All FHIR elements must have a @value or children
... subject SΣ 1..1 Reference(Patient: HDR) Who the procedure was performed on
ele-1: All FHIR elements must have a @value or children
.... reference SΣC 1..1 string Literal reference, Relative, internal or absolute URL
ele-1: All FHIR elements must have a @value or children
... performed[x] SΣ 1..1 When the procedure was performed
ele-1: All FHIR elements must have a @value or children
.... performed[x]All Types Content/Rules for all Types
..... Slices for extension Content/Rules for all slices
...... data-absent-reason S 0..1 code performed[x] absence reason
URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason
Binding: DataAbsentReason (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... performedDateTime dateTime
.... performedPeriod Period
.... performedString string
.... performedAge Age
.... performedRange Range
... bodySite 0..* CodeableConceptIPS Concept - reference to a terminology or just text
Binding: SNOMEDCTBodyStructures (example)
ele-1: All FHIR elements must have a @value or children
.... Slices for extension Content/Rules for all slices
..... bodySite 0..1 (Complex) Target anatomic location or structure
URL: http://hl7.org/fhir/StructureDefinition/bodySite
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
...... extension 0..0
...... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/bodySite"
...... value[x] 1..1 Reference(Body structure: Laboratory) Value of extension
ele-1: All FHIR elements must have a @value or children
.... coding S 0..* CodingIPS A reference to a code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
.... text SΣ 0..1 string Plain text representation of the concept
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Procedure.statusrequiredEventStatus
http://hl7.org/fhir/ValueSet/event-status|4.0.1
from the FHIR Standard
Procedure.codepreferredProceduresSnomedAbsentUnknownXpandhVS
http://hl7.eu/fhir/ig/xpandh/hdr/ValueSet/procedures-snomed-absent-unknown-xpandh-vs
from this IG
Procedure.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard

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

 

Other representations of profile: CSV, Excel, Schematron