Kenya Patient Summary FHIR IG
0.1.0 - ci-build
Kenya Patient Summary FHIR IG - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://example.org/fhir/StructureDefinition/kps-procedure | Version: 0.1.0 | |||
| Draft as of 2025-12-09 | Computable Name: KpsProcedure | |||
This profile defines constraints on the Procedure resource for use within the Kenya Patient Summary. It identifies healthcare facilities or organizations involved in the provision or management of patient care, supporting national HIE and continuity of care.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||||
![]() ![]() |
S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required)
| ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who the procedure was performed on | ||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() |
SΣ | 1..1 | When the procedure was performed | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | performed[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
Period | |||||||||
![]() ![]() |
SΣ | 0..* | BackboneElement | The people who performed the procedure | ||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner | ||||||
![]() ![]() |
SΣ | 0..1 | Reference(Location) | Where the procedure happened | ||||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) | ||||||
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (example) | ||||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Procedure.code | Base | required | Procedure Code ValueSet | 📦0.1.0 | This IG |
| Procedure.reasonCode | Base | preferred | ReasonCode ValueSet | 📦0.1.0 | This IG |
| Procedure.bodySite | Base | example | SNOMED CT Body Structures | 📦4.0.1 | FHIR Std. |
| Procedure.outcome | Base | example | Procedure Outcome Codes (SNOMED CT) | 📦4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 |
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-4 | error | Procedure | If 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from ProcedureUvIps
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) |
![]() ![]() |
S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
![]() ![]() |
1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required) | |
![]() ![]() |
1..1 | When the procedure was performed | ||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
S | 0..* | BackboneElement | The people who performed the procedure |
![]() ![]() ![]() |
S | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner |
![]() ![]() |
S | 0..1 | Reference(Location) | Where the procedure happened |
![]() ![]() |
S | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) |
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text |
![]() ![]() |
S | 0..1 | CodeableConcept | The result of procedure |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.code | Base | required | Procedure Code ValueSet | 📦0.1.0 | This IG |
| Procedure.reasonCode | Base | preferred | ReasonCode ValueSet | 📦0.1.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
Σ | 0..* | Identifier | External Identifiers for this procedure | ||||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||||
![]() ![]() |
Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed. | ||||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||||
![]() ![]() |
S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required)
| ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who the procedure was performed on | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||||
![]() ![]() |
SΣ | 1..1 | When the procedure was performed | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | performed[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
Period | |||||||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure | ||||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Person who asserts this procedure | ||||||
![]() ![]() |
SΣ | 0..* | BackboneElement | The people who performed the procedure | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner | ||||||
![]() ![]() ![]() |
0..1 | Reference(Organization (IPS)) | Organization the device or practitioner was acting for | |||||||
![]() ![]() |
SΣ | 0..1 | Reference(Location) | Where the procedure happened | ||||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) | ||||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed | ||||||
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (example) | ||||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||||
![]() ![]() |
0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||||
![]() ![]() |
0..* | Reference(Condition) | A condition that is a result of the procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||||
![]() ![]() |
0..* | Annotation | Additional information about the procedure | |||||||
![]() ![]() |
0..* | BackboneElement | Manipulated, implanted, or removed device | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||||
![]() ![]() ![]() |
1..1 | Reference(Device) | Device that was changed | |||||||
![]() ![]() |
0..* | Reference(Device | Medication | Substance) | Items used during procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure. | |||||||
Documentation for this format | ||||||||||
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 |
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-4 | error | Procedure | If 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from ProcedureUvIps
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||||
![]() ![]() |
S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required)
| ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who the procedure was performed on | ||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() |
SΣ | 1..1 | When the procedure was performed | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | performed[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
Period | |||||||||
![]() ![]() |
SΣ | 0..* | BackboneElement | The people who performed the procedure | ||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner | ||||||
![]() ![]() |
SΣ | 0..1 | Reference(Location) | Where the procedure happened | ||||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) | ||||||
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (example) | ||||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||||
Documentation for this format | ||||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.status | Base | required | EventStatus | 📍4.0.1 | FHIR Std. |
| Procedure.code | Base | required | Procedure Code ValueSet | 📦0.1.0 | This IG |
| Procedure.reasonCode | Base | preferred | ReasonCode ValueSet | 📦0.1.0 | This IG |
| Procedure.bodySite | Base | example | SNOMED CT Body Structures | 📦4.0.1 | FHIR Std. |
| Procedure.outcome | Base | example | Procedure Outcome Codes (SNOMED CT) | 📦4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 |
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-4 | error | Procedure | If 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
This structure is derived from ProcedureUvIps
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) |
![]() ![]() |
S | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown |
![]() ![]() |
1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required) | |
![]() ![]() |
1..1 | When the procedure was performed | ||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
S | 0..* | BackboneElement | The people who performed the procedure |
![]() ![]() ![]() |
S | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner |
![]() ![]() |
S | 0..1 | Reference(Location) | Where the procedure happened |
![]() ![]() |
S | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) |
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text |
![]() ![]() |
S | 0..1 | CodeableConcept | The result of procedure |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Procedure.code | Base | required | Procedure Code ValueSet | 📦0.1.0 | This IG |
| Procedure.reasonCode | Base | preferred | ReasonCode ValueSet | 📦0.1.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() |
0..* | ProcedureUvIps | An action that is being or was performed on a patient | |||||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | Procedure Type Category URL: https://example.org/fhir/StructureDefinition/procedure-type-category Binding: Procedure Types ValueSet (preferred) | ||||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||||
![]() ![]() |
Σ | 0..* | Identifier | External Identifiers for this procedure | ||||||
![]() ![]() |
Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||||
![]() ![]() |
Σ | 0..* | Reference(Procedure | Observation | MedicationAdministration) | Part of referenced event | ||||||
![]() ![]() |
?!SΣ | 1..1 | code | preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown Binding: EventStatus (required): A code specifying the state of the procedure. | ||||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed. | ||||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||||
![]() ![]() |
S | 1..1 | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: Procedure Code ValueSet (required)
| ||||||
![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS)) | Who the procedure was performed on | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() |
SΣC | 1..1 | string | Literal reference, Relative, internal or absolute URL | ||||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||||
![]() ![]() ![]() |
Σ | 0..1 | Identifier | Logical reference, when literal reference is not known | ||||||
![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||||
![]() ![]() |
SΣ | 1..1 | When the procedure was performed | |||||||
![]() ![]() ![]() |
Content/Rules for all Types | |||||||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||||
![]() ![]() ![]() ![]() ![]() |
S | 0..1 | code | performed[x] absence reason URL: http://hl7.org/fhir/StructureDefinition/data-absent-reason Binding: DataAbsentReason (required) | ||||||
![]() ![]() ![]() |
dateTime | |||||||||
![]() ![]() ![]() |
Period | |||||||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Who recorded the procedure | ||||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) | Person who asserts this procedure | ||||||
![]() ![]() |
SΣ | 0..* | BackboneElement | The people who performed the procedure | ||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Patient (IPS) | RelatedPerson | Device - performer, observer | Practitioner (IPS) | PractitionerRole (IPS) | Organization (IPS)) | The reference to the practitioner | ||||||
![]() ![]() ![]() |
0..1 | Reference(Organization (IPS)) | Organization the device or practitioner was acting for | |||||||
![]() ![]() |
SΣ | 0..1 | Reference(Location) | Where the procedure happened | ||||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ReasonCode ValueSet (preferred) | ||||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed | ||||||
![]() ![]() |
S | 0..* | CodeableConceptIPS | Concept - reference to a terminology or just text Binding: SNOMEDCTBodyStructures (example) | ||||||
![]() ![]() |
SΣ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||||
![]() ![]() |
0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||||
![]() ![]() |
0..* | Reference(Condition) | A condition that is a result of the procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||||
![]() ![]() |
0..* | Annotation | Additional information about the procedure | |||||||
![]() ![]() |
0..* | BackboneElement | Manipulated, implanted, or removed device | |||||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||||
![]() ![]() ![]() |
1..1 | Reference(Device) | Device that was changed | |||||||
![]() ![]() |
0..* | Reference(Device | Medication | Substance) | Items used during procedure | |||||||
![]() ![]() |
0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure. | |||||||
Documentation for this format | ||||||||||
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Procedure | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Procedure | 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 |
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-4 | error | Procedure | If 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-5 | error | Procedure | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Procedure | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
This structure is derived from ProcedureUvIps
Other representations of profile: CSV, Excel, Schematron