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: AppointmentBookerPatient

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

The profile is used to indicate the person making the appointment booking when the appointment booking has been made by the customer.

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 0..* Patient Customer who made the appointment booking
Patient.id This element is included in summaries. 1..1 id Logical id of this artifact
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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (no extensions allowed)
Patient.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.identifier This element is included in summaries. 1..1 Identifier An identifier for this patient
Patient.identifier.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.identifier.system This element is included in summaries. 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value This element is included in summaries. 1..1 string Finnish personal identity code
Example General: 123456
Patient.name This element is included in summaries. 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given This element is included in summaries. 1..4 string Given name of the person making the appointment booking
This repeating element order: Given Names appear in the correct order for presenting the name

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.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
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 Patient

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient 0..* Patient Customer who made the appointment booking
Patient.id 1..1 id Logical id of this artifact
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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (no extensions allowed)
Patient.identifier 1..1 Identifier An identifier for this patient
Patient.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Fixed Value: official (no extensions allowed)
Patient.identifier.type 0..0 Description of identifier
Patient.identifier.system 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value 1..1 string Finnish personal identity code
Patient.identifier.period 0..0 Time period when id is/was valid for use
Patient.identifier.assigner 0..0 Organization that issued id (may be just text)
Patient.name 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given 1..4 string Given name of the person making the appointment booking
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..0 The date of birth for the individual
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 A contact party (e.g. guardian, partner, friend) for the patient
Patient.communication 0..0 A language which may be used to communicate with the patient about his or her health
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
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient 0..* Patient Customer who made the appointment booking
Patient.id This element is included in summaries. 1..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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (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.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Patient.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Patient.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
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.identifier This element is included in summaries. 1..1 Identifier An identifier for this patient
Patient.identifier.id 0..1 string Unique id for inter-element referencing
Patient.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.identifier.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.identifier.system This element is included in summaries. 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value This element is included in summaries. 1..1 string Finnish personal identity code
Example General: 123456
Patient.name This element is included in summaries. 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given This element is included in summaries. 1..4 string Given name of the person making the appointment booking
This repeating element order: Given Names appear in the correct order for presenting the name

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.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.relationship Base extensible Patient Contact Relationship 📍4.0.1 FHIR Std.
Patient.contact.gender Base required AdministrativeGender 📍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
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 Patient

Summary

Mandatory: 8 elements(1 nested mandatory element)
Fixed: 4 elements
Prohibited: 22 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient 0..* Patient Customer who made the appointment booking
Patient.id This element is included in summaries. 1..1 id Logical id of this artifact
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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (no extensions allowed)
Patient.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Patient.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Patient.identifier This element is included in summaries. 1..1 Identifier An identifier for this patient
Patient.identifier.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.identifier.system This element is included in summaries. 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value This element is included in summaries. 1..1 string Finnish personal identity code
Example General: 123456
Patient.name This element is included in summaries. 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given This element is included in summaries. 1..4 string Given name of the person making the appointment booking
This repeating element order: Given Names appear in the correct order for presenting the name

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.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
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 Patient

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient 0..* Patient Customer who made the appointment booking
Patient.id 1..1 id Logical id of this artifact
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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (no extensions allowed)
Patient.identifier 1..1 Identifier An identifier for this patient
Patient.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Fixed Value: official (no extensions allowed)
Patient.identifier.type 0..0 Description of identifier
Patient.identifier.system 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value 1..1 string Finnish personal identity code
Patient.identifier.period 0..0 Time period when id is/was valid for use
Patient.identifier.assigner 0..0 Organization that issued id (may be just text)
Patient.active 0..0 Whether this patient's record is in active use
Patient.name 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given 1..4 string Given name of the person making the appointment booking
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..0 The date of birth for the individual
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 A contact party (e.g. guardian, partner, friend) for the patient
Patient.communication 0..0 A language which may be used to communicate with the patient about his or her health
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

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Patient 0..* Patient Customer who made the appointment booking
Patient.id This element is included in summaries. 1..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://pta.kanta.fi/fhir/StructureDefinition/AppointmentBookerPatient (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.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Patient.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Patient.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
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.identifier This element is included in summaries. 1..1 Identifier An identifier for this patient
Patient.identifier.id 0..1 string Unique id for inter-element referencing
Patient.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Patient.identifier.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.identifier.system This element is included in summaries. 1..1 uri Namespace of the Finnish personal identity code
Fixed Value: urn:oid:1.2.246.21 (no extensions allowed)
Patient.identifier.value This element is included in summaries. 1..1 string Finnish personal identity code
Example General: 123456
Patient.name This element is included in summaries. 1..1 HumanName Customer name information
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 Family name of the person making the appointment booking
Patient.name.given This element is included in summaries. 1..4 string Given name of the person making the appointment booking
This repeating element order: Given Names appear in the correct order for presenting the name

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.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.contact.relationship Base extensible Patient Contact Relationship 📍4.0.1 FHIR Std.
Patient.contact.gender Base required AdministrativeGender 📍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
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 Patient

Summary

Mandatory: 8 elements(1 nested mandatory element)
Fixed: 4 elements
Prohibited: 22 elements

 

Other representations of profile: CSV, Excel, Schematron