ERA FHIR specification
1.0.0 - draft

ERA FHIR specification - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: KVPPatient

Official URL: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient Version: 1.0.0
Draft as of 2026-10-28 Computable Name: KVPPatient

Kysely- ja välityspalvelussa käytettävä Patient-profiili. Henkilö, jota välitettävä asiakirja koskee.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Patient.meta.profile This element is included in summaries. 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.Slices for identifier This element is included in summaries. 1..* Identifier Asiakkaan yksilöivä tunnus
Slice: Unordered, Closed by value:use

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Patient.Slices for identifier.identifier:PIC This element is included in summaries. 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.system This element is included in summaries. 1..1 uri Henkilötunnuksen nimiavaruus
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.value This element is included in summaries. 1..1 string Henkilötunnus
Example General: 123456
Patient.Slices for identifier.identifier:temp This element is included in summaries. 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: temp (no extensions allowed)
Patient.Slices for identifier.identifier:temp.system This element is included in summaries. 1..1 uri Käytetty nimiavaruus
Example General: http://www.acme.com/identifiers/patient
Patient.Slices for identifier.identifier:temp.value This element is included in summaries. 1..1 string Tilapäinen yksilöintitunnus
Example General: 123456
Patient.name This element is included in summaries. 0..1 HumanName Asiakkaan nimitiedot
Patient.name.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
Fixed Value: official (no extensions allowed)
Patient.name.family This element is included in summaries. 1..1 string Asiakkaan sukunimi
Patient.name.given This element is included in summaries. 1..4 string Asiakkaan etunimet
This repeating element order: Given Names appear in the correct order for presenting the name
Patient.birthDate This element is included in summaries. 0..1 date Asiakkaan syntymäaika

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier:PIC.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:temp.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:old.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.name.​use Base required NameUse 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 KantaPatient

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.meta 0..1 Meta Metadata about the resource
Patient.meta.profile 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.implicitRules 0..0 A set of rules under which this content was created
Patient.language 0..0 Language of the resource content
Patient.identifier 1..* Identifier Asiakkaan yksilöivä tunnus
Patient.Slices for identifier Content/Rules for all slices
Patient.Slices for identifier.identifier:PIC 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.id 0..0 Unique id for inter-element referencing
Patient.Slices for identifier.identifier:PIC.type 0..0 Description of identifier
Patient.Slices for identifier.identifier:PIC.system 1..1 uri Henkilötunnuksen nimiavaruus
Patient.Slices for identifier.identifier:PIC.value 1..1 string Henkilötunnus
Patient.Slices for identifier.identifier:PIC.period 0..0 Time period when id is/was valid for use
Patient.Slices for identifier.identifier:PIC.assigner 0..0 Organization that issued id (may be just text)
Patient.Slices for identifier.identifier:temp 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.id 0..0 Unique id for inter-element referencing
Patient.Slices for identifier.identifier:temp.type 0..0 Description of identifier
Patient.Slices for identifier.identifier:temp.system 1..1 uri Käytetty nimiavaruus
Patient.Slices for identifier.identifier:temp.value 1..1 string Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.period 0..0 Time period when id is/was valid for use
Patient.Slices for identifier.identifier:temp.assigner 0..0 Organization that issued id (may be just text)
Patient.Slices for identifier.identifier:old 0..0 Asiakkaan aiempi yksilöivä tunnus
Patient.active 0..0 Whether this patient's record is in active use
Patient.name 0..1 HumanName Asiakkaan nimitiedot
Patient.name.id 0..0 Unique id for inter-element referencing
Patient.name.use 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Fixed Value: official (no extensions allowed)
Patient.name.text 0..0 Text representation of the full name
Patient.name.family 1..1 string Asiakkaan sukunimi
Patient.name.given 1..4 string Asiakkaan etunimet
Patient.name.prefix 0..0 Parts that come before the name
Patient.name.suffix 0..0 Parts that come after the name
Patient.name.period 0..0 Time period when name was/is in use
Patient.telecom 0..0 A contact detail for the individual
Patient.gender 0..0 male | female | other | unknown
Patient.birthDate 0..1 date Asiakkaan syntymäaika
Patient.deceased[x] 0..0 Indicates if the individual is deceased or not
Patient.address 0..0 An address for the individual
Patient.maritalStatus 0..0 Marital (civil) status of a patient
Patient.multipleBirth[x] 0..0 Whether patient is part of a multiple birth
Patient.photo 0..0 Image of the patient
Patient.contact 0..0 Yhteyshenkilön yhteystiedot
Patient.communication 0..0 Asiakkaan äidinkieli
Patient.generalPractitioner 0..0 Patient's nominated primary care provider
Patient.managingOrganization 0..0 Organization that is the custodian of the patient record
Patient.link 0..0 Link to another patient resource that concerns the same actual person

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.id This element is included in summaries. 0..1 id Logical id of this artifact
Patient.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Patient.meta.id 0..1 string Unique id for inter-element referencing
Patient.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Patient.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Patient.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Patient.meta.profile This element is included in summaries. 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Patient.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Patient.contained 0..* Resource Contained, inline Resources
Patient.extension 0..* Extension Additional content defined by implementations
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.Slices for identifier This element is included in summaries. 1..* Identifier Asiakkaan yksilöivä tunnus
Slice: Unordered, Closed by value:use

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Patient.Slices for identifier.identifier:PIC This element is included in summaries. 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.Slices for identifier.identifier:PIC.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.system This element is included in summaries. 1..1 uri Henkilötunnuksen nimiavaruus
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.value This element is included in summaries. 1..1 string Henkilötunnus
Example General: 123456
Patient.Slices for identifier.identifier:temp This element is included in summaries. 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.Slices for identifier.identifier:temp.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: temp (no extensions allowed)
Patient.Slices for identifier.identifier:temp.system This element is included in summaries. 1..1 uri Käytetty nimiavaruus
Example General: http://www.acme.com/identifiers/patient
Patient.Slices for identifier.identifier:temp.value This element is included in summaries. 1..1 string Tilapäinen yksilöintitunnus
Example General: 123456
Patient.name This element is included in summaries. 0..1 HumanName Asiakkaan nimitiedot
Patient.name.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.name.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
Fixed Value: official (no extensions allowed)
Patient.name.family This element is included in summaries. 1..1 string Asiakkaan sukunimi
Patient.name.given This element is included in summaries. 1..4 string Asiakkaan etunimet
This repeating element order: Given Names appear in the correct order for presenting the name
Patient.birthDate This element is included in summaries. 0..1 date Asiakkaan syntymäaika

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Patient.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Patient.identifier:PIC.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:temp.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:old.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.name.​use Base required NameUse 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 KantaPatient

Summary

Mandatory: 1 element(15 nested mandatory elements)
Fixed: 4 elements
Prohibited: 58 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Patient.meta.profile This element is included in summaries. 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.Slices for identifier This element is included in summaries. 1..* Identifier Asiakkaan yksilöivä tunnus
Slice: Unordered, Closed by value:use

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Patient.Slices for identifier.identifier:PIC This element is included in summaries. 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.system This element is included in summaries. 1..1 uri Henkilötunnuksen nimiavaruus
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.value This element is included in summaries. 1..1 string Henkilötunnus
Example General: 123456
Patient.Slices for identifier.identifier:temp This element is included in summaries. 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: temp (no extensions allowed)
Patient.Slices for identifier.identifier:temp.system This element is included in summaries. 1..1 uri Käytetty nimiavaruus
Example General: http://www.acme.com/identifiers/patient
Patient.Slices for identifier.identifier:temp.value This element is included in summaries. 1..1 string Tilapäinen yksilöintitunnus
Example General: 123456
Patient.name This element is included in summaries. 0..1 HumanName Asiakkaan nimitiedot
Patient.name.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
Fixed Value: official (no extensions allowed)
Patient.name.family This element is included in summaries. 1..1 string Asiakkaan sukunimi
Patient.name.given This element is included in summaries. 1..4 string Asiakkaan etunimet
This repeating element order: Given Names appear in the correct order for presenting the name
Patient.birthDate This element is included in summaries. 0..1 date Asiakkaan syntymäaika

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier:PIC.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:temp.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:old.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.name.​use Base required NameUse 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 KantaPatient

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.meta 0..1 Meta Metadata about the resource
Patient.meta.profile 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.implicitRules 0..0 A set of rules under which this content was created
Patient.language 0..0 Language of the resource content
Patient.text 0..0 Text summary of the resource, for human interpretation
Patient.identifier 1..* Identifier Asiakkaan yksilöivä tunnus
Patient.Slices for identifier Content/Rules for all slices
Patient.Slices for identifier.identifier:PIC 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.id 0..0 Unique id for inter-element referencing
Patient.Slices for identifier.identifier:PIC.type 0..0 Description of identifier
Patient.Slices for identifier.identifier:PIC.system 1..1 uri Henkilötunnuksen nimiavaruus
Patient.Slices for identifier.identifier:PIC.value 1..1 string Henkilötunnus
Patient.Slices for identifier.identifier:PIC.period 0..0 Time period when id is/was valid for use
Patient.Slices for identifier.identifier:PIC.assigner 0..0 Organization that issued id (may be just text)
Patient.Slices for identifier.identifier:temp 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.id 0..0 Unique id for inter-element referencing
Patient.Slices for identifier.identifier:temp.type 0..0 Description of identifier
Patient.Slices for identifier.identifier:temp.system 1..1 uri Käytetty nimiavaruus
Patient.Slices for identifier.identifier:temp.value 1..1 string Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.period 0..0 Time period when id is/was valid for use
Patient.Slices for identifier.identifier:temp.assigner 0..0 Organization that issued id (may be just text)
Patient.Slices for identifier.identifier:old 0..0 Asiakkaan aiempi yksilöivä tunnus
Patient.active 0..0 Whether this patient's record is in active use
Patient.name 0..1 HumanName Asiakkaan nimitiedot
Patient.name.id 0..0 Unique id for inter-element referencing
Patient.name.use 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Fixed Value: official (no extensions allowed)
Patient.name.text 0..0 Text representation of the full name
Patient.name.family 1..1 string Asiakkaan sukunimi
Patient.name.given 1..4 string Asiakkaan etunimet
Patient.name.prefix 0..0 Parts that come before the name
Patient.name.suffix 0..0 Parts that come after the name
Patient.name.period 0..0 Time period when name was/is in use
Patient.telecom 0..0 A contact detail for the individual
Patient.gender 0..0 male | female | other | unknown
Patient.birthDate 0..1 date Asiakkaan syntymäaika
Patient.deceased[x] 0..0 Indicates if the individual is deceased or not
Patient.address 0..0 An address for the individual
Patient.maritalStatus 0..0 Marital (civil) status of a patient
Patient.multipleBirth[x] 0..0 Whether patient is part of a multiple birth
Patient.photo 0..0 Image of the patient
Patient.contact 0..0 Yhteyshenkilön yhteystiedot
Patient.communication 0..0 Asiakkaan äidinkieli
Patient.generalPractitioner 0..0 Patient's nominated primary care provider
Patient.managingOrganization 0..0 Organization that is the custodian of the patient record
Patient.link 0..0 Link to another patient resource that concerns the same actual person

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient C 0..* KantaPatient Välitettävään asiakirjaan liittyvän asiakkaan tiedot.
Constraints: KVP-PAT-1, KVP-PAT-2, KVP-PAT-3, KVP-PAT-4, KVP-PAT-5
Patient.id This element is included in summaries. 0..1 id Logical id of this artifact
Patient.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Patient.meta.id 0..1 string Unique id for inter-element referencing
Patient.meta.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.meta.versionId This element is included in summaries. 0..1 id Version specific identifier
Patient.meta.lastUpdated This element is included in summaries. 0..1 instant When the resource version last changed
Patient.meta.source This element is included in summaries. 0..1 uri Identifies where the resource comes from
Patient.meta.profile This element is included in summaries. 1..1 canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://kvp.kanta.fi/fhir/StructureDefinition/KVPPatient (no extensions allowed)
Patient.meta.security This element is included in summaries. 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
Patient.meta.tag This element is included in summaries. 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
Patient.contained 0..* Resource Contained, inline Resources
Patient.extension 0..* Extension Additional content defined by implementations
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.Slices for identifier This element is included in summaries. 1..* Identifier Asiakkaan yksilöivä tunnus
Slice: Unordered, Closed by value:use

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Patient.Slices for identifier.identifier:PIC This element is included in summaries. 0..1 Identifier Henkilötunnus
Patient.Slices for identifier.identifier:PIC.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.Slices for identifier.identifier:PIC.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.system This element is included in summaries. 1..1 uri Henkilötunnuksen nimiavaruus
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.Slices for identifier.identifier:PIC.value This element is included in summaries. 1..1 string Henkilötunnus
Example General: 123456
Patient.Slices for identifier.identifier:temp This element is included in summaries. 0..1 Identifier Tilapäinen yksilöintitunnus
Patient.Slices for identifier.identifier:temp.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.Slices for identifier.identifier:temp.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: temp (no extensions allowed)
Patient.Slices for identifier.identifier:temp.system This element is included in summaries. 1..1 uri Käytetty nimiavaruus
Example General: http://www.acme.com/identifiers/patient
Patient.Slices for identifier.identifier:temp.value This element is included in summaries. 1..1 string Tilapäinen yksilöintitunnus
Example General: 123456
Patient.name This element is included in summaries. 0..1 HumanName Asiakkaan nimitiedot
Patient.name.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.name.use This element is a modifier element. This element is included in summaries. 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
Fixed Value: official (no extensions allowed)
Patient.name.family This element is included in summaries. 1..1 string Asiakkaan sukunimi
Patient.name.given This element is included in summaries. 1..4 string Asiakkaan etunimet
This repeating element order: Given Names appear in the correct order for presenting the name
Patient.birthDate This element is included in summaries. 0..1 date Asiakkaan syntymäaika

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Patient.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Patient.identifier:PIC.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:temp.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier:old.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.name.​use Base required NameUse 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
KVP-PAT-1 error Patient Syntymäaika pakollinen, kun potilaan tunnuksena tilapäinen tunnus. Patient.identifier.where(use='temp').exists() implies Patient.birthDate.exists()
KVP-PAT-2 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').exists() implies Patient.identifier.where(use='temp').empty()
KVP-PAT-3 error Patient Potilaan tunnuksena annetaan joko virallinen tai tilapäinen tunnus. Patient.identifier.where(use='official').empty() implies Patient.identifier.where(use='temp').exists()
KVP-PAT-4 error Patient Syntymäpäivä annettava muodossa yyyy-mm-dd Patient.birthDate.exists() implies Patient.birthDate.toString().length()=10
KVP-PAT-5 error Patient Asiakkaan tilapäinen yksilöintitunnus (Patient.identifier) ylittää sallitun maksimipituuden. Patient.identifier.where(use='temp').exists() implies Patient.identifier.where(use='temp').system.length()+Patient.identifier.where(use='temp').value.length() < 125
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 KantaPatient

Summary

Mandatory: 1 element(15 nested mandatory elements)
Fixed: 4 elements
Prohibited: 58 elements

 

Other representations of profile: CSV, Excel, Schematron