Finnish Base Profiles
1.0.0 - trial-use
This page is part of the Finnish Base Profiles (v1.0.0: STU 1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-procedure | Version: 1.0.0 | |||
Active as of 2023-11-10 | Computable Name: FiBaseProcedure |
The Base profile for Finnish Procedure resource.
This profile sets minimum expectations for the Procedure resource to search and fetch current or historical procedures performed on or for a patient. It identifies which elements, code systems and value sets SHALL be present in the resource when using this profile.
In many cases more than one procedure are being performed during one encounter. Usually this means that one of the procedures is the main procedure and others are sub-procedures. Latter ones could be performed in supporting or assisting purpose (e.g. Anaesthesia) or their task is to describe how the main procedure was performed (e.g. using robot for performing the procedure). This conjunction between different procedures is done by using partOf
reference. The main procedure does not have partOf
reference. Examples of this can be found from Examples page.
Code systems that are associated with this profile are listed in a table below. It is not required to use these code systems in every situation, but rather to choose correct code systems depending on a use case if nessecary. Some explanation of using these code systems can be found from the website behind the link. The Use column descripes the element in which that particular code system can be used in Procedure resource.
Code System | OID code | Link | Use |
---|---|---|---|
THL - toimenpideluokitus | 1.2.246.537.6.2.2007 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=57&versionKey=119 | Procedure.code |
THL - Suun terveydenhuollon toimenpideluokitus | 1.2.246.537.6.33 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=58&versionKey=79 | Procedure.code |
AR/YDIN - Toimenpiteen tyyppi | 1.2.246.537.6.601 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=763&versionKey=903 | Procedure.code |
Kuntaliitto - Radiologinen tutkimus- ja toimenpideluokitus | 1.2.246.537.6.4 | https://koodistopalvelu.kanta.fi/codeserver/pages/classification-view-page.xhtml?classificationKey=44&versionKey=118 | Procedure.code |
NOTE: While writing this profile SNOMED code system is not widely used in Finland since adopting the code system is still in progess. More information about the subject can be found on Terminology page. Nevertheless SNOMED codes SHOULD be used if possible in a faced use case.
THL toimenpideluokitus is based on Nordic Classification of Surgical Procedures (NCSP) which can be found in here.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Procedure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Procedure | 0..* | Procedure | An action that is being or was performed on a patient | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
partOf | Σ | 0..* | Reference(Fi Base Procedure | FI Base Observation | FI Base MedicationAdministration) | Part of referenced event |
status | ?!Σ | 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. |
subject | Σ | 1..1 | Reference(FI Base Patient | Group) | Who the procedure was performed on |
encounter | Σ | 0..1 | Reference(FI Base Encounter) | Encounter created as part of |
recorder | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Who recorded the procedure |
asserter | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Person who asserts this procedure |
location | Σ | 0..1 | Reference(FI Base Location) | Where the procedure happened |
reasonReference | Σ | 0..* | Reference(FI Base Condition | FI Base Observation | Fi Base Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed |
complicationDetail | 0..* | Reference(FI Base Condition) | A condition that is a result of the procedure | |
usedReference | 0..* | Reference(Device | FI Base Medication | Substance) | Items used during procedure | |
Documentation for this format |
Path | Conformance | ValueSet |
Procedure.status | required | EventStatus |
Id | Grade | Path(s) | Details | Requirements |
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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Procedure | 0..* | Procedure | An action that is being or was performed on a patient | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Identifiers for this procedure | ||||
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | ||||
basedOn | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||
partOf | Σ | 0..* | Reference(Fi Base Procedure | FI Base Observation | FI Base MedicationAdministration) | Part of referenced event | ||||
status | ?!Σ | 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. | ||||
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed. | ||||
category | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||
code | Σ | 0..1 | CodeableConcept | Identification of the procedure Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure . | ||||
subject | Σ | 1..1 | Reference(FI Base Patient | Group) | Who the procedure was performed on | ||||
encounter | Σ | 0..1 | Reference(FI Base Encounter) | Encounter created as part of | ||||
performed[x] | Σ | 0..1 | When the procedure was performed | |||||
performedDateTime | dateTime | |||||||
performedPeriod | Period | |||||||
performedString | string | |||||||
performedAge | Age | |||||||
performedRange | Range | |||||||
recorder | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Who recorded the procedure | ||||
asserter | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Person who asserts this procedure | ||||
performer | Σ | 0..* | BackboneElement | The people who performed the procedure | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
function | Σ | 0..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||
actor | Σ | 1..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Organization | FI Base Patient | RelatedPerson | Device) | The reference to the practitioner | ||||
onBehalfOf | 0..1 | Reference(FI Base Organization) | Organization the device or practitioner was acting for | |||||
location | Σ | 0..1 | Reference(FI Base Location) | Where the procedure happened | ||||
reasonCode | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. | ||||
reasonReference | Σ | 0..* | Reference(FI Base Condition | FI Base Observation | Fi Base Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed | ||||
bodySite | Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||
report | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||
complication | 0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||
complicationDetail | 0..* | Reference(FI Base Condition) | A condition that is a result of the procedure | |||||
followUp | 0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||
note | 0..* | Annotation | Additional information about the procedure | |||||
focalDevice | 0..* | BackboneElement | Manipulated, implanted, or removed device | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
action | 0..1 | CodeableConcept | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||
manipulated | 1..1 | Reference(Device) | Device that was changed | |||||
usedReference | 0..* | Reference(Device | FI Base Medication | Substance) | Items used during procedure | |||||
usedCode | 0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure. | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Procedure.language | preferred | CommonLanguages
| ||||
Procedure.status | required | EventStatus | ||||
Procedure.statusReason | example | ProcedureNotPerformedReason(SNOMED-CT) | ||||
Procedure.category | example | ProcedureCategoryCodes(SNOMEDCT) | ||||
Procedure.code | example | ProcedureCodes(SNOMEDCT) | ||||
Procedure.performer.function | example | ProcedurePerformerRoleCodes | ||||
Procedure.reasonCode | example | ProcedureReasonCodes | ||||
Procedure.bodySite | example | SNOMEDCTBodyStructures | ||||
Procedure.outcome | example | ProcedureOutcomeCodes(SNOMEDCT) | ||||
Procedure.complication | example | Condition/Problem/DiagnosisCodes | ||||
Procedure.followUp | example | ProcedureFollowUpCodes(SNOMEDCT) | ||||
Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes | ||||
Procedure.usedCode | example | FHIRDeviceTypes |
Id | Grade | Path(s) | Details | Requirements |
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 Procedure
Summary
Structures
This structure refers to these other structures:
Differential View
This structure is derived from Procedure
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Procedure | 0..* | Procedure | An action that is being or was performed on a patient | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
partOf | Σ | 0..* | Reference(Fi Base Procedure | FI Base Observation | FI Base MedicationAdministration) | Part of referenced event |
status | ?!Σ | 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. |
subject | Σ | 1..1 | Reference(FI Base Patient | Group) | Who the procedure was performed on |
encounter | Σ | 0..1 | Reference(FI Base Encounter) | Encounter created as part of |
recorder | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Who recorded the procedure |
asserter | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Person who asserts this procedure |
location | Σ | 0..1 | Reference(FI Base Location) | Where the procedure happened |
reasonReference | Σ | 0..* | Reference(FI Base Condition | FI Base Observation | Fi Base Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed |
complicationDetail | 0..* | Reference(FI Base Condition) | A condition that is a result of the procedure | |
usedReference | 0..* | Reference(Device | FI Base Medication | Substance) | Items used during procedure | |
Documentation for this format |
Path | Conformance | ValueSet |
Procedure.status | required | EventStatus |
Id | Grade | Path(s) | Details | Requirements |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Procedure | 0..* | Procedure | An action that is being or was performed on a patient | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | Σ | 0..* | Identifier | External Identifiers for this procedure | ||||
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) | Instantiates FHIR protocol or definition | ||||
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | ||||
basedOn | Σ | 0..* | Reference(CarePlan | ServiceRequest) | A request for this procedure | ||||
partOf | Σ | 0..* | Reference(Fi Base Procedure | FI Base Observation | FI Base MedicationAdministration) | Part of referenced event | ||||
status | ?!Σ | 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. | ||||
statusReason | Σ | 0..1 | CodeableConcept | Reason for current status Binding: ProcedureNotPerformedReason(SNOMED-CT) (example): A code that identifies the reason a procedure was not performed. | ||||
category | Σ | 0..1 | CodeableConcept | Classification of the procedure Binding: ProcedureCategoryCodes(SNOMEDCT) (example): A code that classifies a procedure for searching, sorting and display purposes. | ||||
code | Σ | 0..1 | CodeableConcept | Identification of the procedure Binding: ProcedureCodes(SNOMEDCT) (example): A code to identify a specific procedure . | ||||
subject | Σ | 1..1 | Reference(FI Base Patient | Group) | Who the procedure was performed on | ||||
encounter | Σ | 0..1 | Reference(FI Base Encounter) | Encounter created as part of | ||||
performed[x] | Σ | 0..1 | When the procedure was performed | |||||
performedDateTime | dateTime | |||||||
performedPeriod | Period | |||||||
performedString | string | |||||||
performedAge | Age | |||||||
performedRange | Range | |||||||
recorder | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Who recorded the procedure | ||||
asserter | Σ | 0..1 | Reference(FI Base Patient | RelatedPerson | FI Base Practitioner | FI Base PractitionerRole) | Person who asserts this procedure | ||||
performer | Σ | 0..* | BackboneElement | The people who performed the procedure | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
function | Σ | 0..1 | CodeableConcept | Type of performance Binding: ProcedurePerformerRoleCodes (example): A code that identifies the role of a performer of the procedure. | ||||
actor | Σ | 1..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Organization | FI Base Patient | RelatedPerson | Device) | The reference to the practitioner | ||||
onBehalfOf | 0..1 | Reference(FI Base Organization) | Organization the device or practitioner was acting for | |||||
location | Σ | 0..1 | Reference(FI Base Location) | Where the procedure happened | ||||
reasonCode | Σ | 0..* | CodeableConcept | Coded reason procedure performed Binding: ProcedureReasonCodes (example): A code that identifies the reason a procedure is required. | ||||
reasonReference | Σ | 0..* | Reference(FI Base Condition | FI Base Observation | Fi Base Procedure | DiagnosticReport | DocumentReference) | The justification that the procedure was performed | ||||
bodySite | Σ | 0..* | CodeableConcept | Target body sites Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
outcome | Σ | 0..1 | CodeableConcept | The result of procedure Binding: ProcedureOutcomeCodes(SNOMEDCT) (example): An outcome of a procedure - whether it was resolved or otherwise. | ||||
report | 0..* | Reference(DiagnosticReport | DocumentReference | Composition) | Any report resulting from the procedure | |||||
complication | 0..* | CodeableConcept | Complication following the procedure Binding: Condition/Problem/DiagnosisCodes (example): Codes describing complications that resulted from a procedure. | |||||
complicationDetail | 0..* | Reference(FI Base Condition) | A condition that is a result of the procedure | |||||
followUp | 0..* | CodeableConcept | Instructions for follow up Binding: ProcedureFollowUpCodes(SNOMEDCT) (example): Specific follow up required for a procedure e.g. removal of sutures. | |||||
note | 0..* | Annotation | Additional information about the procedure | |||||
focalDevice | 0..* | BackboneElement | Manipulated, implanted, or removed device | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
action | 0..1 | CodeableConcept | Kind of change to device Binding: ProcedureDeviceActionCodes (preferred): A kind of change that happened to the device during the procedure. | |||||
manipulated | 1..1 | Reference(Device) | Device that was changed | |||||
usedReference | 0..* | Reference(Device | FI Base Medication | Substance) | Items used during procedure | |||||
usedCode | 0..* | CodeableConcept | Coded items used during the procedure Binding: FHIRDeviceTypes (example): Codes describing items used during a procedure. | |||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Procedure.language | preferred | CommonLanguages
| ||||
Procedure.status | required | EventStatus | ||||
Procedure.statusReason | example | ProcedureNotPerformedReason(SNOMED-CT) | ||||
Procedure.category | example | ProcedureCategoryCodes(SNOMEDCT) | ||||
Procedure.code | example | ProcedureCodes(SNOMEDCT) | ||||
Procedure.performer.function | example | ProcedurePerformerRoleCodes | ||||
Procedure.reasonCode | example | ProcedureReasonCodes | ||||
Procedure.bodySite | example | SNOMEDCTBodyStructures | ||||
Procedure.outcome | example | ProcedureOutcomeCodes(SNOMEDCT) | ||||
Procedure.complication | example | Condition/Problem/DiagnosisCodes | ||||
Procedure.followUp | example | ProcedureFollowUpCodes(SNOMEDCT) | ||||
Procedure.focalDevice.action | preferred | ProcedureDeviceActionCodes | ||||
Procedure.usedCode | example | FHIRDeviceTypes |
Id | Grade | Path(s) | Details | Requirements |
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 Procedure
Summary
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron