## Profile Comparison between https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/kanta-document-other-metadata-profile vs https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/kanta-document-other-metadata-profile

Left: | An imaginary profile for Kanta system, specifying things apart from the information custodian (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/kanta-document-other-metadata-profile)
Right: | An imaginary profile for Kanta system, specifying things apart from the information custodian (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/kanta-document-other-metadata-profile)

### Messages

Error | StructureDefinition.version | Values for version differ: '1.0.0' vs '2.0.0'
Information | StructureDefinition.date | Values for date differ: '2023-11-10T00:34:45+02:00' vs '2025-10-05T15:38:20+00:00'
Information | Provenance.language | Example/preferred bindings differ at Provenance.language using binding from KantaDocumentOtherMetadata

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-provenance |
copyright |  |
date | 2023-11-10T00:34:45+02:00 | 2025-10-05T15:38:20+00:00 | Values Differ
description | This is one way in which a system might use the Finnish Base Information Custodian profile. This profile defines other constraints. The profile KantaDocumentMetadata combines the requirements. |
experimental |  |
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#FI |
kind | resource |
name | KantaDocumentOtherMetadata |
publisher | HL7 Finland |
purpose |  |
status | active |
title | An imaginary profile for Kanta system, specifying things apart from the information custodian |
type | Provenance |
url | https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/kanta-document-other-metadata-profile |
version | 1.0.0 | 2.0.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Provenance |  | 0..* | FiBaseProvenance | Who, What, When for a set of resources |  | 0..* | FiBaseProvenance(2.0.0) | Who, What, When for a set of resources |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at Provenance.language using binding from KantaDocumentOtherMetadata
text |  | 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..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 |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
target | Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) | Σ | 1..* | Reference(Resource) | Target Reference(s) (usually version specific) |
occurred[x] |  | 0..1 | Period, dateTime | When the activity occurred |  | 0..1 | Period, dateTime | When the activity occurred |
recorded | Σ | 1..1 | instant | When the activity was recorded / updated | Σ | 1..1 | instant | When the activity was recorded / updated |
policy |  | 0..* | uri | Policy or plan the activity was defined by |  | 0..* | uri | Policy or plan the activity was defined by |
location |  | 0..1 | Reference(FI Base Location) | Where the activity occurred, if relevant |  | 0..1 | Reference(FI Base Location(2.0.0)) | Where the activity occurred, if relevant |
reason |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: ?? (extensible): The reason the activity took place. |  | 0..* | CodeableConcept | Reason the activity is occurring Binding: ?? (extensible): The reason the activity took place. |
activity |  | 0..1 | CodeableConcept | Activity that occurred Binding: ?? (extensible): The activity that took place. |  | 0..1 | CodeableConcept | Activity that occurred Binding: ?? (extensible): The activity that took place. |
agent |  | 1..* | BackboneElement | Actor involved |  | 1..* | BackboneElement | Actor involved |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ?? (extensible): The type of participation that a provenance agent played with respect to the activity. | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ?? (extensible): The type of participation that a provenance agent played with respect to the activity. |
Slices for role |  | 1..* | CodeableConcept | What the agents role was Slice: Unordered, Open by value:coding.system Binding: ?? (example): The role that a provenance agent played with respect to the activity. |  | 1..* | CodeableConcept | What the agents role was Slice: Unordered, Open by value:coding.system Binding: ?? (example): The role that a provenance agent played with respect to the activity. |
who | Σ | 1..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Patient | RelatedPerson | Device | FI Base Organization) | Who participated | Σ | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device | FI Base Organization(2.0.0)) | Who participated |
onBehalfOf |  | 0..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Patient | RelatedPerson | Device | FI Base Organization) | Who the agent is representing |  | 0..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device | FI Base Organization(2.0.0)) | Who the agent is representing |
entity |  | 0..* | BackboneElement | An entity used in this activity |  | 0..* | BackboneElement | An entity used in this activity |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
role | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ?? (required): How an entity was used in an activity. | Σ | 1..1 | code | derivation | revision | quotation | source | removal Binding: ?? (required): How an entity was used in an activity. |
what | Σ | 1..1 | Reference(Resource) | Identity of entity | Σ | 1..1 | Reference(Resource) | Identity of entity |
agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent |  | 0..* | See agent (Provenance) | Entity is attributed to this agent |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ?? (extensible): The type of participation that a provenance agent played with respect to the activity. | Σ | 0..1 | CodeableConcept | How the agent participated Binding: ?? (extensible): The type of participation that a provenance agent played with respect to the activity. |
Slices for role |  | 1..* | CodeableConcept | What the agents role was Slice: Unordered, Open by value:coding.system Binding: ?? (example): The role that a provenance agent played with respect to the activity. |  | 1..* | CodeableConcept | What the agents role was Slice: Unordered, Open by value:coding.system Binding: ?? (example): The role that a provenance agent played with respect to the activity. |
role |  | 1..* | CodeableConcept | What the agents role was Binding: ?? (example): The role that a provenance agent played with respect to the activity. |  | 1..* | CodeableConcept | What the agents role was Binding: ?? (example): The role that a provenance agent played with respect to the activity. |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | Σ | 0..* | Coding | Code defined by a terminology system | Σ | 0..* | Coding | Code defined by a terminology system |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) |
version | Σ | 0..1 | string | Version of the system - if relevant | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 0..1 | code | Symbol in syntax defined by the system | Σ | 0..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations |
coding | Σ | 0..* | Coding | Code defined by a terminology system | Σ | 0..* | Coding | Code defined by a terminology system |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) |
version | Σ | 0..1 | string | Version of the system - if relevant | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 0..1 | code | Symbol in syntax defined by the system | Σ | 0..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations |
system | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) | Σ | 0..1 | uri | Identity of the terminology system Binding: ?? (required) |
version | Σ | 0..1 | string | Version of the system - if relevant | Σ | 0..1 | string | Version of the system - if relevant |
code | Σ | 0..1 | code | Symbol in syntax defined by the system | Σ | 0..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept | Σ | 0..1 | string | Plain text representation of the concept |
who | Σ | 1..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Patient | RelatedPerson | Device | FI Base Organization) | Who participated | Σ | 1..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device | FI Base Organization(2.0.0)) | Who participated |
onBehalfOf |  | 0..1 | Reference(FI Base Practitioner | FI Base PractitionerRole | FI Base Patient | RelatedPerson | Device | FI Base Organization) | Who the agent is representing |  | 0..1 | Reference(FI Base Practitioner(2.0.0) | FI Base PractitionerRole(2.0.0) | FI Base Patient(2.0.0) | RelatedPerson | Device | FI Base Organization(2.0.0)) | Who the agent is representing |
id |  |  |  |  |  | 0..1 | string | Unique id for inter-element referencing | Added this element
Slices for extension |  |  |  |  |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | Added this element
id |  |  |  |  |  | 0..1 | string | Unique id for inter-element referencing | Added this element
Slices for extension |  |  |  |  |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | Added this element
signature |  | 0..* | Signature | Signature on target |  | 0..* | Signature | Signature on target |
Documentation for this format