Notice
- Important: This guidance is under active development by NHS England and content may be added or updated on a regular basis.
- This Implementation Guide is currently in Draft and SHOULD NOT be used for development or active implementation without express direction from the NHS England Genomics Unit.
- All Profiles
- Genomics-AuditEvent
- Genomics-BodyStructure
- Genomics-Bundle
- Genomics-Composition
- Genomics-Condition
- Genomics-Consent
- Genomics-DiagnosticReport
- Genomics-DocumentReference
- Genomics-FamilyMemberHistory
- Genomics-Observation
- Genomics-OperationOutcome
- Genomics-Organization
- Genomics-Patient
- Genomics-Practitioner
- Genomics-PractitionerRole
- Genomics-Procedure
- Genomics-Provenance
- Genomics-Questionnaire
- Genomics-QuestionnaireResponse
- Genomics-RelatedPerson
- Genomics-ServiceRequest
- Genomics-Specimen
- Genomics-Subscription
- Genomics-ResearchSubject
- Genomics-Task
Genomics-AuditEvent
Created by the central GMS infrastructure on any CRUD event.
Can be searched on for auditability and obtaining status history for Tasks (as an alternative to the Task _history option).
It is not expected or permitted that a client system would update or post AuditEvents to the central service.
AuditEvents are expected to be created for any CRUD events which affect resources on the server. Where resources do not exist on the server, e.g. empty SearchSets or failed POSTs, no AuditEvents will be created. Failed updates may still trigger creation of AuditEvent resources but the outcome.code will record that the event was unsuccessful.
AuditEvents for resources created by the server will record the server identity within the who element.
The below profile is therefore provided to support parsing for clients if returned through a GET request.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/AuditEvent | HL7 International | trial-use |
AuditEvent | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
type | Σ | 1..1 | CodingBinding |
subtype | Σ | 0..* | CodingBinding |
action | Σ | 0..1 | codeBinding |
period | I | 0..1 | Period |
recorded | Σ | 1..1 | instant |
outcome | Σ | 0..1 | codeBinding |
outcomeDesc | Σ | 0..1 | string |
purposeOfEvent | Σ | 0..* | CodeableConceptBinding |
agent | 1..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 0..1 | CodeableConceptBinding | |
role | 0..* | CodeableConcept | |
who | Σ I | 0..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
altId | 0..1 | string | |
name | 0..1 | string | |
requestor | Σ | 1..1 | boolean |
location | I | 0..1 | Reference(Location) |
policy | 0..* | uri | |
media | 0..1 | CodingBinding | |
network | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
address | 0..1 | string | |
type | 0..1 | codeBinding | |
purposeOfUse | 0..* | CodeableConceptBinding | |
source | 1..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
site | 0..1 | string | |
observer | Σ I | 1..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
type | 0..* | CodingBinding | |
entity | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
what | Σ I | 0..1 | Reference(Resource) |
type | 0..1 | CodingBinding | |
role | 0..1 | CodingBinding | |
lifecycle | 0..1 | CodingBinding | |
securityLabel | 0..* | CodingBinding | |
name | Σ I | 0..1 | string |
description | 0..1 | string | |
query | Σ I | 0..1 | base64Binary |
detail | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | string | |
value[x] | 1..1 | ||
valueString | string | ||
valueBase64Binary | base64Binary |
Differential from AuditEvent
AuditEvent | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
type | Σ | 1..1 | CodingBinding |
subtype | Σ | 0..* | CodingBinding |
action | Σ | 0..1 | codeBinding |
period | I | 0..1 | Period |
recorded | Σ | 1..1 | instant |
outcome | Σ | 0..1 | codeBinding |
outcomeDesc | Σ | 0..1 | string |
purposeOfEvent | Σ | 0..* | CodeableConceptBinding |
agent | 1..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 0..1 | CodeableConceptBinding | |
role | 0..* | CodeableConcept | |
who | Σ I | 0..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
altId | 0..1 | string | |
name | 0..1 | string | |
requestor | Σ | 1..1 | boolean |
location | I | 0..1 | Reference(Location) |
policy | 0..* | uri | |
media | 0..1 | CodingBinding | |
network | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
address | 0..1 | string | |
type | 0..1 | codeBinding | |
purposeOfUse | 0..* | CodeableConceptBinding | |
source | 1..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
site | 0..1 | string | |
observer | Σ I | 1..1 | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
type | 0..* | CodingBinding | |
entity | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
what | Σ I | 0..1 | Reference(Resource) |
type | 0..1 | CodingBinding | |
role | 0..1 | CodingBinding | |
lifecycle | 0..1 | CodingBinding | |
securityLabel | 0..* | CodingBinding | |
name | Σ I | 0..1 | string |
description | 0..1 | string | |
query | Σ I | 0..1 | base64Binary |
detail | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | string | |
value[x] | 1..1 | ||
valueString | string | ||
valueBase64Binary | base64Binary |
AuditEvent | |
Definition | A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage. |
Cardinality | 0...* |
Comments | Based on IHE-ATNA. |
Invariants |
|
Mappings |
|
AuditEvent.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
AuditEvent.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
AuditEvent.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
AuditEvent.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
AuditEvent.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
AuditEvent.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
AuditEvent.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.type | |
Definition | Identifier for a family of the event. For example, a menu item, program, rule, policy, function code, application name or URL. It identifies the performed function. |
Cardinality | 1...1 |
Type | Coding |
Binding | Type of event. |
Summary | True |
Requirements | This identifies the performed function. For "Execute" Event Action Code audit records, this identifies the application function performed. |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
AuditEvent.subtype | |
Definition | Identifier for the category of event. |
Cardinality | 0...* |
Type | Coding |
Binding | Sub-type of event. |
Summary | True |
Requirements | This field enables queries of messages by implementation-defined event categories. |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
AuditEvent.action | |
Definition | Indicator for type of action performed during the event that generated the audit. |
Cardinality | 0...1 |
Type | code |
Binding | Indicator for type of action performed during the event that generated the event. |
Summary | True |
Requirements | This broadly indicates what kind of action was done on the AuditEvent.entity by the AuditEvent.agent. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.period | |
Definition | The period during which the activity occurred. |
Cardinality | 0...1 |
Type | Period |
Comments | The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. |
Invariants |
|
Mappings |
|
AuditEvent.recorded | |
Definition | The time when the event was recorded. |
Cardinality | 1...1 |
Type | instant |
Summary | True |
Requirements | This ties an event to a specific date and time. Security audits typically require a consistent time base (e.g. UTC), to eliminate time-zone issues arising from geographical distribution. |
Comments | In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic. |
Invariants |
|
Mappings |
|
AuditEvent.outcome | |
Definition | Indicates whether the event succeeded or failed. |
Cardinality | 0...1 |
Type | code |
Binding | Indicates whether the event succeeded or failed. |
Summary | True |
Comments | In some cases a "success" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant. |
Invariants |
|
Mappings |
|
AuditEvent.outcomeDesc | |
Definition | A free text description of the outcome of the event. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.purposeOfEvent | |
Definition | The purposeOfUse (reason) that was used during the event being recorded. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The reason the activity took place. |
Summary | True |
Comments | Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. |
Invariants |
|
Mappings |
|
AuditEvent.agent | |
Definition | An actor taking an active role in the event or activity that is logged. |
Cardinality | 1...* |
Type | BackboneElement |
Alias | ActiveParticipant |
Requirements | An agent can be a person, an organization, software, device, or other actors that may be ascribed responsibility. |
Comments | Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity. For example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity. |
Invariants |
|
Mappings |
|
AuditEvent.agent.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
AuditEvent.agent.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.agent.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
AuditEvent.agent.type | |
Definition | Specification of the participation type the user plays when performing the event. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The Participation type of the agent to the event. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
AuditEvent.agent.role | |
Definition | The security role that the user was acting under, that come from local codes defined by the access control security system (e.g. RBAC, ABAC) used in the local context. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | What security role enabled the agent to participate in the event. |
Requirements | This value ties an audited event to a user's role(s). It is an optional value that might be used to group events for analysis by user functional role categories. |
Comments | Should be roles relevant to the event. Should not be an exhaustive list of roles. |
Invariants |
|
Mappings |
|
AuditEvent.agent.who | |
Definition | Reference to who this agent is that was involved in the event. |
Cardinality | 0...1 |
Type | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
Summary | True |
Alias | userId |
Requirements | This field ties an audit event to a specific resource or identifier. |
Comments | Where a User ID is available it will go into who.identifier. |
Invariants |
|
Mappings |
|
AuditEvent.agent.altId | |
Definition | Alternative agent Identifier. For a human, this should be a user identifier text string from authentication system. This identifier would be one known to a common authentication system (e.g. single sign-on), if available. |
Cardinality | 0...1 |
Type | string |
Requirements | In some situations, a human user may authenticate with one identity but, to access a specific application system, may use a synonymous identify. For example, some "single sign on" implementations will do this. The alternative identifier would then be the original identify used for authentication, and the User ID is the one known to and used by the application. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.agent.name | |
Definition | Human-meaningful name for the agent. |
Cardinality | 0...1 |
Type | string |
Requirements | The User ID and Authorization User ID may be internal or otherwise obscure values. This field assists the auditor in identifying the actual user. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.agent.requestor | |
Definition | Indicator that the user is or is not the requestor, or initiator, for the event being audited. |
Cardinality | 1...1 |
Type | boolean |
Summary | True |
Requirements | This value is used to distinguish between requestor-users and recipient-users. For example, one person may initiate a report-output to be sent to another user. |
Comments | There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator. |
Invariants |
|
Mappings |
|
AuditEvent.agent.location | |
Definition | Where the event occurred. |
Cardinality | 0...1 |
Type | Reference(Location) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
AuditEvent.agent.policy | |
Definition | The policy or plan that authorized the activity being recorded. Typically, a single activity may have multiple applicable policies, such as patient consent, guarantor funding, etc. The policy would also indicate the security token used. |
Cardinality | 0...* |
Type | uri |
Requirements | This value is used retrospectively to determine the authorization policies. |
Comments | For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. |
Invariants |
|
Mappings |
|
AuditEvent.agent.media | |
Definition | Type of media involved. Used when the event is about exporting/importing onto media. |
Cardinality | 0...1 |
Type | Coding |
Binding | Used when the event is about exporting/importing onto media. |
Requirements | Usually, this is used instead of specifying a network address. This field is not used for Media Id (i.e. the serial number of a CD). |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
AuditEvent.agent.network | |
Definition | Logical network location for application activity, if the activity has a network location. |
Cardinality | 0...1 |
Type | BackboneElement |
Invariants |
|
Mappings |
|
AuditEvent.agent.network.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
AuditEvent.agent.network.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.agent.network.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
AuditEvent.agent.network.address | |
Definition | An identifier for the network access point of the user device for the audit event. |
Cardinality | 0...1 |
Type | string |
Requirements | This datum identifies the user's network access point, which may be distinct from the server that performed the action. It is an optional value that may be used to group events recorded on separate servers for analysis of a specific network access point's data access across all servers. |
Comments | This could be a device id, IP address or some other identifier associated with a device. |
Invariants |
|
Mappings |
|
AuditEvent.agent.network.type | |
Definition | An identifier for the type of network access point that originated the audit event. |
Cardinality | 0...1 |
Type | code |
Binding | The type of network access point of this agent in the audit event. |
Requirements | This datum identifies the type of network access point identifier of the user device for the audit event. It is an optional value that may be used to group events recorded on separate servers for analysis of access according to a network access point's type. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.agent.purposeOfUse | |
Definition | The reason (purpose of use), specific to this agent, that was used during the event being recorded. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The reason the activity took place. |
Comments | Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why. |
Invariants |
|
Mappings |
|
AuditEvent.source | |
Definition | The system that is reporting the event. |
Cardinality | 1...1 |
Type | BackboneElement |
Requirements | The event is reported by one source. |
Comments | Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified. |
Invariants |
|
Mappings |
|
AuditEvent.source.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
AuditEvent.source.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.source.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
AuditEvent.source.site | |
Definition | Logical source location within the healthcare enterprise network. For example, a hospital or other provider location within a multi-entity provider group. |
Cardinality | 0...1 |
Type | string |
Requirements | This value differentiates among the sites in a multi-site enterprise health information system. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.source.observer | |
Definition | Identifier of the source where the event was detected. |
Cardinality | 1...1 |
Type | Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson) |
Summary | True |
Alias | SourceId |
Requirements | This field ties the event to a specific source system. It may be used to group events for analysis according to where the event was detected. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
AuditEvent.source.type | |
Definition | Code specifying the type of source where event originated. |
Cardinality | 0...* |
Type | Coding |
Binding | Code specifying the type of system that detected and recorded the event. |
Requirements | This field indicates which type of source is identified by the Audit Source ID. It is an optional value that may be used to group events for analysis according to the type of source where the event occurred. |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
AuditEvent.entity | |
Definition | Specific instances of data or objects that have been accessed. |
Cardinality | 0...* |
Type | BackboneElement |
Alias | ParticipantObject |
Requirements | The event may have other entities involved. |
Comments | Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values. |
Invariants |
|
Mappings |
|
AuditEvent.entity.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
AuditEvent.entity.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.entity.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
AuditEvent.entity.what | |
Definition | Identifies a specific instance of the entity. The reference should be version specific. |
Cardinality | 0...1 |
Type | Reference(Resource) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
AuditEvent.entity.type | |
Definition | The type of the object that was involved in this audit event. |
Cardinality | 0...1 |
Type | Coding |
Binding | Code for the entity type involved in the audit event. |
Requirements | To describe the object being acted upon. In addition to queries on the subject of the action in an auditable event, it is also important to be able to query on the object type for the action. |
Comments | This value is distinct from the user's role or any user relationship to the entity. |
Invariants |
|
Mappings |
|
AuditEvent.entity.role | |
Definition | Code representing the role the entity played in the event being audited. |
Cardinality | 0...1 |
Type | Coding |
Binding | Code representing the role the entity played in the audit event. |
Requirements | For some detailed audit analysis it may be necessary to indicate a more granular type of entity, based on the application role it serves. |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
AuditEvent.entity.lifecycle | |
Definition | Identifier for the data life-cycle stage for the entity. |
Cardinality | 0...1 |
Type | Coding |
Binding | Identifier for the data life-cycle stage for the entity. |
Requirements | Institutional policies for privacy and security may optionally fall under different accountability rules based on data life cycle. This provides a differentiating value for those cases. |
Comments | This can be used to provide an audit trail for data, over time, as it passes through the system. |
Invariants |
|
Mappings |
|
AuditEvent.entity.securityLabel | |
Definition | Security labels for the identified entity. |
Cardinality | 0...* |
Type | Coding |
Binding | Security Labels from the Healthcare Privacy and Security Classification System. |
Requirements | This field identifies the security labels for a specific instance of an object, such as a patient, to detect/track privacy and security issues. |
Comments | Copied from entity meta security tags. |
Invariants |
|
Mappings |
|
AuditEvent.entity.name | |
Definition | A name of the entity in the audit event. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Use only where entity can't be identified with an identifier. |
Comments | This field may be used in a query/report to identify audit events for a specific person. For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used. |
Invariants |
|
Mappings |
|
AuditEvent.entity.description | |
Definition | Text that describes the entity in more detail. |
Cardinality | 0...1 |
Type | string |
Requirements | Use only where entity can't be identified with an identifier. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.entity.query | |
Definition | The query parameters for a query-type entities. |
Cardinality | 0...1 |
Type | base64Binary |
Summary | True |
Requirements | For query events, it may be necessary to capture the actual query input to the query process in order to identify the specific event. Because of differences among query implementations and data encoding for them, this is a base 64 encoded data blob. It may be subsequently decoded or interpreted by downstream audit analysis processing. |
Comments | The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example, if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. |
Invariants |
|
Mappings |
|
AuditEvent.entity.detail | |
Definition | Tagged value pairs for conveying additional information about the entity. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Implementation-defined data about specific details of the object accessed or used. |
Invariants |
|
Mappings |
|
AuditEvent.entity.detail.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
AuditEvent.entity.detail.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
AuditEvent.entity.detail.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
AuditEvent.entity.detail.type | |
Definition | The type of extra detail provided in the value. |
Cardinality | 1...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
AuditEvent.entity.detail.value[x] | |
Definition | The value of the extra detail. |
Cardinality | 1...1 |
Type | string |
Requirements | Should not duplicate the entity value unless absolutely necessary. |
Comments | The value can be string when known to be a string, else base64 encoding should be used to protect binary or undefined content. The meaning and secondary-encoding of the content of base64 encoded blob is specific to the AuditEvent.type, AuditEvent.subtype, AuditEvent.entity.type, and AuditEvent.entity.role. The base64 is a general-use and safe container for event specific data blobs regardless of the encoding used by the transaction being recorded. An AuditEvent consuming application must understand the event it is consuming and the formats used by the event. For example if auditing an Oracle network database access, the Oracle formats must be understood as they will be simply encoded in the base64binary blob. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
Additional Guidance
action
SHALL be present. Code from base HL7 resource, only C (create), R (read) and U (update) would usually be expected.
"action": "U",
agent
SHOULD be present for any user initiated actions. Reference to the user or system that triggered the creation/read/update. Identity SHOULD be determined through the appropriate authentication token within the request header, e.g. CIS2 auth token.
"agent": [ { "type": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType", "code": "AUT", "display": "author (originator)" } ] }, "who": { "reference": "PractitionerRole/PractitionerRole-TestClinicalScientist-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "9999999997" } }, "name": "Test Clinical Scientist", "requestor": true } ],
entity
SHOULD be present where the resource exists on the server. Reference to the resource which was affected by the event.
"entity": [ { "what": { "reference": "Task/Task-NonWGSRareDiseaseTestOrderRejected-Example" }, "type": { "system": "http://hl7.org/fhir/resource-types", "code": "Task", "display": "Task" }, "role": { "system": "http://terminology.hl7.org/CodeSystem/object-role", "code": "20", "display": "Job" } } ]
Genomics-BodyStructure
The Genomics BodyStructure is currently based on the HL7 international version of the resource as a profile for BodyStructure does not exist in UKCore. Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The base BodyStructure resource is provided below for completeness.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/BodyStructure | HL7 International | trial-use |
Use of this resource is meant to replace the Genomics extensions for topology and morphology on the Specimen profile
BodyStructure | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | Σ ?! | 0..1 | boolean |
morphology | Σ | 0..1 | CodeableConcept |
location | Σ | 0..1 | CodeableConcept |
locationQualifier | 0..* | CodeableConcept | |
description | Σ | 0..1 | string |
image | I | 0..* | Attachment |
patient | Σ I | 1..1 | Reference(Patient) |
Differential from BodyStructure
BodyStructure | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | Σ ?! | 0..1 | boolean |
morphology | Σ | 0..1 | CodeableConcept |
location | Σ | 0..1 | CodeableConcept |
locationQualifier | 0..* | CodeableConcept | |
description | Σ | 0..1 | string |
image | I | 0..* | Attachment |
patient | Σ I | 1..1 | Reference(Patient) |
BodyStructure | |
Definition | Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. |
Cardinality | 0...* |
Alias | anatomical location |
Invariants |
|
Mappings |
|
BodyStructure.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
BodyStructure.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
BodyStructure.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
BodyStructure.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
BodyStructure.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
BodyStructure.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
BodyStructure.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
BodyStructure.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
BodyStructure.identifier | |
Definition | Identifier for this instance of the anatomical structure. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
BodyStructure.active | |
Definition | Whether this body site is in active use. |
Cardinality | 0...1 |
Type | boolean |
Modifier | True |
Summary | True |
Requirements | Need to be able to mark a body site entry as not to be used because it was created in error. |
Comments | This element is labeled as a modifier because it may be used to mark that the resource was created in error. |
Invariants |
|
Mappings |
|
BodyStructure.morphology | |
Definition | The kind of structure being represented by the body structure at `BodyStructure.location`. This can define both normal and abnormal morphologies. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing anatomic morphology. |
Summary | True |
Comments | The minimum cardinality of 0 supports the use case of specifying a location without defining a morphology. |
Invariants |
|
Mappings |
|
BodyStructure.location | |
Definition | The anatomical location or region of the specimen, lesion, or body structure. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
BodyStructure.locationQualifier | |
Definition | Qualifier to refine the anatomical location. These include qualifiers for laterality, relative location, directionality, number, and plane. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Concepts modifying the anatomic location. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
BodyStructure.description | |
Definition | A summary, characterization or explanation of the body structure. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings. |
Invariants |
|
Mappings |
|
BodyStructure.image | |
Definition | Image or images used to identify a location. |
Cardinality | 0...* |
Type | Attachment |
Comments | When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". |
Invariants |
|
Mappings |
|
BodyStructure.patient | |
Definition | The person to which the body site belongs. |
Cardinality | 1...1 |
Type | Reference(Patient) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
BodyStructure-PancreaticTumour |
BodyStructure-BodySiteLocationLungs-Example |
BodyStructure-SpecimenBodySiteLocation-Example |
FHIR | MDS | HL7v2 |
---|---|---|
BodyStructure.morphology | Primary Sample - Solid tumour morphology | Additional SPM-4/5 qualifiers |
BodyStructure.location | Primary Sample - Solid tumour histological type (topography) | SPM-8 |
Genomics-Bundle
The Genomics Bundle is currently pending Clinical and Technical Assurance of the base UKCore resource. Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The profile for the UKCore-Bundle is provided below for completeness.
Bundles within Genomics will be limited to Transactions for Test orders and updates; Transaction-responses for responses to transactions (housing sets of OperationOutcomes); or Searchsets, returned in response to search queries.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Bundle | HL7 International | trial-use |
Bundle | I | Resource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
identifier | Σ | 0..1 | Identifier |
type | Σ | 1..1 | codeBinding |
timestamp | Σ | 0..1 | instant |
total | Σ I | 0..1 | unsignedInt |
link | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relation | Σ | 1..1 | string |
url | Σ | 1..1 | uri |
entry | Σ I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 0..1 | uri |
resource | Σ | 0..1 | Resource |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
signature | Σ | 0..1 | Signature |
Differential from Bundle
Bundle | I | Resource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
identifier | Σ | 0..1 | Identifier |
type | Σ | 1..1 | codeBinding |
timestamp | Σ | 0..1 | instant |
total | Σ I | 0..1 | unsignedInt |
link | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
relation | Σ | 1..1 | string |
url | Σ | 1..1 | uri |
entry | Σ I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
link | Σ | 0..* | see (link) |
fullUrl | Σ | 0..1 | uri |
resource | Σ | 0..1 | Resource |
search | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | Σ | 0..1 | codeBinding |
score | Σ | 0..1 | decimal |
request | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
method | Σ | 1..1 | codeBinding |
url | Σ | 1..1 | uri |
ifNoneMatch | Σ | 0..1 | string |
ifModifiedSince | Σ | 0..1 | instant |
ifMatch | Σ | 0..1 | string |
ifNoneExist | Σ | 0..1 | string |
response | Σ I | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
status | Σ | 1..1 | string |
location | Σ | 0..1 | uri |
etag | Σ | 0..1 | string |
lastModified | Σ | 0..1 | instant |
outcome | Σ | 0..1 | Resource |
signature | Σ | 0..1 | Signature |
Bundle | |
Definition | A container for a collection of resources. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Bundle.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Bundle.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Bundle.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Bundle.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Bundle.identifier | |
Definition | A persistent identifier for the bundle that won't change as a bundle is copied from server to server. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Comments | Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results and servers ignore Bundle.identifier when processing batches and transactions. For Documents the .identifier SHALL be populated such that the .identifier is globally unique. |
Invariants |
|
Mappings |
|
Bundle.type | |
Definition | Indicates the purpose of this bundle - how it is intended to be used. |
Cardinality | 1...1 |
Type | code |
Binding | Indicates the purpose of a bundle - how it is intended to be used. |
Summary | True |
Comments | It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types. |
Invariants |
|
Mappings |
|
Bundle.timestamp | |
Definition | The date/time that the bundle was assembled - i.e. when the resources were placed in the bundle. |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Comments | For many bundles, the timestamp is equal to .meta.lastUpdated, because they are not stored (e.g. search results). When a bundle is placed in a persistent store, .meta.lastUpdated will be usually be changed by the server. When the bundle is a message, a middleware agent altering the message (even if not stored) SHOULD update .meta.lastUpdated. .timestamp is used to track the original time of the Bundle, and SHOULD be populated. Usage:
The timestamp value should be greater than the lastUpdated and other timestamps in the resources in the bundle, and it should be equal or earlier than the .meta.lastUpdated on the Bundle itself. |
Invariants |
|
Mappings |
|
Bundle.total | |
Definition | If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. |
Cardinality | 0...1 |
Type | unsignedInt |
Summary | True |
Comments | Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources. |
Invariants |
|
Mappings |
|
Bundle.link | |
Definition | A series of links that provide context to this bundle. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Comments | Both Bundle.link and Bundle.entry.link are defined to support providing additional context when Bundles are used (e.g. HATEOAS). Bundle.entry.link corresponds to links found in the HTTP header if the resource in the entry was read directly. This specification defines some specific uses of Bundle.link for searching and paging, but no specific uses for Bundle.entry.link, and no defined function in a transaction - the meaning is implementation specific. |
Invariants |
|
Mappings |
|
Bundle.link.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Bundle.link.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Bundle.link.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Bundle.link.relation | |
Definition | A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.link.url | |
Definition | The reference details for the link. |
Cardinality | 1...1 |
Type | uri |
Summary | True |
Comments | see http://en.wikipedia.org/wiki/Uniform_resource_identifier |
Invariants |
|
Mappings |
|
Bundle.entry | |
Definition | An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Bundle.entry.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Bundle.entry.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Bundle.entry.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Bundle.entry.link | |
Definition | A series of links that provide context to this entry. |
Cardinality | 0...* |
Type | see (link) |
Summary | True |
Bundle.entry.fullUrl | |
Definition | The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: * fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) * Results from operations might involve resources that are not identified. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
Comments | fullUrl might not be unique in the context of a resource. Note that since FHIR resources do not need to be served through the FHIR API, the fullURL might be a URN or an absolute URL that does not end with the logical id of the resource (Resource.id). However, but if the fullUrl does look like a RESTful server URL (e.g. meets the regex, then the 'id' portion of the fullUrl SHALL end with the Resource.id. Note that the fullUrl is not the same as the canonical URL - it's an absolute url for an endpoint serving the resource (these will happen to have the same value on the canonical server for the resource with the canonical URL). |
Invariants |
|
Mappings |
|
Bundle.entry.resource | |
Definition | The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. |
Cardinality | 0...1 |
Type | Resource |
Summary | True |
Mappings |
|
Bundle.entry.search | |
Definition | Information about the search process that lead to the creation of this entry. |
Cardinality | 0...1 |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Bundle.entry.search.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Bundle.entry.search.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Bundle.entry.search.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Bundle.entry.search.mode | |
Definition | Why this entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process. |
Cardinality | 0...1 |
Type | code |
Binding | Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process. |
Summary | True |
Comments | There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence. |
Invariants |
|
Mappings |
|
Bundle.entry.search.score | |
Definition | When searching, the server's search ranking score for the entry. |
Cardinality | 0...1 |
Type | decimal |
Summary | True |
Comments | Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order. See Patient Match for the EMPI search which relates to this element. |
Invariants |
|
Mappings |
|
Bundle.entry.request | |
Definition | Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry. |
Cardinality | 0...1 |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Bundle.entry.request.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Bundle.entry.request.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Bundle.entry.request.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Bundle.entry.request.method | |
Definition | In a transaction or batch, this is the HTTP action to be executed for this entry. In a history bundle, this indicates the HTTP action that occurred. |
Cardinality | 1...1 |
Type | code |
Binding | HTTP verbs (in the HTTP command line). See HTTP rfc for details. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.entry.request.url | |
Definition | The URL for this entry, relative to the root (the address to which the request is posted). |
Cardinality | 1...1 |
Type | uri |
Summary | True |
Comments | E.g. for a Patient Create, the method would be "POST" and the URL would be "Patient". For a Patient Update, the method would be PUT and the URL would be "Patient/[id]". |
Invariants |
|
Mappings |
|
Bundle.entry.request.ifNoneMatch | |
Definition | If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.entry.request.ifModifiedSince | |
Definition | Only perform the operation if the last updated date matches. See the API documentation for ["Conditional Read"](http.html#cread). |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Comments | Note: This is intended for where precisely observed times are required, typically system logs etc., and not human-reported times - for them, see date and dateTime (which can be as precise as instant, but is not required to be) below. Time zone is always required |
Invariants |
|
Mappings |
|
Bundle.entry.request.ifMatch | |
Definition | Only perform the operation if the Etag value matches. For more information, see the API section ["Managing Resource Contention"](http.html#concurrency). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.entry.request.ifNoneExist | |
Definition | Instruct the server not to perform the create if a specified resource already exists. For further information, see the API documentation for ["Conditional Create"](http.html#ccreate). This is just the query portion of the URL - what follows the "?" (not including the "?"). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.entry.response | |
Definition | Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history. |
Cardinality | 0...1 |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Bundle.entry.response.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Bundle.entry.response.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Bundle.entry.response.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Bundle.entry.response.status | |
Definition | The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Bundle.entry.response.location | |
Definition | The location header created by processing this operation, populated if the operation returns a location. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
Comments | see http://en.wikipedia.org/wiki/Uniform_resource_identifier |
Invariants |
|
Mappings |
|
Bundle.entry.response.etag | |
Definition | The Etag for the resource, if the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included. |
Invariants |
|
Mappings |
|
Bundle.entry.response.lastModified | |
Definition | The date/time that the resource was modified on the server. |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Comments | This has to match the same time in the meta header (meta.lastUpdated) if a resource is included. |
Invariants |
|
Mappings |
|
Bundle.entry.response.outcome | |
Definition | An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction. |
Cardinality | 0...1 |
Type | Resource |
Summary | True |
Comments | For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned. This outcome is not used for error responses in batch/transaction, only for hints and warnings. In a batch operation, the error will be in Bundle.entry.response, and for transaction, there will be a single OperationOutcome instead of a bundle in the case of an error. |
Mappings |
|
Bundle.signature | |
Definition | Digital Signature - base64 encoded. XML-DSig or a JWT. |
Cardinality | 0...1 |
Type | Signature |
Summary | True |
Requirements | A Signature holds an electronic representation of a signature and its supporting context in a FHIR accessible form. The signature may either be a cryptographic type (XML DigSig or a JWS), which is able to provide non-repudiation proof, or it may be a graphical image that represents a signature or a signature process. This element allows capturing signatures on documents, messages, transactions or even search responses, to support content-authentication, non-repudiation or other business cases. This is primarily relevant where the bundle may travel through multiple hops or via other mechanisms where HTTPS non-repudiation is insufficient. |
Comments | The signature could be created by the "author" of the bundle or by the originating device. Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Additional Guidance
type
SHALL be present. The type of Bundle. This is expected to be transaction
for Bundles POSTed to the central broker, transaction-response
for responses to transaction Bundles returned by the broker and searchset
for collections of resources returned in response to search (GET) requests, as per standard HTTP FHIR rules.
"type": "transaction",
total
Only relevant for searchset Bundles. Details the number of resources in the bundle matching the search criteria, not including resources included via the _include criteria.
"total": 3,
link
Only relevant for searchset bundles. Details the query string that resulted in the searchset (to allow future queries using the same parameters). "relation": "self"
will only ever be used.
Links related to response pagination such as next/prev are pending Non-Functional Requirements finalisation for the order management central broker.
"link": [ { "relation": "self", "url": "https://api.service.nhs.uk/genomic-order-management-service/FHIR/R4/Specimen/?_include=Specimen%3Asubject&identifier=RGT03135" } ],
entry
Transactions
An entry in the bundle. For transaction Bundles, each entry SHOULD contain a fullURL to ensure resources in the Bundle can reference each other, these can be the locations within the source system or urn:uuids.
Resources are expected to contain ids to allow referencing within Bundles, though these will be replaced by server assigned ids when saved by the central broker. If additional identifiers need to be persisted e.g. NHS Number, these should be captured within the identifier field.
Transaction Bundle entries also SHALL contain a request object, specifying the method (either PUT for updates or POST for creates) and the url to send the resource to (equivalent to the resource type for the resource).
Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"entry": [ { "fullUrl": "http://example.org/fhir/Specimen/Specimen-BloodEDTA-Example", "resource": { "resourceType": "Specimen", "id": "Specimen-BloodEDTA-Example", "identifier": [ { "system": "https://fhir.add.nhs.uk/Id/specimenId", "value": "RGT03135" } ], "status": "unavailable", "type": { "coding": [ { "system": "http://snomed.info/sct", "code": "445295009", "display": "Blood specimen with EDTA" } ] }, "subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } }, "request": [ { "reference": "ServiceRequest/ServiceRequest-NonWGSTestOrderForm-Example" } ] }, "request": { "method": "POST", "url": "Specimen" } } ]
Transaction Responses
These Bundles are returned in response to transaction requests. These will only contain OperationOutcome resources (one for each recource contained in the transaction request). See Acknowledgements and responses for more information.
These entries will contain a response object detailing the response status of the individual resource operation and an OperationOutcome detailing any relevant diagnostics, such as validation messages.
Entries will also contain a location element, detailing the relative path of the resource, where the operation has resulted in a resource being created or updated. These URLs will be version specific (using the _history suffix to denote the version number of the resource) if the resource has been updated.
"entry": [ { "response": { "status": "201 Created", "location": "ServiceRequest/4d70678c-81e4-4ff4-8c67-17596fd0aa46/", "lastModified": "2024-01-30T12:01:24Z", "outcome": { "resourceType": "OperationOutcome", "meta": { "lastUpdated": "2024-01-30T12:01:24Z" }, "issue": [ { "severity": "information", "code": "informational", "diagnostics": "No issues detected during validation." } ] } } } ]
Searchsets
These Bundles are returned in response to GET requests without an ID. entries within these bundles will depend on the endpoint queried and the search parameters included.
Each entry is expected to include a fullUrl identifying the URL that can be used to retrieve the resource on the server; the resource itself; and a search element detailing whether the resource was included in the search response due to it matching the query parameters, "mode": "match"
, or whether it was included via the _include parameter, "mode": "include"
.
"entry": [ { "fullUrl": "https://api.service.nhs.uk/genomic-order-management-service/FHIR/R4/44707473", "resource": { "resourceType": "Specimen", "id": "44707473", "meta": { "versionId": "1", "lastUpdated": "2024-05-13T14:28:05.843+00:00", "source": "#CJ6XJLTGD315XL2Z" }, "identifier": [ { "system": "https://fhir.add.nhs.uk/Id/specimenId", "value": "RGT03135" } ], "status": "unavailable", "type": { "coding": [ { "system": "http://snomed.info/sct", "code": "445295009", "display": "Blood specimen with EDTA" } ] }, "subject": { "reference": "Patient/44707475", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307946" } }, "request": [ { "reference": "ServiceRequest/ServiceRequest-NonWGSTestOrderForm-Example" } ] }, "search": { "mode": "match" } } ]
Genomics-Composition
The Genomics Composition is currently pending Clinical and Technical Assurance of the base UKCore resource. Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The profile for the UKCore-Bundle is provided below for completeness.
Compositions within Genomics will be limited to documents generated by the central broker for capturing snapshots of Test orders and results in order to maintain historical accuracy, as per the
Usage of the Compostion resource and generation of documents is pending internal review
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Composition | HL7 International | trial-use |
Composition | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..1 | Identifier |
status | Σ ?! | 1..1 | codeBinding |
type | Σ | 1..1 | CodeableConceptBinding |
category | Σ | 0..* | CodeableConcept |
subject | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
date | Σ | 1..1 | dateTime |
author | Σ I | 1..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
title | Σ | 1..1 | string |
confidentiality | Σ | 0..1 | codeBinding |
attester | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | 1..1 | codeBinding | |
time | 0..1 | dateTime | |
party | I | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) |
custodian | Σ I | 0..1 | Reference(Organization) |
relatesTo | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | 1..1 | codeBinding | |
target[x] | 1..1 | ||
targetIdentifier | Identifier | ||
targetReference | Reference(Composition) | ||
event | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 0..* | CodeableConcept |
period | Σ I | 0..1 | Period |
detail | Σ I | 0..* | Reference(Resource) |
section | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
title | 0..1 | string | |
code | 0..1 | CodeableConcept | |
author | I | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
focus | I | 0..1 | Reference(Resource) |
text | I | 0..1 | Narrative |
mode | 0..1 | codeBinding | |
orderedBy | 0..1 | CodeableConceptBinding | |
entry | I | 0..* | Reference(Resource) |
emptyReason | I | 0..1 | CodeableConceptBinding |
section | I | 0..* | see (section) |
Differential from Composition
Composition | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..1 | Identifier |
status | Σ ?! | 1..1 | codeBinding |
type | Σ | 1..1 | CodeableConceptBinding |
category | Σ | 0..* | CodeableConcept |
subject | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
date | Σ | 1..1 | dateTime |
author | Σ I | 1..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
title | Σ | 1..1 | string |
confidentiality | Σ | 0..1 | codeBinding |
attester | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
mode | 1..1 | codeBinding | |
time | 0..1 | dateTime | |
party | I | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) |
custodian | Σ I | 0..1 | Reference(Organization) |
relatesTo | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | 1..1 | codeBinding | |
target[x] | 1..1 | ||
targetIdentifier | Identifier | ||
targetReference | Reference(Composition) | ||
event | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 0..* | CodeableConcept |
period | Σ I | 0..1 | Period |
detail | Σ I | 0..* | Reference(Resource) |
section | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
title | 0..1 | string | |
code | 0..1 | CodeableConcept | |
author | I | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
focus | I | 0..1 | Reference(Resource) |
text | I | 0..1 | Narrative |
mode | 0..1 | codeBinding | |
orderedBy | 0..1 | CodeableConceptBinding | |
entry | I | 0..* | Reference(Resource) |
emptyReason | I | 0..1 | CodeableConceptBinding |
section | I | 0..* | see (section) |
Composition | |
Definition | A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). |
Cardinality | 0...* |
Comments | While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical. |
Invariants |
|
Mappings |
|
Composition.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Composition.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Composition.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Composition.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Composition.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Composition.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Composition.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.identifier | |
Definition | A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Comments | Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate. |
Invariants |
|
Mappings |
|
Composition.status | |
Definition | The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document. |
Cardinality | 1...1 |
Type | code |
Binding | The workflow/clinical status of the composition. |
Modifier | True |
Summary | True |
Requirements | Need to be able to mark interim, amended, or withdrawn compositions or documents. |
Comments | If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag "entered-in-error" is why this element is labeled as a modifier of other elements. Some reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required. |
Invariants |
|
Mappings |
|
Composition.type | |
Definition | Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Type of a composition. |
Summary | True |
Requirements | Key metadata element describing the composition, used in searching/filtering. |
Comments | For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding. |
Invariants |
|
Mappings |
|
Composition.category | |
Definition | A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | High-level kind of a clinical document at a macro level. |
Summary | True |
Requirements | Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents. |
Comments | This is a metadata field from XDS/MHD. |
Invariants |
|
Mappings |
|
Composition.subject | |
Definition | Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure). |
Cardinality | 0...1 |
Type | Reference(Resource) |
Summary | True |
Requirements | Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about. |
Comments | For clinical documents, this is usually the patient. |
Invariants |
|
Mappings |
|
Composition.encounter | |
Definition | Describes the clinical encounter or type of care this documentation is associated with. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Requirements | Provides context for the composition and supports searching. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Composition.date | |
Definition | The composition editing time, when the composition was last logically changed by the author. |
Cardinality | 1...1 |
Type | dateTime |
Summary | True |
Requirements | dateTime is used for tracking, organizing versions and searching. Note that this is the time of authoring. When packaged in a document, Bundle.timestamp is the date of packaging. |
Comments | The Last Modified Date on the composition may be after the date of the document was attested without being changed. |
Invariants |
|
Mappings |
|
Composition.author | |
Definition | Identifies who is responsible for the information in the composition, not necessarily who typed it in. |
Cardinality | 1...* |
Type | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
Summary | True |
Requirements | Identifies who is responsible for the content. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Composition.title | |
Definition | Official human-readable label for the composition. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a "consultation" or "progress note"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period. |
Invariants |
|
Mappings |
|
Composition.confidentiality | |
Definition | The code specifying the level of confidentiality of the Composition. |
Cardinality | 0...1 |
Type | code |
Binding | Codes specifying the level of confidentiality of the composition. |
Summary | True |
Comments | The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section). This element is labeled as a modifier because highly confidential documents must not be treated as if they are not. |
Invariants |
|
Mappings |
|
Composition.attester | |
Definition | A participant who has attested to the accuracy of the composition/document. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Identifies responsibility for the accuracy of the composition content. |
Comments | Only list each attester once. |
Invariants |
|
Mappings |
|
Composition.attester.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Composition.attester.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.attester.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Composition.attester.mode | |
Definition | The type of attestation the authenticator offers. |
Cardinality | 1...1 |
Type | code |
Binding | The way in which a person authenticated a composition. |
Requirements | Indicates the level of authority of the attestation. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Composition.attester.time | |
Definition | When the composition was attested by the party. |
Cardinality | 0...1 |
Type | dateTime |
Requirements | Identifies when the information in the composition was deemed accurate. (Things may have changed since then.). |
Invariants |
|
Mappings |
|
Composition.attester.party | |
Definition | Who attested the composition in the specified way. |
Cardinality | 0...1 |
Type | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) |
Requirements | Identifies who has taken on the responsibility for accuracy of the composition content. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Composition.custodian | |
Definition | Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
Requirements | Identifies where to go to find the current version, where to report issues, etc. |
Comments | This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged. |
Invariants |
|
Mappings |
|
Composition.relatesTo | |
Definition | Relationships that this composition has with other compositions or documents that already exist. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | A document is a version specific composition. |
Invariants |
|
Mappings |
|
Composition.relatesTo.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Composition.relatesTo.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.relatesTo.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Composition.relatesTo.code | |
Definition | The type of relationship that this composition has with anther composition or document. |
Cardinality | 1...1 |
Type | code |
Binding | The type of relationship between documents. |
Comments | If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. |
Invariants |
|
Mappings |
|
Composition.relatesTo.target[x] | |
Definition | The target composition/document of this relationship. |
Cardinality | 1...1 |
Type | Identifier |
Invariants |
|
Mappings |
|
Composition.event | |
Definition | The clinical service, such as a colonoscopy or an appendectomy, being documented. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Requirements | Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event. |
Comments | The event needs to be consistent with the type element, though can provide further information if desired. |
Invariants |
|
Mappings |
|
Composition.event.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Composition.event.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.event.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Composition.event.code | |
Definition | This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | This list of codes represents the main clinical acts being documented. |
Summary | True |
Comments | An event can further specialize the act inherent in the typeCode, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries. |
Invariants |
|
Mappings |
|
Composition.event.period | |
Definition | The period of time covered by the documentation. There is no assertion that the documentation is a complete representation for this period, only that it documents events during this time. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Composition.event.detail | |
Definition | The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy. |
Cardinality | 0...* |
Type | Reference(Resource) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Composition.section | |
Definition | The root of the sections that make up the composition. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Composition.section.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Composition.section.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Composition.section.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Composition.section.title | |
Definition | The label for this particular section. This will be part of the rendered content for the document, and is often used to build a table of contents. |
Cardinality | 0...1 |
Type | string |
Alias | header, label, caption |
Requirements | Section headings are often standardized for different types of documents. They give guidance to humans on how the document is organized. |
Comments | The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title, or documents that only have a single section. Most Implementation Guides will make section title to be a required element. |
Invariants |
|
Mappings |
|
Composition.section.code | |
Definition | A code identifying the kind of content contained within the section. This must be consistent with the section title. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Classification of a section of a composition/document. |
Requirements | Provides computable standardized labels to topics within the document. |
Comments | The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document. If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code. |
Invariants |
|
Mappings |
|
Composition.section.author | |
Definition | Identifies who is responsible for the information in this section, not necessarily who typed it in. |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) |
Requirements | Identifies who is responsible for the content. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Composition.section.focus | |
Definition | The actual focus of the section when it is not the subject of the composition, but instead represents something or someone associated with the subject such as (for a patient subject) a spouse, parent, fetus, or donor. If not focus is specified, the focus is assumed to be focus of the parent section, or, for a section in the Composition itself, the subject of the composition. Sections with a focus SHALL only include resources where the logical subject (patient, subject, focus, etc.) matches the section focus, or the resources have no logical subject (few resources). |
Cardinality | 0...1 |
Type | Reference(Resource) |
Comments | Typically, sections in a doument are about the subject of the document, whether that is a patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples. |
Invariants |
|
Mappings |
|
Composition.section.text | |
Definition | A human-readable narrative that contains the attested content of the section, used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. |
Cardinality | 0...1 |
Type | Narrative |
Comments | Document profiles may define what content should be represented in the narrative to ensure clinical safety. |
Invariants |
|
Mappings |
|
Composition.section.mode | |
Definition | How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted. |
Cardinality | 0...1 |
Type | code |
Binding | The processing mode that applies to this section. |
Requirements | Sections are used in various ways, and it must be known in what way it is safe to use the entries in them. |
Comments | This element is labeled as a modifier because a change list must not be misunderstood as a complete list. |
Invariants |
|
Mappings |
|
Composition.section.orderedBy | |
Definition | Specifies the order applied to the items in the section entries. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | What order applies to the items in the entry. |
Requirements | Important for presentation and rendering. Lists may be sorted to place more important information first or to group related entries. |
Comments | Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order. |
Invariants |
|
Mappings |
|
Composition.section.entry | |
Definition | A reference to the actual resource from which the narrative in the section is derived. |
Cardinality | 0...* |
Type | Reference(Resource) |
Comments | If there are no entries in the list, an emptyReason SHOULD be provided. |
Invariants |
|
Mappings |
|
Composition.section.emptyReason | |
Definition | If the section is empty, why the list is empty. An empty section typically has some text explaining the empty reason. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | If a section is empty, why it is empty. |
Requirements | Allows capturing things like "none exist" or "not asked" which can be important for most lists. |
Comments | The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases. |
Invariants |
|
Mappings |
|
Composition.section.section | |
Definition | A nested sub-section within this section. |
Cardinality | 0...* |
Type | see (section) |
Comments | Nested sections are primarily used to help human readers navigate to particular portions of the document. |
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Additional Guidance
status
Fixed value of 'final'
"status": "final",
type
SNOMED CT code for either a Laboratory Request (24691000000102) or Genetic report (1054161000000101)
"type": { "coding": [ { "system": "http://snomed.info/sct", "code": "1054161000000101", "display": "Genetic report (record artifact)" } ] },
subject
Matches subject reference included in either the DiagnosticReport or ServiceRequest
"subject": { "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } },
date
SHALL be the dateTime the Composition was generated by the central broker
"date": "2022-07-11T09:00:00Z",
author
Fixed to an identifier for the central broker (TBC). The author for the underlying ServiceRequest or DiagnosticReport can be retrieved by interrogating the appropriate resources.
"author": [ { "identifier": { "system": "https://fhir.nhs.uk/Id/spine-ASID", "value": "200000000215" } } ],
title
SHALL match the SNOMED CT display used within Composition.type
"status": "Genetic report (record artifact)",
section
SHALL only include the ServiceRequest or DiagnsoticReport forming the base of a GraphDefinition.
"section": [ { "mode": "snapshot", "entry": [ { "reference": "DiagnosticReport/DiagnosticReport-AnitaLamberts-Example" } ] } ]
Genomics-Condition
For detailing any Condition related information about the proband/consultands within a test order.
It is expected that the information used to populate this resource SHOULD be sourced from the requesters EHR system. As such, there is no limit on the amount of detail that can be provided, though at a minimum the code and subject fields SHOULD be populated.
It is also highly preferred if the verificationStatus, onsetDateTime, recordedDate, recorded and abatementDateTime are populated if applicable/known.
The primary condition, being tested for SHOULD be referenced via ServiceRequest.reasonReference, additional relevant conditions SHOULD be referenced via ServiceRequest.supportingInfo.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Condition | UKCore | trial-use |
UKCoreCondition (Condition) | I | Condition | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
bodyStructureR6 | I | 0..1 | Extension(Reference(BodyStructure)) |
conditionEpisode | I | 0..* | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
clinicalStatus | S Σ ?! I | 0..1 | CodeableConceptBinding |
verificationStatus | S Σ ?! I | 0..1 | CodeableConceptBinding |
category | 0..* | CodeableConceptBinding | |
severity | S | 0..1 | CodeableConceptBinding |
code | S Σ | 0..1 | CodeableConceptBinding |
bodySite | Σ | 0..* | CodeableConceptBinding |
subject | S Σ I | 1..1 | Reference(Patient | Group) |
encounter | Σ I | 0..1 | Reference(Encounter) |
onset[x] | Σ | 0..1 | |
onsetDateTime | dateTime | ||
onsetAge | Age | ||
onsetPeriod | Period | ||
onsetRange | Range | ||
onsetString | string | ||
abatement[x] | I | 0..1 | |
abatementDateTime | dateTime | ||
abatementAge | Age | ||
abatementPeriod | Period | ||
abatementRange | Range | ||
abatementString | string | ||
recordedDate | Σ | 0..1 | dateTime |
recorder | S Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
asserter | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
stage | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
summary | I | 0..1 | CodeableConcept |
assessment | I | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) |
type | 0..1 | CodeableConcept | |
evidence | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ I | 0..* | CodeableConcept |
detail | Σ I | 0..* | Reference(Resource) |
note | 0..* | Annotation |
Differential from Condition
UKCoreCondition (Condition) | I | Condition | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
bodyStructureR6 | I | 0..1 | Extension(Reference(BodyStructure)) |
conditionEpisode | I | 0..* | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
clinicalStatus | S Σ ?! I | 0..1 | CodeableConceptBinding |
verificationStatus | S Σ ?! I | 0..1 | CodeableConceptBinding |
category | 0..* | CodeableConceptBinding | |
severity | S | 0..1 | CodeableConceptBinding |
code | S Σ | 0..1 | CodeableConceptBinding |
bodySite | Σ | 0..* | CodeableConceptBinding |
subject | S Σ I | 1..1 | Reference(Patient | Group) |
encounter | Σ I | 0..1 | Reference(Encounter) |
onset[x] | Σ | 0..1 | |
onsetDateTime | dateTime | ||
onsetAge | Age | ||
onsetPeriod | Period | ||
onsetRange | Range | ||
onsetString | string | ||
abatement[x] | I | 0..1 | |
abatementDateTime | dateTime | ||
abatementAge | Age | ||
abatementPeriod | Period | ||
abatementRange | Range | ||
abatementString | string | ||
recordedDate | Σ | 0..1 | dateTime |
recorder | S Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
asserter | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
stage | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
summary | I | 0..1 | CodeableConcept |
assessment | I | 0..* | Reference(ClinicalImpression | DiagnosticReport | Observation) |
type | 0..1 | CodeableConcept | |
evidence | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ I | 0..* | CodeableConcept |
detail | Σ I | 0..* | Reference(Resource) |
note | 0..* | Annotation |
Condition | |
Definition | A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Condition.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Condition.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Condition.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Condition.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Condition.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Condition.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Condition.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Condition.extension:bodyStructureR6 | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 0...1 |
Type | Extension(Reference(BodyStructure)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Condition.extension:conditionEpisode | |
Definition | The episodicity status of a condition. |
Cardinality | 0...* |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Condition.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Condition.identifier | |
Definition | Business identifiers assigned to this condition by the performer or other systems which remain constant as the resource is updated and propagates from server to server. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Allows identification of the condition as it is known by various participating systems and in a way that remains consistent across servers. |
Comments | This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. |
Invariants |
|
Mappings |
|
Condition.clinicalStatus | |
Definition | The clinical status of the condition. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The clinical status of the condition or diagnosis. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | The data type is CodeableConcept because clinicalStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. |
Invariants |
|
Mappings |
|
Condition.verificationStatus | |
Definition | The verification status to support the clinical status of the condition. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The verification status to support or decline the clinical status of the condition or diagnosis. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | verificationStatus is not required. For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status. The data type is CodeableConcept because verificationStatus has some clinical judgment involved, such that there might need to be more specificity than the required FHIR value set allows. For example, a SNOMED coding might allow for additional specificity. |
Invariants |
|
Mappings |
|
Condition.category | |
Definition | A category assigned to the condition. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A ValueSet to identify the category of a condition. |
Comments | The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts. |
Invariants |
|
Mappings |
|
Condition.severity | |
Definition | A subjective assessment of the severity of the condition as evaluated by the clinician. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A subjective assessment of the severity of the condition as evaluated by the clinician. |
Must Support | True |
Comments | Coding of the severity with a terminology is preferred, where possible. |
Invariants |
|
Mappings |
|
Condition.code | |
Definition | Identification of the condition, problem or diagnosis. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code from the SNOMED Clinical Terminology UK with the expression (<404684003 |Clinical finding| OR <413350009 |Finding with explicit context| OR <272379006 |Event|). |
Must Support | True |
Summary | True |
Alias | type |
Requirements | 0..1 to account for primarily narrative only resources. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Condition.bodySite | |
Definition | The anatomical location where this condition manifests itself. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Summary | True |
Comments | Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension bodySite. May be a summary code, or a reference to a very precise definition of the location, or both. |
Invariants |
|
Mappings |
|
Condition.subject | |
Definition | Indicates the patient or group who the condition record is associated with. |
Cardinality | 1...1 |
Type | Reference(Patient | Group) |
Must Support | True |
Summary | True |
Alias | patient |
Requirements | Group is typically used for veterinary or public health use cases. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Condition.encounter | |
Definition | The Encounter during which this Condition was created or to which the creation of this record is tightly associated. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Comments | This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. This record indicates the encounter this particular record is associated with. In the case of a "new" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first "known". |
Invariants |
|
Mappings |
|
Condition.onset[x] | |
Definition | Estimated or actual date or date-time the condition began, in the opinion of the clinician. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Comments | Age is generally used when the patient reports an age at which the Condition began to occur. |
Invariants |
|
Mappings |
|
Condition.abatement[x] | |
Definition | The date or estimated date that the condition resolved or went into remission. This is called "abatement" because of the many overloaded connotations associated with "remission" or "resolution" - Conditions are never really resolved, but they can abate. |
Cardinality | 0...1 |
Type | dateTime |
Comments | There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated. If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid. When abatementString exists, it implies the condition is abated. |
Invariants |
|
Mappings |
|
Condition.recordedDate | |
Definition | The recordedDate represents when this particular Condition record was created in the system, which is often a system-generated date. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Invariants |
|
Mappings |
|
Condition.recorder | |
Definition | Individual who recorded the record and takes responsibility for its content. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
Must Support | True |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Condition.asserter | |
Definition | Individual who is making the condition statement. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Condition.stage | |
Definition | Clinical stage or grade of a condition. May include formal severity assessments. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Condition.stage.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Condition.stage.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Condition.stage.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Condition.stage.summary | |
Definition | A simple summary of the stage such as "Stage 3". The determination of the stage is disease-specific. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing condition stages (e.g. Cancer stages). |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Condition.stage.assessment | |
Definition | Reference to a formal record of the evidence on which the staging assessment is based. |
Cardinality | 0...* |
Type | Reference(ClinicalImpression | DiagnosticReport | Observation) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Condition.stage.type | |
Definition | The kind of staging, such as pathological or clinical staging. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing the kind of condition staging (e.g. clinical or pathological). |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Condition.evidence | |
Definition | Supporting evidence / manifestations that are the basis of the Condition's verification status, such as evidence that confirmed or refuted the condition. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both. |
Invariants |
|
Mappings |
|
Condition.evidence.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Condition.evidence.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Condition.evidence.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Condition.evidence.code | |
Definition | A manifestation or symptom that led to the recording of this condition. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes that describe the manifestation or symptoms of a condition. |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Condition.evidence.detail | |
Definition | Links to other relevant information, including pathology reports. |
Cardinality | 0...* |
Type | Reference(Resource) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Condition.note | |
Definition | Additional information about the Condition. This is a general notes/comments entry for description of the Condition, its diagnosis and prognosis. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
Condition-PancreaticCancer |
Condition-HearingLoss-Example |
Condition-BreastCancer-Example |
Condition-Hepatosplenomegaly-Example |
Condition-LungTumor-Example |
Condition-InbornErrorOfMetabolism-Example |
FHIR | MDS | HL7v2 |
---|---|---|
Condition | Patient Clinical Presentation, Diabetic complications | DG1 |
Condition.bodySite | Has multiple primary tumours, Count of tumours, Site of tumour (many), Abnormal infection history site, Abnormal infection history site organism | Multiple DG1 segments (bodySite for condition not in scope for HL7v2) |
Condition.verificationStatus | Known/suspected disease | DG1-6 |
Condition.recordedDate | Date of diagnosis, Diagnosis during pregnancy | DG1-5 |
Condition.clinicalStatus | Disease status, Is patient in treatment free remission, Is diabetes in remission | Potentially mapped to DG1-17 |
Condition.code | Phenotypic details (Many), Solid tumour type, Liquid tumour type, Laterality of hearing loss, Fetal maternal screening genotype, Fetal paternal screening genotype, Thyroid gland state, Pituitary tumour type, Pancreatic tumour type, Phaeochromocytoma, Progeroid features, Severity of hearing loss, Retinal degeneration, Hepatic vs neurological presentation, Suspected inborn error type(s) | Additional DG1 segments (DG1-3) |
Condition.onsetDateTime | Date of disease onset, Duration of hyperinsulism (when compared to abatementDateTime | for non OML messages PRB-16 |
Condition.evidence.detail( reference( FamilyMemberHistory, Media ) ) | Pedigree details/diagram, Disease penetrance | N/A not in scope for HL7v2, could be added as additional DG1 segments related to relatives (representation of family history in HL7v2 still pending investigation) |
Condition.evidence.code | Symptoms at onset | Separate DG1 with DG1-17=S |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Condition_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Condition-Genomics |
Additional Guidance
extension:bodyStructureR6
Extension provided to allow users to ascribe topology and morphology items to conditions themselves. For collection of body structure information for primary and secondary tumours separately, these should be referenced from conditions associated with the primary and secondary tumour respectively.
"extension": [ { "url": "http://hl7.org/fhir/6.0/StructureDefinition/extension-Condition.bodyStructure", "valueReference": { "reference": "BodyStructure/BodyStructure-BodySiteLocationLungs-Example" } } ]
code
SHOULD be present. SNOMED CT coding is preferred, though alternative codings MAY be provided subject to review of the Coding system by the NHS England Genomics Unit.
"code": { "coding": [ { "system": "http://snomed.info/sct", "code": "95820000", "display": "Bilateral hearing loss" } ] },
subject
SHALL be present. Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
note
For recording additional information regarding the condition where this does not fit into the structured fields or cannot be structured due to the way this information has been recorded in source systems.
"note": [ { "text": "hearing loss since childhood (example)" } ]
Genomics-Consent
Only expected to be used for wrapping Record of Discussion resources within the WGS pathway. Consent for testing is implied through submission of a test to the Genomic Order Management service.
Only a minimal amount of mandatory information needs to be populated.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Consent | HL7 International | trial-use |
Consent | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
scope | Σ ?! | 1..1 | CodeableConceptBinding |
category | Σ | 1..* | CodeableConceptBinding |
patient | Σ I | 0..1 | Reference(Patient) |
dateTime | Σ | 0..1 | dateTime |
performer | Σ I | 0..* | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
organization | Σ I | 0..* | Reference(Organization) |
source[x] | Σ | 0..1 | |
sourceAttachment | Attachment | ||
sourceReference | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | ||
policy | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
authority | I | 0..1 | uri |
uri | I | 0..1 | uri |
policyRule | Σ I | 0..1 | CodeableConceptBinding |
verification | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
verified | Σ | 1..1 | boolean |
verifiedWith | I | 0..1 | Reference(Patient | RelatedPerson) |
verificationDate | 0..1 | dateTime | |
provision | Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 0..1 | codeBinding |
period | Σ I | 0..1 | Period |
actor | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
role | 1..1 | CodeableConceptBinding | |
reference | I | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
action | Σ | 0..* | CodeableConcept |
securityLabel | Σ | 0..* | CodingBinding |
purpose | Σ | 0..* | CodingBinding |
class | Σ | 0..* | CodingBinding |
code | Σ | 0..* | CodeableConcept |
dataPeriod | Σ I | 0..1 | Period |
data | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
meaning | Σ | 1..1 | codeBinding |
reference | Σ I | 1..1 | Reference(Resource) |
provision | 0..* | see (provision) |
Differential from Consent
Consent | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
scope | Σ ?! | 1..1 | CodeableConceptBinding |
category | Σ | 1..* | CodeableConceptBinding |
patient | Σ I | 0..1 | Reference(Patient) |
dateTime | Σ | 0..1 | dateTime |
performer | Σ I | 0..* | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
organization | Σ I | 0..* | Reference(Organization) |
source[x] | Σ | 0..1 | |
sourceAttachment | Attachment | ||
sourceReference | Reference(Consent | DocumentReference | Contract | QuestionnaireResponse) | ||
policy | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
authority | I | 0..1 | uri |
uri | I | 0..1 | uri |
policyRule | Σ I | 0..1 | CodeableConceptBinding |
verification | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
verified | Σ | 1..1 | boolean |
verifiedWith | I | 0..1 | Reference(Patient | RelatedPerson) |
verificationDate | 0..1 | dateTime | |
provision | Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 0..1 | codeBinding |
period | Σ I | 0..1 | Period |
actor | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
role | 1..1 | CodeableConceptBinding | |
reference | I | 1..1 | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
action | Σ | 0..* | CodeableConcept |
securityLabel | Σ | 0..* | CodingBinding |
purpose | Σ | 0..* | CodingBinding |
class | Σ | 0..* | CodingBinding |
code | Σ | 0..* | CodeableConcept |
dataPeriod | Σ I | 0..1 | Period |
data | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
meaning | Σ | 1..1 | codeBinding |
reference | Σ I | 1..1 | Reference(Resource) |
provision | 0..* | see (provision) |
Consent | |
Definition | A record of a healthcare consumer’s choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. |
Cardinality | 0...* |
Comments | Broadly, there are 3 key areas of consent for patients: Consent around sharing information (aka Privacy Consent Directive - Authorization to Collect, Use, or Disclose information), consent for specific treatment, or kinds of treatment, and general advance care directives. |
Invariants |
|
Mappings |
|
Consent.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Consent.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Consent.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Consent.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Consent.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Consent.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Consent.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.identifier | |
Definition | Unique identifier for this copy of the Consent Statement. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Comments | This identifier identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same. |
Invariants |
|
Examples | General { "system": "urn:ietf:rfc:3986", "value": "Local eCMS identifier" } |
Mappings |
|
Consent.status | |
Definition | Indicates the current state of this consent. |
Cardinality | 1...1 |
Type | code |
Binding | Indicates the state of the consent. |
Modifier | True |
Summary | True |
Requirements | The Consent Directive that is pointed to might be in various lifecycle states, e.g., a revoked Consent Directive. |
Comments | This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid. |
Invariants |
|
Mappings |
|
Consent.scope | |
Definition | A selector of the type of consent being presented: ADR, Privacy, Treatment, Research. This list is now extensible. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | The four anticipated uses for the Consent Resource. |
Modifier | True |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Consent.category | |
Definition | A classification of the type of consents found in the statement. This element supports indexing and retrieval of consent statements. |
Cardinality | 1...* |
Type | CodeableConcept |
Binding | A classification of the type of consents found in a consent statement. |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Consent.patient | |
Definition | The patient/healthcare consumer to whom this consent applies. |
Cardinality | 0...1 |
Type | Reference(Patient) |
Summary | True |
Comments | Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person. |
Invariants |
|
Mappings |
|
Consent.dateTime | |
Definition | When this Consent was issued / created / indexed. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Comments | This is not the time of the original consent, but the time that this statement was made or derived. |
Invariants |
|
Mappings |
|
Consent.performer | |
Definition | Either the Grantor, which is the entity responsible for granting the rights listed in a Consent Directive or the Grantee, which is the entity responsible for complying with the Consent Directive, including any obligations or limitations on authorizations and enforcement of prohibitions. |
Cardinality | 0...* |
Type | Reference(Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
Summary | True |
Alias | consentor |
Comments | Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian. |
Invariants |
|
Mappings |
|
Consent.organization | |
Definition | The organization that manages the consent, and the framework within which it is executed. |
Cardinality | 0...* |
Type | Reference(Organization) |
Summary | True |
Alias | custodian |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Consent.source[x] | |
Definition | The source on which this consent statement is based. The source might be a scanned original paper form, or a reference to a consent that links back to such a source, a reference to a document repository (e.g. XDS) that stores the original consent document. |
Cardinality | 0...1 |
Type | Attachment |
Summary | True |
Comments | The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id. |
Invariants |
|
Mappings |
|
Consent.policy | |
Definition | The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Consent.policy.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Consent.policy.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.policy.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Consent.policy.authority | |
Definition | Entity or Organization having regulatory jurisdiction or accountability for enforcing policies pertaining to Consent Directives. |
Cardinality | 0...1 |
Type | uri |
Comments | see http://en.wikipedia.org/wiki/Uniform_resource_identifier |
Invariants |
|
Mappings |
|
Consent.policy.uri | |
Definition | The references to the policies that are included in this consent scope. Policies may be organizational, but are often defined jurisdictionally, or in law. |
Cardinality | 0...1 |
Type | uri |
Comments | This element is for discoverability / documentation and does not modify or qualify the policy rules. |
Invariants |
|
Mappings |
|
Consent.policyRule | |
Definition | A reference to the specific base computable regulation or policy. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Regulatory policy examples. |
Summary | True |
Requirements | Might be a unique identifier of a policy set in XACML, or other rules engine. |
Comments | If the policyRule is absent, computable consent would need to be constructed from the elements of the Consent resource. |
Invariants |
|
Mappings |
|
Consent.verification | |
Definition | Whether a treatment instruction (e.g. artificial respiration yes or no) was verified with the patient, his/her family or another authorized person. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Consent.verification.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Consent.verification.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.verification.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Consent.verification.verified | |
Definition | Has the instruction been verified. |
Cardinality | 1...1 |
Type | boolean |
Summary | True |
Invariants |
|
Mappings |
|
Consent.verification.verifiedWith | |
Definition | Who verified the instruction (Patient, Relative or other Authorized Person). |
Cardinality | 0...1 |
Type | Reference(Patient | RelatedPerson) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Consent.verification.verificationDate | |
Definition | Date verification was collected. |
Cardinality | 0...1 |
Type | dateTime |
Invariants |
|
Mappings |
|
Consent.provision | |
Definition | An exception to the base policy of this consent. An exception can be an addition or removal of access permissions. |
Cardinality | 0...1 |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Consent.provision.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Consent.provision.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.provision.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Consent.provision.type | |
Definition | Action to take - permit or deny - when the rule conditions are met. Not permitted in root rule, required in all nested rules. |
Cardinality | 0...1 |
Type | code |
Binding | How a rule statement is applied, such as adding additional consent or removing consent. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Consent.provision.period | |
Definition | The timeframe in this rule is valid. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Consent.provision.actor | |
Definition | Who or what is controlled by this rule. Use group to identify a set of actors by some property they share (e.g. 'admitting officers'). |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Consent.provision.actor.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Consent.provision.actor.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.provision.actor.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Consent.provision.actor.role | |
Definition | How the individual is involved in the resources content that is described in the exception. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | How an actor is involved in the consent considerations. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Consent.provision.actor.reference | |
Definition | The resource that identifies the actor. To identify actors by type, use group to identify a set of actors by some property they share (e.g. 'admitting officers'). |
Cardinality | 1...1 |
Type | Reference(Device | Group | CareTeam | Organization | Patient | Practitioner | RelatedPerson | PractitionerRole) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Consent.provision.action | |
Definition | Actions controlled by this Rule. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Detailed codes for the consent action. |
Summary | True |
Comments | Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'. |
Invariants |
|
Mappings |
|
Consent.provision.securityLabel | |
Definition | A security label, comprised of 0..* security label fields (Privacy tags), which define which resources are controlled by this exception. |
Cardinality | 0...* |
Type | Coding |
Binding | Security Labels from the Healthcare Privacy and Security Classification System. |
Summary | True |
Comments | If the consent specifies a security label of "R" then it applies to all resources that are labeled "R" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. When the purpose of use tag is on the data, access request purpose of use shall not conflict. |
Invariants |
|
Mappings |
|
Consent.provision.purpose | |
Definition | The context of the activities a user is taking - why the user is accessing the data - that are controlled by this rule. |
Cardinality | 0...* |
Type | Coding |
Binding | What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels. |
Summary | True |
Comments | When the purpose of use tag is on the data, access request purpose of use shall not conflict. |
Invariants |
|
Mappings |
|
Consent.provision.class | |
Definition | The class of information covered by this rule. The type can be a FHIR resource type, a profile on a type, or a CDA document, or some other type that indicates what sort of information the consent relates to. |
Cardinality | 0...* |
Type | Coding |
Binding | The class (type) of information a consent rule covers. |
Summary | True |
Comments | Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere. |
Invariants |
|
Mappings |
|
Consent.provision.code | |
Definition | If this code is found in an instance, then the rule applies. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | If this code is found in an instance, then the exception applies. |
Summary | True |
Comments | Typical use of this is a Document code with class = CDA. |
Invariants |
|
Mappings |
|
Consent.provision.dataPeriod | |
Definition | Clinical or Operational Relevant period of time that bounds the data controlled by this rule. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement. |
Invariants |
|
Mappings |
|
Consent.provision.data | |
Definition | The resources controlled by this rule if specific resources are referenced. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Consent.provision.data.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Consent.provision.data.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Consent.provision.data.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Consent.provision.data.meaning | |
Definition | How the resource reference is interpreted when testing consent restrictions. |
Cardinality | 1...1 |
Type | code |
Binding | How a resource reference is interpreted when testing consent restrictions. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Consent.provision.data.reference | |
Definition | A reference to a specific resource that defines which resources are covered by this consent. |
Cardinality | 1...1 |
Type | Reference(Resource) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Consent.provision.provision | |
Definition | Rules which provide exceptions to the base rule or subrules. |
Cardinality | 0...* |
Type | see (provision) |
FHIR | MDS | HL7v2 |
---|---|---|
Consent.sourceAttachment | RoD - Record of discussion form - copy attached | CON-19 (for OML, included in RoD, referenced from NTE-3) |
Consent.status | RoD - Patient conversation taken place, ROD form to follow | Inferred through CON-19 value (for OML, included in RoD, referenced from NTE-3) |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Consent_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Consent-Genomics |
Additional Guidance
status
SHALL be present. Fixed code of 'proposed' where consent discussion has taken place but RoD form has not been provided alongside test order. 'draft' if discussion has not yet taken place and 'active' for completed RoD, regardless of whether the patient has consented to information sharing (responses to specific consent statements SHOULD be recorded in the RoD itself).
"status": "proposed",
scope
For WGS RoD this SHALL be fixed to the below code:
"scope": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/consentscope", "code": "research", "display": "Research" } ] },
category
For WGS RoD this SHALL be fixed to the below code:
"category": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/consentcategorycodes", "code": "research", "display": "Research Information Access" } ] } ],
source[x]
SHALL be present for RoD entities. The Source element MAY either be a pointer to the location of the PDF version of the RoD, either hosted by the source/client system, accessed via NRL or embedded within the message payload, base64 encoded (using sourceAttachment), or a reference to a QuestionnaireResponse resource (using sourceReference), if this has been collected in a structured format, using the Questionnaire-Genomic Testing RoD template.
"sourceReference": { "reference": "QuestionnaireResponse/QuestionnaireResponse-RoD-Example" },
policy
For WGS RoD this SHALL be fixed to the below uris:
"policy": [ { "authority": "https://www.england.nhs.uk", "uri": "https://www.england.nhs.uk/publication/nhs-genomic-medicine-service-record-of-discussion-form" } ]
provision
Used to reference the ServiceRequest the Consent applies to. SHALL be present where the consent only applies to a specific test.
"provision": { "data": [ { "meaning": "instance", "reference": { "reference": "ServiceRequest/ServiceRequest-WGSTestOrderForm-Example" } } ] }
Genomics-DiagnosticReport
The requirements of a specific Genomics DiagnosticReport is currently under review.
The draft profile is provided below for completeness.
Currently, only requirements for initial Pathology reports, provided with a test order, have been reviewed. DiagnosticReports containing the results of genomic testing are expected to be attached/provided as PDF documents during the alpha phase of the GMS development programme.
It is expected structured DiagnosticReports will mimic the structure proposed within the HL7 International Genomic Reporting IG, though customizations for use within the UK still need to be investigated.
Genomic DiagnosticReports which have been updated post submission SHALL be accompanied by Provenance resources, referencing the DiagnosticReport which detail when the resource was changed, who made the change and why.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-DiagnosticReport | UKCore | trial-use |
UKCoreDiagnosticReport (DiagnosticReport) | I | DiagnosticReport | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
compositionReferenceR5 | I | 0..1 | Extension(Reference(Composition)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Composition) | ||
mediaR5 | I | 1..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 1..* | Extension |
comment | I | 0..* | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueString | string | ||
link | I | 1..* | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(UKCoreDocumentReference) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
noteR5 | I | 0..* | Extension(Annotation) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueAnnotation | Annotation | ||
supportingInfoR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 2..* | Extension |
type | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCodeableConcept | CodeableConcept | ||
reference | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Procedure | Observation | DiagnosticReport) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
basedOn | I | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
status | S Σ ?! | 1..1 | codeBinding |
category | S Σ | 0..* | CodeableConcept |
code | S Σ | 1..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Location) |
encounter | S Σ I | 0..1 | Reference(Encounter) |
effective[x] | Σ | 0..1 | |
effectiveDateTime | dateTime | ||
effectivePeriod | Period | ||
issued | S Σ | 0..1 | instant |
performer | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceReference | I | 0..1 | Extension(Reference(Device)) |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
resultsInterpreter | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceReference | I | 0..* | Extension(Reference(Device)) |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
specimen | I | 0..* | Reference(Specimen) |
result | S I | 0..* | Reference(Observation) |
imagingStudy | I | 0..* | Reference(ImagingStudy) |
media | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
comment | 0..1 | string | |
link | Σ I | 1..1 | Reference(Media) |
conclusion | 0..1 | string | |
conclusionCode | 0..* | CodeableConceptBinding | |
presentedForm | I | 0..* | Attachment |
Differential from DiagnosticReport
UKCoreDiagnosticReport (DiagnosticReport) | I | DiagnosticReport | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
compositionReferenceR5 | I | 0..1 | Extension(Reference(Composition)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Composition) | ||
mediaR5 | I | 1..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 1..* | Extension |
comment | I | 0..* | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueString | string | ||
link | I | 1..* | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(UKCoreDocumentReference) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
noteR5 | I | 0..* | Extension(Annotation) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueAnnotation | Annotation | ||
supportingInfoR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 2..* | Extension |
type | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCodeableConcept | CodeableConcept | ||
reference | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Procedure | Observation | DiagnosticReport) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
basedOn | I | 0..* | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
status | S Σ ?! | 1..1 | codeBinding |
category | S Σ | 0..* | CodeableConcept |
code | S Σ | 1..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Location) |
encounter | S Σ I | 0..1 | Reference(Encounter) |
effective[x] | Σ | 0..1 | |
effectiveDateTime | dateTime | ||
effectivePeriod | Period | ||
issued | S Σ | 0..1 | instant |
performer | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceReference | I | 0..1 | Extension(Reference(Device)) |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
resultsInterpreter | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceReference | I | 0..* | Extension(Reference(Device)) |
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
specimen | I | 0..* | Reference(Specimen) |
result | S I | 0..* | Reference(Observation) |
imagingStudy | I | 0..* | Reference(ImagingStudy) |
media | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
comment | 0..1 | string | |
link | Σ I | 1..1 | Reference(Media) |
conclusion | 0..1 | string | |
conclusionCode | 0..* | CodeableConceptBinding | |
presentedForm | I | 0..* | Attachment |
DiagnosticReport | |
Definition | The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. |
Cardinality | 0...* |
Alias | Report, Test, Result, Results, Labs, Laboratory |
Comments | This is intended to capture a single report and is not suitable for use in displaying summary information that covers multiple reports. For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing. |
Invariants |
|
Mappings |
|
DiagnosticReport.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
DiagnosticReport.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
DiagnosticReport.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
DiagnosticReport.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
DiagnosticReport.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
DiagnosticReport.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
DiagnosticReport.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:compositionReferenceR5 | |
Definition | A Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport. |
Cardinality | 0...1 |
Type | Extension(Reference(Composition)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:compositionReferenceR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:compositionReferenceR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:compositionReferenceR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.composition |
Mappings |
|
DiagnosticReport.extension:compositionReferenceR5.value[x] | |
Definition | Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport. |
Cardinality | 1...1 |
Type | Reference(Composition) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5 | |
Definition | Optional Extension Element - found in all resources. |
Cardinality | 1...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:mediaR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 1...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:comment | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:comment.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:comment.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:comment.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | comment |
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:comment.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | string |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:link | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 1...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:link.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:link.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:link.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | link |
Mappings |
|
DiagnosticReport.extension:mediaR5.extension:link.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | Reference(UKCoreDocumentReference) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:mediaR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.media.link |
Mappings |
|
DiagnosticReport.extension:mediaR5.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 0...0 |
Type | base64Binary |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:noteR5 | |
Definition | May include general statements about the diagnostic report, or statements about significant, unexpected or unreliable results values contained within the diagnostic report, or information about its source when relevant to its interpretation. |
Cardinality | 0...* |
Type | Extension(Annotation) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:noteR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:noteR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:noteR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.note |
Mappings |
|
DiagnosticReport.extension:noteR5.value[x] | |
Definition | May include general statements about the diagnostic report, or statements about significant, unexpected or unreliable results values contained within the diagnostic report, or information about its source when relevant to its interpretation. |
Cardinality | 1...1 |
Type | Annotation |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5 | |
Definition | This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report. |
Cardinality | 0...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 2...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:type | |
Definition | The code value for the role of the supporting information in the diagnostic report. |
Cardinality | 1...1 |
Type | Extension |
Binding | http://terminology.hl7.org/ValueSet/v2-0936 (example) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:type.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:type.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:type.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | type |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:type.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | CodeableConcept |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:reference | |
Definition | The reference for the supporting information in the diagnostic report. |
Cardinality | 1...1 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:reference.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:reference.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:reference.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | reference |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.extension:reference.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | Reference(Procedure | Observation | DiagnosticReport) |
Invariants |
|
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.supportingInfo |
Mappings |
|
DiagnosticReport.extension:supportingInfoR5.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 0...0 |
Type | base64Binary |
Invariants |
|
Mappings |
|
DiagnosticReport.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.identifier | |
Definition | Identifiers assigned to this report by the performer or other systems. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Alias | ReportID, Filler ID, Placer ID |
Requirements | Need to know what identifier to use when making queries about this report from the source laboratory, and for linking to the report outside FHIR context. |
Comments | Usually assigned by the Information System of the diagnostic service provider (filler id). |
Invariants |
|
Mappings |
|
DiagnosticReport.basedOn | |
Definition | Details concerning a service requested. |
Cardinality | 0...* |
Type | Reference(CarePlan | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
Alias | Request |
Requirements | This allows tracing of authorization for the report and tracking whether proposals/recommendations were acted upon. |
Comments | Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports. |
Invariants |
|
Mappings |
|
DiagnosticReport.status | |
Definition | The status of the diagnostic report. |
Cardinality | 1...1 |
Type | code |
Binding | The status of the diagnostic report. |
Must Support | True |
Modifier | True |
Summary | True |
Requirements | Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
DiagnosticReport.category | |
Definition | A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes for diagnostic service sections. |
Must Support | True |
Summary | True |
Alias | Department, Sub-department, Service, Discipline |
Comments | Multiple categories are allowed using various categorization schemes. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code. |
Invariants |
|
Mappings |
|
DiagnosticReport.code | |
Definition | A code or name that describes this diagnostic report. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Codes that describe Diagnostic Reports. |
Must Support | True |
Summary | True |
Alias | Type |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
DiagnosticReport.subject | |
Definition | The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources. |
Cardinality | 0...1 |
Type | Reference(Patient | Group | Device | Location) |
Must Support | True |
Summary | True |
Alias | Patient |
Requirements | SHALL know the subject context. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DiagnosticReport.encounter | |
Definition | The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Must Support | True |
Summary | True |
Alias | Context |
Requirements | Links the request to the Encounter context. |
Comments | This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). |
Invariants |
|
Mappings |
|
DiagnosticReport.effective[x] | |
Definition | The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Alias | Observation time, Effective Time, Occurrence |
Requirements | Need to know where in the patient history to file/present this report. |
Comments | If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic. |
Invariants |
|
Mappings |
|
DiagnosticReport.issued | |
Definition | The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified. |
Cardinality | 0...1 |
Type | instant |
Must Support | True |
Summary | True |
Alias | Date published, Date Issued, Date Verified |
Requirements | Clinicians need to be able to check the date that the report was released. |
Comments | May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report. |
Invariants |
|
Mappings |
|
DiagnosticReport.performer | |
Definition | The diagnostic service that is responsible for issuing the report. |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
Summary | True |
Alias | Laboratory, Service, Practitioner, Department, Company, Authorized by, Director |
Requirements | Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis. |
Comments | This is not necessarily the source of the atomic data items or the entity that interpreted the results. It is the entity that takes responsibility for the clinical report. |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.performer.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.extension:deviceReference | |
Definition | An additional Device reference for a DiagnosticReport, to allow Software as a Medical Device to perform / interpret a DiagnosticReport |
Cardinality | 0...1 |
Type | Extension(Reference(Device)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.type | |
Definition | The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources). |
Cardinality | 0...1 |
Type | uri |
Binding | Aa resource (or, for logical models, the URI of the logical model). |
Summary | True |
Comments | This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.identifier | |
Definition | An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Comments | When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). |
Invariants |
|
Mappings |
|
DiagnosticReport.performer.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter | |
Definition | The practitioner or organization that is responsible for the report's conclusions and interpretations. |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam) |
Summary | True |
Alias | Analyzed by, Reported by |
Requirements | Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis. |
Comments | Might not be the same entity that takes responsibility for the clinical report. |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.resultsInterpreter.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.extension:deviceReference | |
Definition | An additional Device reference for a DiagnosticReport, to allow Software as a Medical Device to perform / interpret a DiagnosticReport |
Cardinality | 0...* |
Type | Extension(Reference(Device)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.type | |
Definition | The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources). |
Cardinality | 0...1 |
Type | uri |
Binding | Aa resource (or, for logical models, the URI of the logical model). |
Summary | True |
Comments | This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.identifier | |
Definition | An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Comments | When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). |
Invariants |
|
Mappings |
|
DiagnosticReport.resultsInterpreter.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. |
Invariants |
|
Mappings |
|
DiagnosticReport.specimen | |
Definition | Details about the specimens on which this diagnostic report is based. |
Cardinality | 0...* |
Type | Reference(Specimen) |
Requirements | Need to be able to report information about the collected specimens on which the report is based. |
Comments | If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group. |
Invariants |
|
Mappings |
|
DiagnosticReport.result | |
Definition | [Observations](observation.html) that are part of this diagnostic report. |
Cardinality | 0...* |
Type | Reference(Observation) |
Must Support | True |
Alias | Data, Atomic Value, Result, Atomic result, Data, Test, Analyte, Battery, Organizer |
Requirements | Need to support individual results, or groups of results, where the result grouping is arbitrary, but meaningful. |
Comments | Observations can contain observations. |
Invariants |
|
Mappings |
|
DiagnosticReport.imagingStudy | |
Definition | One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. |
Cardinality | 0...* |
Type | Reference(ImagingStudy) |
Comments | ImagingStudy and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However, each caters to different types of displays for different types of purposes. Neither, either, or both may be provided. |
Invariants |
|
Mappings |
|
DiagnosticReport.media | |
Definition | A list of key images associated with this report. The images are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Alias | DICOM, Slides, Scans |
Requirements | Many diagnostic services include images in the report as part of their service. |
Invariants |
|
Mappings |
|
DiagnosticReport.media.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DiagnosticReport.media.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DiagnosticReport.media.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DiagnosticReport.media.comment | |
Definition | A comment about the image. Typically, this is used to provide an explanation for why the image is included, or to draw the viewer's attention to important features. |
Cardinality | 0...1 |
Type | string |
Requirements | The provider of the report should make a comment about each image included in the report. |
Comments | The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion. |
Invariants |
|
Mappings |
|
DiagnosticReport.media.link | |
Definition | Reference to the image source. |
Cardinality | 1...1 |
Type | Reference(Media) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DiagnosticReport.conclusion | |
Definition | Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. |
Cardinality | 0...1 |
Type | string |
Alias | Report |
Requirements | Need to be able to provide a conclusion that is not lost among the basic result data. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
DiagnosticReport.conclusionCode | |
Definition | One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Diagnosis codes provided as adjuncts to the report. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
DiagnosticReport.presentedForm | |
Definition | Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent. |
Cardinality | 0...* |
Type | Attachment |
Requirements | Gives laboratory the ability to provide its own fully formatted report for clinical fidelity. |
Comments | "application/pdf" is recommended as the most reliable and interoperable in this context. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
DiagnosticReport | Previous Genomic Report, Previous Diagnostic Report | OBX |
DiagnosticReport.effectiveDateTime | PLCM activity - Date and time dataset created, PLCM activity - Turnaround time (calendar days), Previous genomic report - Test performed date, Previous non genomic report - Test performed date | Derived from OBR-7 in the ORU response message for the activity based on the OML request, OBX-19 |
DiagnosticReport.identifier | PLCM activity - Local report identifier, Previous genomic report - Report identifier, Previous non genomic report - Report identifier | OBR-3 for report |
DiagnosticReport.result | PLCM activity - Test outcome code (Many), Previous non genomic report - Test result value comparator, Previous non genomic report - Test result value unit of measure, Previous non genomic report - Test result reference range low, Previous non genomic report - Test result reference range high, Previous non genomic report - Test result test method, Previous non genomic report - Test result reference range text, Previous non genomic report - Test result clinical summary | OBX-3 elements for resulting report, OBX-5, OBX-6, OBX-7 (before operator), OBX-7 (after operator), OBX-17, OBX-7, OBX-8 |
DiagnosticReport.conclusion | Previous genomic report - Report referral summary, Previous non genomic report - Report referral summary | OBX-5 |
DiagnosticReport.presentedForm | Previous genomic report - Report file/link, Previous non genomic report - Report file/link | OBX-5 where OBX-2=ED or RP |
DiagnosticReport.subject | Previous genomic report - Patient's first name, Previous genomic report - Patient's surname, Previous genomic report - Patient's address, Previous genomic report - Patient's post code, Previous genomic report - Patient's country, Previous genomic report - Patient's date of birth, Previous genomic report - Patient's NHS number, Previous genomic report - Patient's alternative identifier, Previous genomic report - Patient's relationship to requesting patient, Previous genomic report - Patient's clinical genetics number, Previous genomic report - Patient's pedigree number | PID attached to Patient Prior |
DiagnosticReport.basedOn | Previous genomic report - Report lab test number, Previous genomic report - Original requester full name, Previous genomic report - Original requester organisation ODS code, Previous genomic report - Original requester reason for request, Previous non genomic report - Original requester full name, Previous non genomic report - Original requester organisation ODS code, Previous non genomic report - Original requester reason for request | ORC-2, ORC-12, ORC-21.10, ORC-16 |
DiagnosticReport.conclusionCode | Previous genomic report - Report of genetic analysis, Previous non genomic report - Report result | OBR-5 |
DiagnosticReport.performer | Previous genomic report - Report performer full name, Previous genomic report - Report performer organisation ODS code, Previous non genomic report - Report performer full name, Previous non genomic report - Report performer organisation ODS code | OBX-16, OBX-23.10 |
DiagnosticReport.code | Previous non genomic report - Test type | OBR-4 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_DiagnosticReport_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-DiagnosticReport-Genomics |
Additional Guidance
- extension:mediaR5
- extension:recommended-action
- extension:genomic-study
- extension:supporting-info
- extension:workflow-relatedArtifact
- basedOn
- status
- code
- subject
- performer
- resultsInterpreter
- specimen
- conclusionCode
- presentedForm
- result
extension:mediaR5
TBC. Only relevant for structured genomic reports. Reference to DocumentReference resources pointing to the Genomic Data Files used as the basis for the report. Usage of this field over extension:supporting-info is pending further investigation.
"extension" : [ { "url" : "http://hl7.org/fhir/5.0/StructureDefinition/extension-DiagnosticReport.media.link", "extension" : [ { "url" : "link", "valueReference": { "reference" : "DocumentReference/DocumentReference-PharmCAT-Example" } } ] } } ],
extension:recommended-action
TBC. Only relevant for structured genomic reports (included in the Genomic Report Profile in the Genomics Reporting IG). Reference to Task resource indicating recommended action to take in response to the report's result/conclusion
"extension" : [ { "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/recommended-action", "valueReference" : { "reference" : "Task/MedicationRecommendationExample1" } } ],
extension:genomic-study
TBC. Only relevant for structured genomic reports (included in the Genomic Report Profile in the Genomics Reporting IG). Reference to Procedure resources indicating the analyses performed as part the genomic test order.
"extension" : [ { "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-reference", "valueReference" : { 🔗 "reference" : "Procedure/PGXGenomicStudy" } } ]
extension:supporting-info
TBC. Only relevant for structured genomic reports (included in the Genomics Report IG Genomic Report Profile). Reference to the genomic data files analysed as part of the test order, forming the report. Reference to DocumentReference resource which links to the binary data file.
"extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/workflow-supportingInfo", "valueReference" : { "reference" : "DocumentReference/DocumentReference-PharmCAT-Example" } } ],
extension:workflow-relatedArtifact
TBC. Only relevant for structured genomic reports (included in Genomic Report Profile in the Genomics Report IG) . A reference to the guidelines or other knowledge artifacts which were used to guide interpretation or recommended actions included within this DiagnosticReport.
If entries constitute published papers, they SHOULD be referenced using a known citation style, e.g. Vancouver/Harvard. Alternatively for online texts, these MAY be referenced via URL only.
A fixed value of 'citation' is expected for the type element, though this recommendation is pending further use cases.
"extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/workflow-relatedArtifact", "valueRelatedArtifact" : { "type" : "citation", "url" : "https://cpicpgx.org/guidelines/guideline-for-clopidogrel-and-cyp2c19)" } } ],
basedOn
SHOULD reference the originating ServiceRequest if this is an instance of a genomic diagnostic report resulting from a GMS test order.
"basedOn": [ { "reference": "ServiceRequest-SavedTestOrder-Example" } ],
status
SHALL use base HL7 codes for DiagnosticReport.status. A DiagnosticReport SHOULD only be marked as final if the report is complete and verified by an authorised person.
"status": "final",
code
SHOULD use a record artifact concept from SNOMED CT where an appropriate code exists, else text is preferred to indicate the document type.
"code": { "coding": [ { "system": "http://snomed.info/sct", "code": "4321000179101", "display": "Hematology report (record artifact)" } ] },
subject
SHALL be present. Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
performer
SHOULD reference the organization responsible for the testing, preferably by ODS code.
"performer": [ { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "REP" } } ],
resultsInterpreter
SHOULD reference the person responsible for interpreting the raw results, preferably by a recognised NHS identifier, such as SDS code.
"resultsInterpreter": [ { "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "999999999999" } } ],
specimen
SHOULD reference the specimen used during testing to generate the report, if the document is a Genomic report.
"specimen": [ { "reference": "Specimen/Specimen-BloodEDTA-Example" } ],
conclusionCode
If possible, unstructured reports wrapped within DiagnosticReports, SHOULD contain a conclusionCode element indicating the coded finding from the report, to aid analytics.
"conclusionCode": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "738542003", "display": "Dihydropyrimidine dehydrogenase poor metabolizer (finding)" } ] } ],
presentedForm
Genomic reports SHALL include a presentedForm element either referencing the location of the PDF report (located and accessible on either the source/client system or via NRL using appropriate authentication) or include the PDF report as a base64 encoded attachment within the message payload.
Note: this guidance may change in the future as work on Structured Reporting matures
"presentedForm": [ { "url": "https://example.com/GenomicReports/ExampleReport.pdf" } ]
result
Raw results included within the report, to aid interpretation. These SHOULD take the form of Observation references, if providing a structured report.
"result" : [ { "reference" : "Observation/TherapeuticImplicationExample1", "display" : "impact for high risk allele" }, { "reference" : "Observation/GenotypeExample1" }, { "reference" : "Observation/OverallInterpExample1" } ]
Genomics-DocumentReference
The DocumentReference resource is used to reference data files generated as part of genomic testing and allow these files to be retrieved through the DRS API standard.
Primarily, the ServiceRequest SHALL be referenced via DiagnosticReport.basedOn. The DocumentReference then links back to the report via DocumentReference.context.related.
If following the Genomic Reporting IG, you could also reference the DocumentReference from the DiagnosticReport using the following chain:
DiagnosticReport.extension:genomic-study -> Procedure (Genomic Study).extension:genomic-study-analysis -> Procedure (Genomic Study Analysis).extension:output.extension:file.valueReference -> DocumentReference (Genomic Data File)
This requires use of the Genomic Study and Genomic Study Analysis profiles which have not yet been assessed for suitability in the UK. As such, this reference chain is only provided for reference.
The NHS England Genomics unit is also investigating backporting the R5 DiagnosticReport.media.link reference to DocumentReference to support referencing the data files from the DiagnosticReport directly. Until investigation is complete, DiagnosticReport resources MAY reference the DocumentReference for the data used by the report though the DiagnosticReport.extension:supporting-info
element. In all cases the DocumentReference SHOULD reference the DNA Specimen from which the data originated and the ServiceRequest which triggered the capture of the data.
The Genomics-DocumentReference is currently based on the HL7 international version of the resource as the UKCore-DocumentReference profile is still in a draft status (and is pending use cases from the Unified Genomic Record project). Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The base DocumentReference resource is provided below for completeness.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/DocumentReference | HL7 International | trial-use |
DocumentReference | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
masterIdentifier | Σ | 0..1 | Identifier |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
docStatus | Σ | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
category | Σ | 0..* | CodeableConcept |
subject | Σ I | 0..1 | Reference(Patient | Practitioner | Group | Device) |
date | Σ | 0..1 | instant |
author | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) |
authenticator | I | 0..1 | Reference(Practitioner | PractitionerRole | Organization) |
custodian | I | 0..1 | Reference(Organization) |
relatesTo | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | codeBinding |
target | Σ I | 1..1 | Reference(DocumentReference) |
description | Σ | 0..1 | string |
securityLabel | Σ | 0..* | CodeableConceptBinding |
content | Σ | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | Σ I | 1..1 | Attachment |
format | Σ | 0..1 | CodingBinding |
context | Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
encounter | I | 0..* | Reference(Encounter | EpisodeOfCare) |
event | 0..* | CodeableConcept | |
period | Σ I | 0..1 | Period |
facilityType | 0..1 | CodeableConcept | |
practiceSetting | 0..1 | CodeableConcept | |
sourcePatientInfo | I | 0..1 | Reference(Patient) |
related | I | 0..* | Reference(Resource) |
Differential from DocumentReference
DocumentReference | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
masterIdentifier | Σ | 0..1 | Identifier |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
docStatus | Σ | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
category | Σ | 0..* | CodeableConcept |
subject | Σ I | 0..1 | Reference(Patient | Practitioner | Group | Device) |
date | Σ | 0..1 | instant |
author | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) |
authenticator | I | 0..1 | Reference(Practitioner | PractitionerRole | Organization) |
custodian | I | 0..1 | Reference(Organization) |
relatesTo | Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | codeBinding |
target | Σ I | 1..1 | Reference(DocumentReference) |
description | Σ | 0..1 | string |
securityLabel | Σ | 0..* | CodeableConceptBinding |
content | Σ | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
attachment | Σ I | 1..1 | Attachment |
format | Σ | 0..1 | CodingBinding |
context | Σ | 0..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
encounter | I | 0..* | Reference(Encounter | EpisodeOfCare) |
event | 0..* | CodeableConcept | |
period | Σ I | 0..1 | Period |
facilityType | 0..1 | CodeableConcept | |
practiceSetting | 0..1 | CodeableConcept | |
sourcePatientInfo | I | 0..1 | Reference(Patient) |
related | I | 0..* | Reference(Resource) |
DocumentReference | |
Definition | A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text. |
Cardinality | 0...* |
Comments | Usually, this is used for documents other than those defined by FHIR. |
Invariants |
|
Mappings |
|
DocumentReference.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
DocumentReference.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
DocumentReference.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
DocumentReference.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
DocumentReference.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
DocumentReference.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
DocumentReference.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DocumentReference.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DocumentReference.masterIdentifier | |
Definition | Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | The structure and format of this Id shall be consistent with the specification corresponding to the formatCode attribute. (e.g. for a DICOM standard document a 64-character numeric UID, for an HL7 CDA format a serialization of the CDA Document Id extension and root in the form "oid^extension", where OID is a 64 digits max, and the Id is a 16 UTF-8 char max. If the OID is coded without the extension then the '^' character shall not be included.). |
Comments | CDA Document Id extension and root. |
Invariants |
|
Mappings |
|
DocumentReference.identifier | |
Definition | Other identifiers associated with the document, including version independent identifiers. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
DocumentReference.status | |
Definition | The status of this document reference. |
Cardinality | 1...1 |
Type | code |
Binding | The status of the document reference. |
Modifier | True |
Summary | True |
Comments | This is the status of the DocumentReference object, which might be independent from the docStatus element. This element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid. |
Invariants |
|
Mappings |
|
DocumentReference.docStatus | |
Definition | The status of the underlying document. |
Cardinality | 0...1 |
Type | code |
Binding | Status of the underlying document. |
Summary | True |
Comments | The document that is pointed to might be in various lifecycle states. |
Invariants |
|
Mappings |
|
DocumentReference.type | |
Definition | Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Precise type of clinical document. |
Summary | True |
Comments | Key metadata element describing the document that describes he exact type of document. Helps humans to assess whether the document is of interest when viewing a list of documents. |
Invariants |
|
Mappings |
|
DocumentReference.category | |
Definition | A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | High-level kind of a clinical document at a macro level. |
Summary | True |
Alias | claxs |
Comments | Key metadata element describing the the category or classification of the document. This is a broader perspective that groups similar documents based on how they would be used. This is a primary key used in searching. |
Invariants |
|
Mappings |
|
DocumentReference.subject | |
Definition | Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). |
Cardinality | 0...1 |
Type | Reference(Patient | Practitioner | Group | Device) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DocumentReference.date | |
Definition | When the document reference was created. |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Alias | indexed |
Comments | Referencing/indexing time is used for tracking, organizing versions and searching. |
Invariants |
|
Mappings |
|
DocumentReference.author | |
Definition | Identifies who is responsible for adding the information to the document. |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson) |
Summary | True |
Comments | Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant). |
Invariants |
|
Mappings |
|
DocumentReference.authenticator | |
Definition | Which person or organization authenticates that this document is valid. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | Organization) |
Comments | Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator. |
Invariants |
|
Mappings |
|
DocumentReference.custodian | |
Definition | Identifies the organization or group who is responsible for ongoing maintenance of and access to the document. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Comments | Identifies the logical organization (software system, vendor, or department) to go to find the current version, where to report issues, etc. This is different from the physical location (URL, disk drive, or server) of the document, which is the technical location of the document, which host may be delegated to the management of some other organization. |
Invariants |
|
Mappings |
|
DocumentReference.relatesTo | |
Definition | Relationships that this document has with other document references that already exist. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Comments | This element is labeled as a modifier because documents that append to other documents are incomplete on their own. |
Invariants |
|
Mappings |
|
DocumentReference.relatesTo.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DocumentReference.relatesTo.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DocumentReference.relatesTo.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DocumentReference.relatesTo.code | |
Definition | The type of relationship that this document has with anther document. |
Cardinality | 1...1 |
Type | code |
Binding | The type of relationship between documents. |
Summary | True |
Comments | If this document appends another document, then the document cannot be fully understood without also accessing the referenced document. |
Invariants |
|
Mappings |
|
DocumentReference.relatesTo.target | |
Definition | The target document of this relationship. |
Cardinality | 1...1 |
Type | Reference(DocumentReference) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DocumentReference.description | |
Definition | Human-readable description of the source document. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Helps humans to assess whether the document is of interest. |
Comments | What the document is about, a terse summary of the document. |
Invariants |
|
Mappings |
|
DocumentReference.securityLabel | |
Definition | A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Security Labels from the Healthcare Privacy and Security Classification System. |
Summary | True |
Requirements | Use of the Health Care Privacy/Security Classification (HCS) system of security-tag use is recommended. |
Comments | The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce. In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects. |
Invariants |
|
Mappings |
|
DocumentReference.content | |
Definition | The document and format referenced. There may be multiple content element repetitions, each with a different format. |
Cardinality | 1...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
DocumentReference.content.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DocumentReference.content.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DocumentReference.content.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DocumentReference.content.attachment | |
Definition | The document or URL of the document along with critical metadata to prove content has integrity. |
Cardinality | 1...1 |
Type | Attachment |
Summary | True |
Comments | When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". |
Invariants |
|
Mappings |
|
DocumentReference.content.format | |
Definition | An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType. |
Cardinality | 0...1 |
Type | Coding |
Binding | Document Format Codes. |
Summary | True |
Comments | Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI. |
Invariants |
|
Mappings |
|
DocumentReference.context | |
Definition | The clinical context in which the document was prepared. |
Cardinality | 0...1 |
Type | BackboneElement |
Summary | True |
Comments | These values are primarily added to help with searching for interesting/relevant documents. |
Invariants |
|
Mappings |
|
DocumentReference.context.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
DocumentReference.context.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
DocumentReference.context.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
DocumentReference.context.encounter | |
Definition | Describes the clinical encounter or type of care that the document content is associated with. |
Cardinality | 0...* |
Type | Reference(Encounter | EpisodeOfCare) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DocumentReference.context.event | |
Definition | This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | This list of codes represents the main clinical acts being documented. |
Comments | An event can further specialize the act inherent in the type, such as where it is simply "Procedure Report" and the procedure was a "colonoscopy". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation. |
Invariants |
|
Mappings |
|
DocumentReference.context.period | |
Definition | The time period over which the service that is described by the document was provided. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
DocumentReference.context.facilityType | |
Definition | The kind of facility where the patient was seen. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | XDS Facility Type. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
DocumentReference.context.practiceSetting | |
Definition | This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Additional details about where the content was created (e.g. clinical specialty). |
Requirements | This is an important piece of metadata that providers often rely upon to quickly sort and/or filter out to find specific content. |
Comments | This element should be based on a coarse classification system for the class of specialty practice. Recommend the use of the classification system for Practice Setting, such as that described by the Subject Matter Domain in LOINC. |
Invariants |
|
Mappings |
|
DocumentReference.context.sourcePatientInfo | |
Definition | The Patient Information as known when the document was published. May be a reference to a version specific, or contained. |
Cardinality | 0...1 |
Type | Reference(Patient) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
DocumentReference.context.related | |
Definition | Related identifiers or resources associated with the DocumentReference. |
Cardinality | 0...* |
Type | Reference(Resource) |
Comments | May be identifiers or resources that caused the DocumentReference or referenced Document to be created. |
Invariants |
|
Mappings |
|
Additional Guidance
subject
SHOULD be present if related to a patient. Reference to the Patient this data file is pertaining to. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
author
SHOULD reference the organization responsible for creating the data file, preferably by ODS code.
"performer": [ { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "REP" } } ],
description
Human readable description for the data file. NOTE: this is being used in place of DocumentReference.type until suitable LOINC or SNOMED CT concepts are identified for the file types expected.
"description": "Phenotype Report",
content
SHOULD be a DRS compatible reference to the data file.
"content": [ { "attachment": { "contentType": "application/json", "url": "drs://drs.genomicsengland.nhs.uk/ga4gh/drs/v1/objects/42375e7d-071c-4eb3-b1c8-cec11e245cf0", "title": "PharmCAT JSON report" } } ],
context
In all cases the DocumentReference SHOULD reference the DNA Specimen from which the data originated, where available, and the ServiceRequest which triggered the capture of the data.
The DiagnosticReport using the data file SHOULD reference the DocumentReference via the DiagnosticReport.extension:supporting-info
element. This guidance will be updated upon release of the R5 backport of DiagnosticReport.media, allowing references to DocumentReference. Once backported, the DiagnosticReport.media.link SHOULD be used to reference the DocumentReference resources for data files analysed for the report instead.
"context": { "related": [ { "reference": "ServiceRequest/ServiceRequest-NonWGSTestOrderForm-NewFollowupTest-Example" }, { "reference": "Specimen/Specimen-BloodEDTA-Example" } ] }
Genomics-FamilyMemberHistory
For collecting relevant Family Member History to aid interpretation of Genomic results. This is limited to collection of Pedigree information. The FamilyMemberHistory resource is not to be used to record participants involved in testing, e.g. in the case of Duo/Trio scenarios (in this case the RelatedPerson resource SHOULD be used instead.
The Genomics FamilyMemberHistory is currently pending Clinical and Technical Assurance of the base UKCore resource. Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The draft profile for the UKCore-FamilyMemberHistory is provided below for completeness.
The CareConnect profile will be uplifted to the R4 UKCore in a future release
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-FamilyMemberHistory | UKCore | trial-use |
UKCoreFamilyMemberHistory (FamilyMemberHistory) | I | FamilyMemberHistory | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
associatedEncounter | I | 0..1 | Extension(Reference(Encounter)) |
participantR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 1..* | Extension |
function | I | 0..1 | ExtensionBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCodeableConcept | CodeableConcept | ||
actor | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization | CareTeam) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) |
instantiatesUri | Σ | 0..* | uri |
status | S Σ ?! | 1..1 | codeBinding |
dataAbsentReason | Σ | 0..1 | CodeableConceptBinding |
patient | S Σ I | 1..1 | Reference(Patient) |
date | S Σ | 0..1 | dateTime |
name | S Σ | 0..1 | string |
relationship | S Σ | 1..1 | CodeableConceptBinding |
sex | Σ | 0..1 | CodeableConceptBinding |
born[x] | I | 0..1 | |
bornPeriod | Period | ||
bornDate | date | ||
bornString | string | ||
age[x] | Σ I | 0..1 | |
ageAge | Age | ||
ageRange | Range | ||
ageString | string | ||
estimatedAge | Σ I | 0..1 | boolean |
deceased[x] | Σ | 0..1 | |
deceasedBoolean | boolean | ||
deceasedAge | Age | ||
deceasedRange | Range | ||
deceasedDate | date | ||
deceasedString | string | ||
reasonCode | Σ | 0..* | CodeableConcept |
reasonReference | Σ I | 0..* | Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) |
note | 0..* | Annotation | |
condition | S | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | 1..1 | CodeableConceptBinding | |
outcome | 0..1 | CodeableConceptBinding | |
contributedToDeath | 0..1 | boolean | |
onset[x] | 0..1 | ||
onsetAge | Age | ||
onsetRange | Range | ||
onsetPeriod | Period | ||
onsetString | string | ||
note | 0..* | Annotation |
Differential from FamilyMemberHistory
UKCoreFamilyMemberHistory (FamilyMemberHistory) | I | FamilyMemberHistory | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
associatedEncounter | I | 0..1 | Extension(Reference(Encounter)) |
participantR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 1..* | Extension |
function | I | 0..1 | ExtensionBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCodeableConcept | CodeableConcept | ||
actor | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization | CareTeam) | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) |
instantiatesUri | Σ | 0..* | uri |
status | S Σ ?! | 1..1 | codeBinding |
dataAbsentReason | Σ | 0..1 | CodeableConceptBinding |
patient | S Σ I | 1..1 | Reference(Patient) |
date | S Σ | 0..1 | dateTime |
name | S Σ | 0..1 | string |
relationship | S Σ | 1..1 | CodeableConceptBinding |
sex | Σ | 0..1 | CodeableConceptBinding |
born[x] | I | 0..1 | |
bornPeriod | Period | ||
bornDate | date | ||
bornString | string | ||
age[x] | Σ I | 0..1 | |
ageAge | Age | ||
ageRange | Range | ||
ageString | string | ||
estimatedAge | Σ I | 0..1 | boolean |
deceased[x] | Σ | 0..1 | |
deceasedBoolean | boolean | ||
deceasedAge | Age | ||
deceasedRange | Range | ||
deceasedDate | date | ||
deceasedString | string | ||
reasonCode | Σ | 0..* | CodeableConcept |
reasonReference | Σ I | 0..* | Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) |
note | 0..* | Annotation | |
condition | S | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | 1..1 | CodeableConceptBinding | |
outcome | 0..1 | CodeableConceptBinding | |
contributedToDeath | 0..1 | boolean | |
onset[x] | 0..1 | ||
onsetAge | Age | ||
onsetRange | Range | ||
onsetPeriod | Period | ||
onsetString | string | ||
note | 0..* | Annotation |
FamilyMemberHistory | |
Definition | Significant health conditions for a person related to the patient relevant in the context of care for the patient. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
FamilyMemberHistory.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
FamilyMemberHistory.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
FamilyMemberHistory.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
FamilyMemberHistory.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
FamilyMemberHistory.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:associatedEncounter | |
Definition | An associated encounter reference. |
Cardinality | 0...1 |
Type | Extension(Reference(Encounter)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5 | |
Definition | An extension to record who or what participated in the activities related to the family member history. |
Cardinality | 0...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 1...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:function | |
Definition | Distinguishes the type of involvement of the actor in the activities related to the family member history. |
Cardinality | 0...1 |
Type | Extension |
Binding | ParticipationRoleType (extensible) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:function.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:function.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:function.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | function |
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:function.value[x] | |
Definition | This FHIR value set is comprised of Actor participation Type codes, which can be used to value FHIR agents, actors, and other role elements. The codes are intended to express how the agent participated in some activity. Sometimes referred to the agent functional-role relative to the activity. |
Cardinality | 1...1 |
Type | CodeableConcept |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:actor | |
Definition | Indicates who or what participated in the activities related to the family member history. |
Cardinality | 1...1 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:actor.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:actor.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:actor.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | actor |
Mappings |
|
FamilyMemberHistory.extension:participantR5.extension:actor.value[x] | |
Definition | A reference to a Patient, Practitioner, PractitionerRole, RelatedPerson, Device, Organization, or CareTeam. |
Cardinality | 1...1 |
Type | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | Organization | CareTeam) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.extension:participantR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-FamilyMemberHistory.participant |
Mappings |
|
FamilyMemberHistory.extension:participantR5.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 0...0 |
Type | base64Binary |
Invariants |
|
Mappings |
|
FamilyMemberHistory.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.identifier | |
Definition | Business identifiers assigned to this family member history by the performer or other systems which remain constant as the resource is updated and propagates from server to server. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Allows identification of the family member history as it is known by various participating systems and in a way that remains consistent across servers. |
Comments | This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.instantiatesCanonical | |
Definition | The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. |
Cardinality | 0...* |
Type | canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition) |
Summary | True |
Comments | |
Invariants |
|
Mappings |
|
FamilyMemberHistory.instantiatesUri | |
Definition | The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this FamilyMemberHistory. |
Cardinality | 0...* |
Type | uri |
Summary | True |
Comments | This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.status | |
Definition | A code specifying the status of the record of the family history of a specific family member. |
Cardinality | 1...1 |
Type | code |
Binding | A code that identifies the status of the family history record. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.dataAbsentReason | |
Definition | Describes why the family member's history is not available. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing the reason why a family member's history is not available. |
Summary | True |
Requirements | This is a separate element to allow it to have a distinct binding from reasonCode. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.patient | |
Definition | The person who this history concerns. |
Cardinality | 1...1 |
Type | Reference(Patient) |
Must Support | True |
Summary | True |
Alias | Proband |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.date | |
Definition | The date (and possibly time) when the family member history was recorded or last updated. |
Cardinality | 0...1 |
Type | dateTime |
Must Support | True |
Summary | True |
Requirements | Allows determination of how current the summary is. |
Comments | This should be captured even if the same as the date on the List aggregating the full family history. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.name | |
Definition | This will either be a name or a description; e.g. "Aunt Susan", "my cousin with the red hair". |
Cardinality | 0...1 |
Type | string |
Must Support | True |
Summary | True |
Requirements | Allows greater ease in ensuring the same person is being talked about. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
FamilyMemberHistory.relationship | |
Definition | The type of relationship this person has to the patient (father, mother, brother etc.). |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | The nature of the relationship between the patient and the related person being described in the family member history. |
Must Support | True |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.sex | |
Definition | The birth sex of the family member. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing the sex assigned at birth as documented on the birth registration. |
Summary | True |
Requirements | Not all relationship codes imply sex and the relative's sex can be relevant for risk assessments. |
Comments | This element should ideally reflect whether the individual is genetically male or female. However, as reported information based on the knowledge of the patient or reporting friend/relative, there may be situations where the reported sex might not be totally accurate. E.g. 'Aunt Sue' might be XY rather than XX. Questions soliciting this information should be phrased to encourage capture of genetic sex where known. However, systems performing analysis should also allow for the possibility of imprecision with this element. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.born[x] | |
Definition | The actual or approximate date of birth of the relative. |
Cardinality | 0...1 |
Type | Period |
Requirements | Allows calculation of the relative's age. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.age[x] | |
Definition | The age of the relative at the time the family member history is recorded. |
Cardinality | 0...1 |
Type | Age |
Summary | True |
Requirements | While age can be calculated from date of birth, sometimes recording age directly is more natural for clinicians. |
Comments | use estimatedAge to indicate whether the age is actual or not. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.estimatedAge | |
Definition | If true, indicates that the age value specified is an estimated value. |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
Requirements | Clinicians often prefer to specify an estimaged age rather than an age range. |
Comments | This element is labeled as a modifier because the fact that age is estimated can/should change the results of any algorithm that calculates based on the specified age. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.deceased[x] | |
Definition | Deceased flag or the actual or approximate age of the relative at the time of death for the family member history record. |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
Invariants |
|
Mappings |
|
FamilyMemberHistory.reasonCode | |
Definition | Describes why the family member history occurred in coded or textual form. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes indicating why the family member history was done. |
Summary | True |
Comments | Textual reasons can be captured using reasonCode.text. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.reasonReference | |
Definition | Indicates a Condition, Observation, AllergyIntolerance, or QuestionnaireResponse that justifies this family member history event. |
Cardinality | 0...* |
Type | Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.note | |
Definition | This property allows a non condition-specific note to the made about the related person. Ideally, the note would be in the condition property, but this is not always possible. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition | |
Definition | The significant Conditions (or condition) that the family member had. This is a repeating section to allow a system to represent more than one condition per resource, though there is nothing stopping multiple resources - one per condition. |
Cardinality | 0...* |
Type | BackboneElement |
Must Support | True |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
FamilyMemberHistory.condition.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.code | |
Definition | The actual condition specified. Could be a coded condition (like MI or Diabetes) or a less specific string like 'cancer' depending on how much is known about the condition and the capabilities of the creating system. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Identification of the Condition or diagnosis. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.outcome | |
Definition | Indicates what happened following the condition. If the condition resulted in death, deceased date is captured on the relation. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.contributedToDeath | |
Definition | This condition contributed to the cause of death of the related person. If contributedToDeath is not populated, then it is unknown. |
Cardinality | 0...1 |
Type | boolean |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.onset[x] | |
Definition | Either the age of onset, range of approximate age or descriptive string can be recorded. For conditions with multiple occurrences, this describes the first known occurrence. |
Cardinality | 0...1 |
Type | Age |
Requirements | Age of onset of a condition in relatives is predictive of risk for the patient. |
Invariants |
|
Mappings |
|
FamilyMemberHistory.condition.note | |
Definition | An area where general notes can be placed about this specific condition. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
FamilyMemberHistory | Pedigree details/diagram, Disease penetrance | N/A not in scope for HL7v2, could be added as additional DG1 segments related to relatives (representation of family history in HL7v2 still pending investigation) |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_FamilyMemberHistory_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-FamilyMemberHistory-Genomics |
Additional Guidance
extension:genetics-observation
An extension on the FamilyMemberHistory resource to include Observations relevant to Genomic testing/interpretation.
"extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/family-member-history-genetics-observation", "valueReference": { "reference": "Observation/Observation-BloodPressure-Example" } } ],
identifier
This SHOULD be NHS number or local identifier (if NHS number is unavailable e.g. for non UK residents). If a local identifier is used, an assigner SHALL be provided. The FamilyMemberHistory.identifier field SHALL match the identifier used for a RelatedPerson resource if the same person is being referenced.
"identifier": { "system": "urn:oid:2.16.840.1.113883.2.1.3.2.4.18.24", "value": "FT-RWT13521", "assigner": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "RAX" } } } }
status
Used to mark the completeness of a given family member's clinical history. If the history of a family member is expected but no history could be obtained, this element SHOULD be filled with 'health-unknown'.
Assertions regarding absence of relevant history SHOULD follow guidance within the HL7 FHIR R4 FamilyMemberHistory resource.
"status": "completed",
patient
SHALL be present. Reference to the associated proband Patient for which this family history is being obtained. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
relationship
SHALL be present. Relationship between the person the FamilyMemberHistory references and the proband Patient. Clinical histories for each family member are expected to be recorded in separate FamilyMemberHistory resources. If multiple resources are required, both FamilyMemberHistory and related clinical artifacts such as Condition/Observation resources, these MAY be contained within a List resource to improve readability.
"relationship": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", "code": "PRN", "display": "parent" } ] }
Genomics-Observation
Used to represent the bulk of clinical information to be sent alongside a Genomic Test Order, as well as clinical results included within structured Diagnostic Reports.
Observations within Genomics are used to represent a point-in-time observation made about a patient or specimen. This means Observations SHOULD NOT be updated post-submission unless the original Observation has been entered in error or incorrectly coded (in this case, the appropriate status SHALL be used, e.g. entered-in-error or corrected).
For new observations which invalidate previous observations made about a patient, a new Observation resource SHOULD be created, the new observation MAY reference the invalidated observation via the observation-replaces extension.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Observation | UKCore | trial-use |
UKCoreObservation (Observation) | I | Observation | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
triggeredByR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 2..* | Extension |
observation | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Observation) | ||
type | I | 1..1 | ExtensionBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCode | code | ||
reason | I | 0..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueString | string | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
bodyStructureR5 | I | 0..1 | Extension(Reference(BodyStructure)) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
basedOn | Σ I | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
partOf | Σ I | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) |
status | S Σ ?! | 1..1 | codeBinding |
category | S | 0..* | CodeableConceptBinding |
code | S Σ | 1..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Location) |
focus | Σ I | 0..* | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
effective[x] | S Σ | 0..1 | |
effectiveDateTime | dateTime | ||
effectivePeriod | Period | ||
effectiveTiming | Timing | ||
effectiveInstant | instant | ||
issued | Σ | 0..1 | instant |
performer | S Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) |
value[x] | S Σ I | 0..1 | |
valueQuantity | Quantity | ||
valueCodeableConcept | CodeableConcept | ||
valueString | string | ||
valueBoolean | boolean | ||
valueInteger | integer | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueTime | time | ||
valueDateTime | dateTime | ||
valuePeriod | Period | ||
dataAbsentReason | I | 0..1 | CodeableConceptBinding |
interpretation | 0..* | CodeableConceptBinding | |
note | 0..* | Annotation | |
bodySite | 0..1 | CodeableConceptBinding | |
method | 0..1 | CodeableConceptBinding | |
specimen | I | 0..1 | Reference(Specimen) |
device | I | 0..1 | Reference(Device | DeviceMetric) |
referenceRange | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
low | I | 0..1 | SimpleQuantity |
high | I | 0..1 | SimpleQuantity |
type | 0..1 | CodeableConceptBinding | |
appliesTo | 0..* | CodeableConcept | |
age | I | 0..1 | Range |
text | 0..1 | string | |
hasMember | Σ I | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) |
derivedFrom | Σ I | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) |
component | S Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | CodeableConceptBinding |
value[x] | Σ | 0..1 | |
valueQuantity | Quantity | ||
valueCodeableConcept | CodeableConcept | ||
valueString | string | ||
valueBoolean | boolean | ||
valueInteger | integer | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueTime | time | ||
valueDateTime | dateTime | ||
valuePeriod | Period | ||
dataAbsentReason | I | 0..1 | CodeableConceptBinding |
interpretation | 0..* | CodeableConceptBinding | |
referenceRange | 0..* | see (referenceRange) |
Differential from Observation
UKCoreObservation (Observation) | I | Observation | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
triggeredByR5 | I | 0..* | Extension(Complex) |
id | 0..1 | string | |
extension | I | 2..* | Extension |
observation | I | 1..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Observation) | ||
type | I | 1..1 | ExtensionBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueCode | code | ||
reason | I | 0..1 | Extension |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueString | string | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
bodyStructureR5 | I | 0..1 | Extension(Reference(BodyStructure)) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
basedOn | Σ I | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
partOf | Σ I | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) |
status | S Σ ?! | 1..1 | codeBinding |
category | S | 0..* | CodeableConceptBinding |
code | S Σ | 1..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Location) |
focus | Σ I | 0..* | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
effective[x] | S Σ | 0..1 | |
effectiveDateTime | dateTime | ||
effectivePeriod | Period | ||
effectiveTiming | Timing | ||
effectiveInstant | instant | ||
issued | Σ | 0..1 | instant |
performer | S Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) |
value[x] | S Σ I | 0..1 | |
valueQuantity | Quantity | ||
valueCodeableConcept | CodeableConcept | ||
valueString | string | ||
valueBoolean | boolean | ||
valueInteger | integer | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueTime | time | ||
valueDateTime | dateTime | ||
valuePeriod | Period | ||
dataAbsentReason | I | 0..1 | CodeableConceptBinding |
interpretation | 0..* | CodeableConceptBinding | |
note | 0..* | Annotation | |
bodySite | 0..1 | CodeableConceptBinding | |
method | 0..1 | CodeableConceptBinding | |
specimen | I | 0..1 | Reference(Specimen) |
device | I | 0..1 | Reference(Device | DeviceMetric) |
referenceRange | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
low | I | 0..1 | SimpleQuantity |
high | I | 0..1 | SimpleQuantity |
type | 0..1 | CodeableConceptBinding | |
appliesTo | 0..* | CodeableConcept | |
age | I | 0..1 | Range |
text | 0..1 | string | |
hasMember | Σ I | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) |
derivedFrom | Σ I | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) |
component | S Σ | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
code | Σ | 1..1 | CodeableConceptBinding |
value[x] | Σ | 0..1 | |
valueQuantity | Quantity | ||
valueCodeableConcept | CodeableConcept | ||
valueString | string | ||
valueBoolean | boolean | ||
valueInteger | integer | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueTime | time | ||
valueDateTime | dateTime | ||
valuePeriod | Period | ||
dataAbsentReason | I | 0..1 | CodeableConceptBinding |
interpretation | 0..* | CodeableConceptBinding | |
referenceRange | 0..* | see (referenceRange) |
Observation | |
Definition | Measurements and simple assertions made about a patient, device or other subject. |
Cardinality | 0...* |
Alias | Vital Signs, Measurement, Results, Tests |
Comments | Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc. |
Invariants |
|
Mappings |
|
Observation.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Observation.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Observation.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Observation.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Observation.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Observation.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Observation.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5 | |
Definition | Identifies the observation(s) that triggered the performance of this observation. |
Cardinality | 0...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.extension:triggeredByR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 2...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:observation | |
Definition | Reference to the triggering observation. |
Cardinality | 1...1 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:observation.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.extension:triggeredByR5.extension:observation.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:observation.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | observation |
Mappings |
|
Observation.extension:triggeredByR5.extension:observation.value[x] | |
Definition | A reference to the triggering observation. |
Cardinality | 1...1 |
Type | Reference(Observation) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:type | |
Definition | The type of trigger. Reflex | Repeat | Re-run. |
Cardinality | 1...1 |
Type | Extension |
Binding | http://hl7.org/fhir/ValueSet/observation-triggeredbytype (required) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:type.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.extension:triggeredByR5.extension:type.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:type.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | type |
Mappings |
|
Observation.extension:triggeredByR5.extension:type.value[x] | |
Definition | The type of trigger. Reflex | Repeat | Re-run |
Cardinality | 1...1 |
Type | code |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:reason | |
Definition | Provides the reason why this observation was performed as a result of the observation(s) referenced. |
Cardinality | 0...1 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:reason.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.extension:triggeredByR5.extension:reason.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.extension:reason.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | reason |
Mappings |
|
Observation.extension:triggeredByR5.extension:reason.value[x] | |
Definition | Provides the reason why this observation was performed as a result of the observation referenced. |
Cardinality | 1...1 |
Type | string |
Invariants |
|
Mappings |
|
Observation.extension:triggeredByR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-Observation.triggeredBy |
Mappings |
|
Observation.extension:triggeredByR5.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 0...0 |
Type | base64Binary |
Invariants |
|
Mappings |
|
Observation.extension:bodyStructureR5 | |
Definition | Indicates the body structure on the subject's body where the observation was made (i.e. the target site). |
Cardinality | 0...1 |
Type | Extension(Reference(BodyStructure)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.identifier | |
Definition | A unique identifier assigned to this observation. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Allows observations to be distinguished and referenced. |
Invariants |
|
Mappings |
|
Observation.basedOn | |
Definition | A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed. |
Cardinality | 0...* |
Type | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) |
Summary | True |
Alias | Fulfills |
Requirements | Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Observation.partOf | |
Definition | A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure. |
Cardinality | 0...* |
Type | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) |
Summary | True |
Alias | Container |
Comments | To link an Observation to an Encounter use |
Invariants |
|
Mappings |
|
Observation.status | |
Definition | The status of the result value. |
Cardinality | 1...1 |
Type | code |
Binding | Codes providing the status of an observation. |
Must Support | True |
Modifier | True |
Summary | True |
Requirements | Need to track the status of individual results. Some results are finalized before the whole report is finalized. |
Comments | This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
Observation.category | |
Definition | A code that classifies the general type of observation being made. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes for high level observation categories. |
Must Support | True |
Requirements | Used for filtering what observations are retrieved and displayed. |
Comments | In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set. |
Invariants |
|
Mappings |
|
Observation.code | |
Definition | Describes what was observed. Sometimes this is called the observation "name". |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | A code from the SNOMED Clinical Terminology UK coding system describing a type of observation |
Must Support | True |
Summary | True |
Alias | Name |
Requirements | Knowing what kind of observation is being made is essential to understanding the observation. |
Comments | All code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. |
Invariants |
|
Mappings |
|
Observation.subject | |
Definition | The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the `focus` element or the `code` itself specifies the actual focus of the observation. |
Cardinality | 0...1 |
Type | Reference(Patient | Group | Device | Location) |
Must Support | True |
Summary | True |
Requirements | Observations have no value if you don't know who or what they're about. |
Comments | One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated. |
Invariants |
|
Mappings |
|
Observation.focus | |
Definition | The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus. |
Cardinality | 0...* |
Type | Reference(Resource) |
Summary | True |
Comments | Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., "Blood Glucose") and does not need to be represented separately using this element. Use |
Invariants |
|
Mappings |
|
Observation.encounter | |
Definition | The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Alias | Context |
Requirements | For some observations it may be important to know the link between an observation and a particular encounter. |
Comments | This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests). |
Invariants |
|
Mappings |
|
Observation.effective[x] | |
Definition | The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself. |
Cardinality | 0...1 |
Type | dateTime |
Must Support | True |
Summary | True |
Alias | Occurrence |
Requirements | Knowing when an observation was deemed true is important to its relevance as well as determining trends. |
Comments | At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the Timing datatype which allow the measurement to be tied to regular life events. |
Invariants |
|
Mappings |
|
Observation.issued | |
Definition | The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified. |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Comments | For Observations that don’t require review and verification, it may be the same as the |
Invariants |
|
Mappings |
|
Observation.performer | |
Definition | Who was responsible for asserting the observed value as "true". |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) |
Must Support | True |
Summary | True |
Requirements | May give a degree of confidence in the observation and also indicates where follow-up questions should be directed. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Observation.value[x] | |
Definition | The information determined as a result of making the observation, if the information has a simple value. |
Cardinality | 0...1 |
Type | Quantity |
Must Support | True |
Summary | True |
Requirements | An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations. |
Comments | An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below. |
Invariants |
|
Mappings |
|
Observation.dataAbsentReason | |
Definition | Provides a reason why the expected value in the element Observation.value[x] is missing. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes specifying why the result ( |
Requirements | For many results it is necessary to handle exceptional values in measurements. |
Comments | Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values. |
Invariants |
|
Mappings |
|
Observation.interpretation | |
Definition | A categorical assessment of an observation value. For example, high, low, normal. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes identifying interpretations of observations. |
Alias | Abnormal Flag |
Requirements | For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. |
Comments | Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. |
Invariants |
|
Mappings |
|
Observation.note | |
Definition | Comments about the observation or the results. |
Cardinality | 0...* |
Type | Annotation |
Requirements | Need to be able to provide free text additional information. |
Comments | May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation. |
Invariants |
|
Mappings |
|
Observation.bodySite | |
Definition | Indicates the site on the subject's body where the observation was made (i.e. the target site). |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Comments | Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension bodySite. |
Invariants |
|
Mappings |
|
Observation.method | |
Definition | Indicates the mechanism used to perform the observation. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Methods for simple observations. |
Requirements | In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results. |
Comments | Only used if not implicit in code for Observation.code. |
Invariants |
|
Mappings |
|
Observation.specimen | |
Definition | The specimen that was used when this observation was made. |
Cardinality | 0...1 |
Type | Reference(Specimen) |
Comments | Should only be used if not implicit in code found in |
Invariants |
|
Mappings |
|
Observation.device | |
Definition | The device used to generate the observation data. |
Cardinality | 0...1 |
Type | Reference(Device | DeviceMetric) |
Comments | Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant. |
Invariants |
|
Mappings |
|
Observation.referenceRange | |
Definition | Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an "OR". In other words, to represent two distinct target populations, two `referenceRange` elements would be used. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. |
Comments | Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. |
Invariants |
|
Mappings |
|
Observation.referenceRange.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.referenceRange.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.referenceRange.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.referenceRange.low | |
Definition | The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3). |
Cardinality | 0...1 |
Type | SimpleQuantity |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Observation.referenceRange.high | |
Definition | The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3). |
Cardinality | 0...1 |
Type | SimpleQuantity |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Observation.referenceRange.type | |
Definition | Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Code for the meaning of a reference range. |
Requirements | Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc., - for proper interpretation. |
Comments | This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed. |
Invariants |
|
Mappings |
|
Observation.referenceRange.appliesTo | |
Definition | Codes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race. Multiple `appliesTo` are interpreted as an "AND" of the target populations. For example, to represent a target population of African American females, both a code of female and a code for African American would be used. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes identifying the population the reference range applies to. |
Requirements | Need to be able to identify the target population for proper interpretation. |
Comments | This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed. |
Invariants |
|
Mappings |
|
Observation.referenceRange.age | |
Definition | The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so. |
Cardinality | 0...1 |
Type | Range |
Requirements | Some analytes vary greatly over age. |
Comments | The stated low and high value are assumed to have arbitrarily high precision when it comes to determining which values are in the range. I.e. 1.99 is not in the range 2 -> 3. |
Invariants |
|
Mappings |
|
Observation.referenceRange.text | |
Definition | Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of "Negative" or a list or table of "normals". |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Observation.hasMember | |
Definition | This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group. |
Cardinality | 0...* |
Type | Reference(Observation | QuestionnaireResponse | MolecularSequence) |
Summary | True |
Comments | When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see Notes below. Note that a system may calculate results from QuestionnaireResponse into a final score and represent the score as an Observation. |
Invariants |
|
Mappings |
|
Observation.derivedFrom | |
Definition | The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image. |
Cardinality | 0...* |
Type | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) |
Summary | True |
Comments | All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see Notes below. |
Invariants |
|
Mappings |
|
Observation.component | |
Definition | Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations. |
Cardinality | 0...* |
Type | BackboneElement |
Must Support | True |
Summary | True |
Requirements | Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation. |
Comments | For a discussion on the ways Observations can be assembled in groups together see Notes below. |
Invariants |
|
Mappings |
|
Observation.component.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Observation.component.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Observation.component.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Observation.component.code | |
Definition | Describes what was observed. Sometimes this is called the observation "code". |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | A code from the SNOMED Clinical Terminology UK coding system describing a type of observation |
Summary | True |
Requirements | Knowing what kind of observation is being made is essential to understanding the observation. |
Comments | All code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation. |
Invariants |
|
Mappings |
|
Observation.component.value[x] | |
Definition | The information determined as a result of making the observation, if the information has a simple value. |
Cardinality | 0...1 |
Type | Quantity |
Summary | True |
Requirements | An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations. |
Comments | Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below. |
Invariants |
|
Mappings |
|
Observation.component.dataAbsentReason | |
Definition | Provides a reason why the expected value in the element Observation.component.value[x] is missing. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes specifying why the result ( |
Requirements | For many results it is necessary to handle exceptional values in measurements. |
Comments | "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done". The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values. |
Invariants |
|
Mappings |
|
Observation.component.interpretation | |
Definition | A categorical assessment of an observation value. For example, high, low, normal. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes identifying interpretations of observations. |
Alias | Abnormal Flag |
Requirements | For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result. |
Comments | Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result. |
Invariants |
|
Mappings |
|
Observation.component.referenceRange | |
Definition | Guidance on how to interpret the value by comparison to a normal or recommended range. |
Cardinality | 0...* |
Type | see (referenceRange) |
Requirements | Knowing what values are considered "normal" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts. |
Comments | Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties. |
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Observation | Raw specimen/biopsy - Additional specimen/biopsy information, Extracted specimen - Additional specimen information, Further clinical information | OBX segments (may be attached to SPM) |
Observation.code | Patient - Sexual orientation, Patient - Karyotypic sex, Patient - Pregnancy status, Patient - Fetal karyotypic sex, Patient - Is from consanguinous union, Fetus - Karyotypic sex, Fetus - Is testing for fetal loss from 24 weeks of gestation, PLCM activity - DNA concentration, PLCM activity - DNA quantification, PLCM activity - Test outcome code (Many), Raw specimen/biopsy - Taken alive/post mortem, Diabetic complications, Has absent reflexes | OBX-5 with appropriate SNOMED/READ/LOINC code |
Observation.component | Patient - Pregnancy gestation period, Patient - Fetal gestation, Patient - Estimated Delivery Date (EDD), Patient - Pregnancy type, Absent reflexes detail | OBX-14 (compared with other ORC segments), OBR segments with appropriate codes |
Observation.value\[x\] | Patient - Height (m), Raw specimen/biopsy - Skin/Bone affected status, Raw specimen/biopsy - Blasts %, Raw specimen/biopsy - Neoplastic cell content (%), Raw specimen/biopsy - Necrosis, Raw specimen/biopsy - Nucleated cell count, Raw specimen/biopsy - Tumour cellularity, Raw specimen/biopsy - Maternal cell contamination (MCC), Previous non genomic report - Test result value comparator, Previous non genomic report - Test result value unit of measure, Genomic ethnicity, ISTH BAT score, MODY probability calculator score, Patient BMI at time of genomic test request, Patient BMI at time of diagnosis, Maternal BMI at time of request, Paternal BMI at time of request, Birth weight | OBX-5/6 |
Observation.referenceRange.low | Previous non genomic report - Test result reference range low | OBX-7 (before operator) |
Observation.referenceRange.high | Previous non genomic report - Test result reference range high | OBX-7 (after operator) |
Observation.method | Previous non genomic report - Test result test method | OBX-17 |
Observation.referenceRange.text | Previous non genomic report - Test result reference range text | OBX-7 |
Observation.interpretation | Previous non genomic report - Test result clinical summary | OBX-8 |
Observation.bodySite | Subcutaneous fat loss areas, Increased fat deposition areas | OBX-5 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Observation_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Observation-Genomics |
Additional Guidance
extension:observation-replaces
A core extension on the base HL7 International Observation resource. Used to link to previous Observation resources which have been invalidated by this Observation instance, e.g. for cases where a previously present HPO term is now no longer applicable. For new observations which invalidate previous observations made about a patient, the new Observation resource SHOULD be created, and MAY reference the invalidated observation via the observation-replaces extension.
{ "url": "http://hl7.org/fhir/StructureDefinition/observation-replaces", "valueReference": { "reference": "Observation/Observation-IntellectualDisabilityMild-Example" } }
status
SHOULD be marked as final
for most observations unless corrected after submission. Observations within Genomics are used to represent a point-in-time observation made about a patient or specimen. This means Observations should not be updated post-submission unless the original Observation has been entered in error or incorrectly coded (in this case, the appropriate status SHALL be used, e.g. entered-in-error
or corrected
, respectively).
"status": "final",
code
SHALL be present. SNOMED CT coding is preferred, though it is expected that alternative codings will be used depending on the appropriateness for a particular observation e.g. HPO or other codings found within the HL7 International Genomic Reporting IG as their use may already be widespread within Genomics. If a SNOMED CT equivalent exists for a code regularly captured within another CodeSystem, additional 'coding' elements within 'code' SHOULD be provided to aid analytics.
"code": { "coding": [ { "system": "https://hpo.jax.org/app/", "code": "HP:0000105", "display": "Enlarged kidney" } ] },
subject
SHALL be present. Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
focus
For recording the Specimen the observation relates to, when the observation is not related to the patient from which the sample was taken e.g. Sample nucleated cell count.
This can also be used for observations related to the state of the patient at the time of collection e.g. pregnancy status.
"focus": { "reference": "Specimen/Specimen-BloodEDTA-Example" },
effectiveDateTime
It is expected that all Observations SHOULD include the effective time the observation was made, if known, to aid interpretation.
"effectiveDateTime": "2022-07-11T09:00:00Z",
value[x]
The value element SHOULD use the most appropriate data type for the observation in question. Using preferred CodeSystems as specified within HL7 International FHIR R4 or the UK Core. For asserting absence of a particular condition/situation, the finding SHOULD be specified within the 'code' element and 'valueBoolean' set to 'false' or 'valueCodeableConcept' set to an appropriate qualifier value code from SNOMED CT. For an assertion of a particular situation being present, e.g. a Condition or Procedure having been performed, these SHOULD be collected within the relevant clinical resources, alongside additional information needed to inform interpretation.
"valueQuantity": { "value": 6.5, "system": "http://unitsofmeasure.org", "code": "10*12/L" }
component
SHOULD be used to group qualifiers of an observation. In particular, details regarding observations related to a pregnancy SHOULD be added as components on a pregnancy status observation.
Examples of how pregnancy information can be captured within Observations (pregnancy status with EDD, gestation etc. recorded as components) will be added to the Fetus Management Clinical Scenario.
"component": [ { "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "720451000000102", "display": "Assisted conception" } ] } }, { "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "226081000000107", "display": "Gestational age" } ] }, "valueQuantity": { "value": 87, "unit": "day", "system": "http://unitsofmeasure.org", "code": "d" } }, { "code": { "coding": [ { "system": "http://snomed.info/sct", "code": "161714006", "display": "Estimated date of delivery" } ] }, "valueDateTime": "2024-05-01" } ],
Genomics-OperationOutcome
The Genomics OperationOutcome is the same as provided within FHIR R4. The FHIR R4 OperationOutcome is provided below for completeness.
OperationOutcomes are expected for any create or update operations made on the server resulting in validation messages (or any create or update operations made within a transaction bundle). It is not expected that connecting systems would need to construct OperationOutcome resources or submit these to the server, though key elements within the resource are detailed here for receiving systems.
It is expected that all issue codes raised by the Genomic Medicine Service will fall under existing codes bound in the below resource. If further codes are needed, these will be promoted to UK Core for release in a future ballot/sprint.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/OperationOutcome | HL7 International | trial-use |
OperationOutcome | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
issue | Σ | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
severity | Σ | 1..1 | codeBinding |
code | Σ | 1..1 | codeBinding |
details | Σ | 0..1 | CodeableConcept |
diagnostics | Σ | 0..1 | string |
location | Σ | 0..* | string |
expression | Σ | 0..* | string |
Differential from OperationOutcome
OperationOutcome | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
issue | Σ | 1..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
severity | Σ | 1..1 | codeBinding |
code | Σ | 1..1 | codeBinding |
details | Σ | 0..1 | CodeableConcept |
diagnostics | Σ | 0..1 | string |
location | Σ | 0..* | string |
expression | Σ | 0..* | string |
OperationOutcome | |
Definition | A collection of error, warning, or information messages that result from a system action. |
Cardinality | 0...* |
Comments | Can result from the failure of a REST call or be part of the response message returned from a request message. |
Invariants |
|
Mappings |
|
OperationOutcome.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
OperationOutcome.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
OperationOutcome.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
OperationOutcome.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
OperationOutcome.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
OperationOutcome.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
OperationOutcome.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
OperationOutcome.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
OperationOutcome.issue | |
Definition | An error, warning, or information message that results from a system action. |
Cardinality | 1...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
OperationOutcome.issue.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
OperationOutcome.issue.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
OperationOutcome.issue.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
OperationOutcome.issue.severity | |
Definition | Indicates whether the issue indicates a variation from successful processing. |
Cardinality | 1...1 |
Type | code |
Binding | How the issue affects the success of the action. |
Summary | True |
Requirements | Indicates how relevant the issue is to the overall success of the action. |
Comments | This is labeled as "Is Modifier" because applications should not confuse hints and warnings with errors. |
Invariants |
|
Mappings |
|
OperationOutcome.issue.code | |
Definition | Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element. |
Cardinality | 1...1 |
Type | code |
Binding | A code that describes the type of issue. |
Summary | True |
Requirements | Expresses the issue in a human and computer-friendly way, allowing the requesting system to behave differently based on the type of issue. The required element provides a base level of computable interoperability across all systems for processing an outcome, allowing systems to respond appropriately regardless of the internal system error codes returned. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
OperationOutcome.issue.details | |
Definition | Additional details about the error. This may be a text description of the error or a system code that identifies the error. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code that provides details as the exact issue. |
Summary | True |
Comments | A human readable description of the error issue SHOULD be placed in details.text. |
Invariants |
|
Mappings |
|
OperationOutcome.issue.diagnostics | |
Definition | Additional diagnostic information about the issue. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This may be a description of how a value is erroneous, a stack dump to help trace the issue or other troubleshooting information. |
Invariants |
|
Mappings |
|
OperationOutcome.issue.location | |
Definition | This element is deprecated because it is XML specific. It is replaced by issue.expression, which is format independent, and simpler to parse. For resource issues, this will be a simple XPath limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised. For HTTP errors, will be "http." + the parameter name. |
Cardinality | 0...* |
Type | string |
Summary | True |
Requirements | Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily. |
Comments | The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. This element is deprecated, and is being replaced by expression. |
Invariants |
|
Mappings |
|
OperationOutcome.issue.expression | |
Definition | A [simple subset of FHIRPath](fhirpath.html#simple) limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised. |
Cardinality | 0...* |
Type | string |
Summary | True |
Requirements | Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily. |
Comments | The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Additional Guidance
issue
An issue element will be included within the OperationOutcome for each issue that needs to be communicated to the requesting system, e.g. errors, warnings or informational messages. Appropriate 'severity' and 'code' codes will be assigned to help categorization of an messages returned, using the standard HL7 bound ValueSets.
The diagnostics
field will be used to present a human readable version of the message and location
will be used to detail the location within the request payload that resulted in the associated issue/message.
If an error or warning is returned, the 'details' element will be populated with any validation specific messages. Details of the systems and codes used for these messages will be determined by the validation package used by the central order management broker (this is still to be determined at the time of publication).
"issue":[ { "severity":"error", "code":"processing", "details":{ "coding":[ { "system": "http://terminology.hl7.org/CodeSystem/operation-outcome", "code": "MSG_LOCAL_FAIL", "display": "Unable to resolve local reference to resource Patient/Patient-MeirLieberman-Example" } ] }, "diagnostics": "Validation errors occurred during processing", "location": [ "Bundle.entry[1].resource.ofType(ServiceRequest)" ] } ]
Genomics-Organization
Organization is not expected to be sent within Test Order or other interactions with the central GMS. Instead, client systems SHOULD strive to reference organizations via their ODS code and display name only.
The below profile is provided for information, if referencing by ODS code is intractable (though repeated issues with requester ability to reference via ODS code SHOULD be reported to the NHS England Genomic Unit for investigation).
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization | UKCore | trial-use |
UKCoreOrganization (Organization) | I | Organization | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
mainLocation | I | 0..1 | Extension(Reference(Location)) |
organizationPeriod | I | 0..1 | Extension(Period) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valuePeriod | Period | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ I | 0..* | Identifier |
odsOrganisationCode | Σ I | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
odsSiteCode | Σ I | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
active | S Σ ?! | 0..1 | boolean |
type | Σ | 0..* | CodeableConceptBinding |
name | S Σ I | 0..1 | string |
alias | 0..* | string | |
telecom | S I | 0..* | ContactPoint |
address | S I | 0..* | Address |
partOf | Σ I | 0..1 | Reference(Organization) |
contact | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
purpose | 0..1 | CodeableConceptBinding | |
name | 0..1 | HumanName | |
telecom | I | 0..* | ContactPoint |
address | 0..1 | Address | |
endpoint | I | 0..* | Reference(Endpoint) |
Differential from Organization
UKCoreOrganization (Organization) | I | Organization | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
mainLocation | I | 0..1 | Extension(Reference(Location)) |
organizationPeriod | I | 0..1 | Extension(Period) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valuePeriod | Period | ||
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ I | 0..* | Identifier |
odsOrganisationCode | Σ I | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
odsSiteCode | Σ I | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
active | S Σ ?! | 0..1 | boolean |
type | Σ | 0..* | CodeableConceptBinding |
name | S Σ I | 0..1 | string |
alias | 0..* | string | |
telecom | S I | 0..* | ContactPoint |
address | S I | 0..* | Address |
partOf | Σ I | 0..1 | Reference(Organization) |
contact | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
purpose | 0..1 | CodeableConceptBinding | |
name | 0..1 | HumanName | |
telecom | I | 0..* | ContactPoint |
address | 0..1 | Address | |
endpoint | I | 0..* | Reference(Endpoint) |
Organization | |
Definition | A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Organization.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Organization.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Organization.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Organization.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Organization.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Organization.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Organization.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.extension:mainLocation | |
Definition | The main location of the organisation. |
Cardinality | 0...1 |
Type | Extension(Reference(Location)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Organization.extension:organizationPeriod | |
Definition | The date range that this organization SHOULD be considered available. |
Cardinality | 0...1 |
Type | Extension(Period) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Organization.extension:organizationPeriod.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Organization.extension:organizationPeriod.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.extension:organizationPeriod.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/organization-period |
Mappings |
|
Organization.extension:organizationPeriod.value[x] | |
Definition | The date range that this organization SHOULD be considered available. |
Cardinality | 1...1 |
Type | Period |
Invariants |
|
Mappings |
|
Organization.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.identifier | |
Definition | Identifier for the organization that is used to identify the organization across multiple disparate systems. |
Cardinality | 0...* |
Type | Identifier |
Must Support | True |
Summary | True |
Requirements | Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. |
Slicing | Unordered, Open, by system(Value) |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode | |
Definition | Identifier code supplier by the Organisation Data Service. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Organization.identifier:odsOrganisationCode.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode.use | |
Definition | The purpose of this identifier. |
Cardinality | 0...1 |
Type | code |
Binding | Identifies the purpose for this identifier, if known . |
Modifier | True |
Summary | True |
Requirements | Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. |
Comments | Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode.type | |
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
Summary | True |
Requirements | Allows users to make use of identifiers when the identifier system is not known. |
Comments | This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode.system | |
Definition | Establishes the namespace for the value - that is, a URL that describes a set values that are unique. |
Cardinality | 1...1 |
Type | uri |
Summary | True |
Requirements | There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers. |
Comments | Identifier.system is always case sensitive. |
Invariants |
|
Fixed Value | https://fhir.nhs.uk/Id/ods-organization-code |
Mappings |
|
Organization.identifier:odsOrganisationCode.value | |
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. |
Invariants |
|
Examples | General 123456 |
Mappings |
|
Organization.identifier:odsOrganisationCode.period | |
Definition | Time period during which identifier is/was valid for use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Organization.identifier:odsOrganisationCode.assigner | |
Definition | Organization that issued/manages the identifier. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
Comments | The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode | |
Definition | ODS Site code to identify the organisation at site level. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Organizations are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the organization. |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Organization.identifier:odsSiteCode.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode.use | |
Definition | The purpose of this identifier. |
Cardinality | 0...1 |
Type | code |
Binding | Identifies the purpose for this identifier, if known . |
Modifier | True |
Summary | True |
Requirements | Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. |
Comments | Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode.type | |
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
Summary | True |
Requirements | Allows users to make use of identifiers when the identifier system is not known. |
Comments | This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode.system | |
Definition | Establishes the namespace for the value - that is, a URL that describes a set values that are unique. |
Cardinality | 1...1 |
Type | uri |
Summary | True |
Requirements | There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers. |
Comments | Identifier.system is always case sensitive. |
Invariants |
|
Fixed Value | https://fhir.nhs.uk/Id/ods-site-code |
Mappings |
|
Organization.identifier:odsSiteCode.value | |
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. |
Invariants |
|
Examples | General 123456 |
Mappings |
|
Organization.identifier:odsSiteCode.period | |
Definition | Time period during which identifier is/was valid for use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Organization.identifier:odsSiteCode.assigner | |
Definition | Organization that issued/manages the identifier. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
Comments | The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. |
Invariants |
|
Mappings |
|
Organization.active | |
Definition | Whether the organization's record is still in active use. |
Cardinality | 0...1 |
Type | boolean |
Must Support | True |
Modifier | True |
Summary | True |
Requirements | Need a flag to indicate a record is no longer to be used and should generally be hidden for the user in the UI. |
Comments | This active flag is not intended to be used to mark an organization as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used. This element is labeled as a modifier because it may be used to mark that the resource was created in error. |
Invariants |
|
Mappings |
|
Organization.type | |
Definition | The kind(s) of organization that this is. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A set of concepts indicating the organisation type, derived from the base CodeSystem, and Genomics specific concepts |
Summary | True |
Requirements | Need to be able to track the kind of organization that this is - different organization types have different uses. |
Comments | Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes When considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center. We expect that some jurisdictions will profile this optionality to be a single cardinality. |
Invariants |
|
Mappings |
|
Organization.name | |
Definition | A name associated with the organization. |
Cardinality | 0...1 |
Type | string |
Must Support | True |
Summary | True |
Requirements | Need to use the name as the label of the organization. |
Comments | If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches. |
Invariants |
|
Mappings |
|
Organization.alias | |
Definition | A list of alternate names that the organization is known as, or was known as in the past. |
Cardinality | 0...* |
Type | string |
Requirements | Over time locations and organizations go through many changes and can be known by different names. For searching knowing previous names that the organization was known by can be very useful. |
Comments | There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization. |
Invariants |
|
Mappings |
|
Organization.telecom | |
Definition | A contact detail for the organization. |
Cardinality | 0...* |
Type | ContactPoint |
Must Support | True |
Requirements | Human contact for the organization. |
Comments | The use code 'home' is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself. |
Invariants |
|
Mappings |
|
Organization.address | |
Definition | An address for the organization. |
Cardinality | 0...* |
Type | Address |
Must Support | True |
Requirements | May need to keep track of the organization's addresses for contacting, billing or reporting requirements. |
Comments | Organization may have multiple addresses with different uses or applicable periods. The use code 'home' is not to be used. |
Invariants |
|
Mappings |
|
Organization.partOf | |
Definition | The organization of which this organization forms a part. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
Requirements | Need to be able to track the hierarchy of organizations within an organization. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Organization.contact | |
Definition | Contact for the organization for a certain purpose. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Need to keep track of assigned contact points within bigger organization. |
Comments | Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use. |
Invariants |
|
Mappings |
|
Organization.contact.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Organization.contact.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Organization.contact.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Organization.contact.purpose | |
Definition | Indicates a purpose for which the contact can be reached. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The purpose for which you would contact a contact party. |
Requirements | Need to distinguish between multiple contact persons. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Organization.contact.name | |
Definition | A name associated with the contact. |
Cardinality | 0...1 |
Type | HumanName |
Requirements | Need to be able to track the person by name. |
Comments | Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely. |
Invariants |
|
Mappings |
|
Organization.contact.telecom | |
Definition | A contact detail (e.g. a telephone number or an email address) by which the party may be contacted. |
Cardinality | 0...* |
Type | ContactPoint |
Requirements | People have (primary) ways to contact them in some way such as phone, email. |
Invariants |
|
Mappings |
|
Organization.contact.address | |
Definition | Visiting or postal addresses for the contact. |
Cardinality | 0...1 |
Type | Address |
Requirements | May need to keep track of a contact party's address for contacting, billing or reporting requirements. |
Comments | Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource). |
Invariants |
|
Mappings |
|
Organization.endpoint | |
Definition | Technical endpoints providing access to services operated for the organization. |
Cardinality | 0...* |
Type | Reference(Endpoint) |
Requirements | Organizations have multiple systems that provide various services and need to be able to define the technical connection details for how to connect to them, and for what purpose. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Organization.name | Requestor - Organization name, Additional contact - Organization name, address and ODS code | ORC-21 |
Organization.address | Requestor - Organization address, Additional contact - Organization address | ORC-22 |
Organization.identifier | Requestor - Organization ODS code, Additional contact - Organization ODS code, Patient - GP Practice ODS Code, Previous genomic report - Report performer organisation ODS code, Previous genomic report - Original requester organisation ODS code, Previous non genomic report - Report performer organisation ODS code, Previous non genomic report - Original requester organisation ODS code | ORC-21.10, OBX-23.10 |
Organization.partOf | PLCM activity - ODS code of commissioning region | N/A - not in scope for HL7v2 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Organization_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Organization-Genomics |
Genomics-Patient
The focal resource for recording who a test order and genomic report are for.
It is expected that client's will need to post Patient resources to the central GMS as some demographic information specific to Genomics will not have been captured within other systems such as PDS.
For patients included within PDS, it is expected source systems SHOULD only send genomic specific information not recorded against PDS, e.g. birthSex, genomic specific identifiers and a link to the PDS record, as well as the NHS number identifier. (NOTE: examples provided for patient resources are fully expanded to illustrate how information should be structured but any infomation already recorded by PDS SHOULD NOT be duplicated within the genomic order management services). Querying patient demographic information, will be supported using the search parameters provided by the Genomic Order Management Service, whch will pass through parameters to PDS where demographics are stored against this system. Client systems will then be required to follow the PDS link within the Genomics-Patient record to retrieve the PDS patient.
It is a requirement on source systems that patient NHS numbers are traced and verified with PDS, if the patient is registered with PDS, before creation of patient resources on the Genomic Order Management broker
For patients not included on PDS, e.g. private/overseas patients or fetal records, the requester SHOULD send all information necessary to facilitate testing and interpretation of the request. Where this patient is later registered on PDS, identified through assignment of an NHS number, demographic details SHALL be stripped from the genomic record to avoid data duplication.
Alternatively, systems MAY opt to include pointers to the Patient resource on their local system, though the mechanism preferred by the NHS England Genomics Unit has yet to be decided.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Patient | UKCore | trial-use |
UKCorePatient (Patient) | I | Patient | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
birthPlace | I | 0..1 | Extension(Address) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueAddress | Address | ||
birthSex | I | 0..1 | Extension(CodeableConcept) |
cadavericDonor | I | 0..1 | Extension(boolean) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
contactPreference | I | 0..1 | Extension(Complex) |
deathNotificationStatus | I | 0..1 | Extension(Complex) |
ethnicCategory | I | 0..1 | Extension(CodeableConcept) |
fetalStatus | I | 0..1 | Extension(code) |
residentialStatus | I | 0..1 | Extension(CodeableConcept) |
patientInterpreterRequired | I | 0..1 | Extension(boolean) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
nhsNumberUnavailableReason | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
nhsNumber | Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
nhsNumberVerificationStatus | I | 0..1 | Extension(CodeableConcept) |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
active | S Σ ?! | 0..1 | boolean |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
gender | S Σ | 0..1 | codeBinding |
birthDate | S Σ | 0..1 | date |
id | 0..1 | string | |
extension | I | 0..* | Extension |
birthTime | I | 0..1 | Extension(dateTime) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueDateTime | dateTime | ||
value | 0..1 | System.Date | |
deceased[x] | Σ ?! | 0..1 | |
deceasedBoolean | boolean | ||
deceasedDateTime | dateTime | ||
address | S Σ | 0..* | Address |
id | 0..1 | string | |
extension | I | 0..* | Extension |
addressKey | I | 0..* | Extension(Complex) |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | codeBinding |
text | Σ | 0..1 | string |
line | Σ | 0..* | string |
city | Σ | 0..1 | string |
district | Σ | 0..1 | string |
state | Σ | 0..1 | string |
postalCode | Σ | 0..1 | string |
country | Σ | 0..1 | string |
period | Σ I | 0..1 | Period |
maritalStatus | 0..1 | CodeableConceptBinding | |
multipleBirth[x] | 0..1 | ||
multipleBirthBoolean | boolean | ||
multipleBirthInteger | integer | ||
photo | I | 0..* | Attachment |
contact | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contactRank | I | 0..1 | Extension(positiveInt) |
copyCorrespondenceIndicator | I | 0..1 | Extension(boolean) |
modifierExtension | Σ ?! I | 0..* | Extension |
relationship | 0..* | CodeableConceptBinding | |
name | 0..1 | HumanName | |
telecom | I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
address | 0..1 | Address | |
gender | 0..1 | codeBinding | |
organization | I | 0..1 | Reference(Organization) |
period | I | 0..1 | Period |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
proficiency | I | 0..1 | Extension(Complex) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
level | I | 0..1 | Extension |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | Binding | |
valueCoding | Coding | ||
type | I | 0..* | Extension |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | Binding | |
valueCoding | Coding | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | Σ ?! I | 0..* | Extension |
language | 1..1 | CodeableConceptBinding | |
preferred | 0..1 | boolean | |
generalPractitioner | I | 0..* | Reference(Organization | Practitioner | PractitionerRole) |
managingOrganization | S Σ I | 0..1 | Reference(Organization) |
link | Σ ?! | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
other | Σ I | 1..1 | Reference(Patient | RelatedPerson) |
type | Σ | 1..1 | codeBinding |
Differential from Patient
UKCorePatient (Patient) | I | Patient | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
birthPlace | I | 0..1 | Extension(Address) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueAddress | Address | ||
birthSex | I | 0..1 | Extension(CodeableConcept) |
cadavericDonor | I | 0..1 | Extension(boolean) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
contactPreference | I | 0..1 | Extension(Complex) |
deathNotificationStatus | I | 0..1 | Extension(Complex) |
ethnicCategory | I | 0..1 | Extension(CodeableConcept) |
fetalStatus | I | 0..1 | Extension(code) |
residentialStatus | I | 0..1 | Extension(CodeableConcept) |
patientInterpreterRequired | I | 0..1 | Extension(boolean) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
nhsNumberUnavailableReason | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
nhsNumber | Σ | 0..1 | Identifier |
id | 0..1 | string | |
extension | I | 0..* | Extension |
nhsNumberVerificationStatus | I | 0..1 | Extension(CodeableConcept) |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | CodeableConceptBinding |
system | Σ | 1..1 | uriFixed Value |
value | Σ | 1..1 | string |
period | Σ I | 0..1 | Period |
assigner | Σ I | 0..1 | Reference(Organization) |
active | S Σ ?! | 0..1 | boolean |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
gender | S Σ | 0..1 | codeBinding |
birthDate | S Σ | 0..1 | date |
id | 0..1 | string | |
extension | I | 0..* | Extension |
birthTime | I | 0..1 | Extension(dateTime) |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueDateTime | dateTime | ||
value | 0..1 | System.Date | |
deceased[x] | Σ ?! | 0..1 | |
deceasedBoolean | boolean | ||
deceasedDateTime | dateTime | ||
address | S Σ | 0..* | Address |
id | 0..1 | string | |
extension | I | 0..* | Extension |
addressKey | I | 0..* | Extension(Complex) |
use | Σ ?! | 0..1 | codeBinding |
type | Σ | 0..1 | codeBinding |
text | Σ | 0..1 | string |
line | Σ | 0..* | string |
city | Σ | 0..1 | string |
district | Σ | 0..1 | string |
state | Σ | 0..1 | string |
postalCode | Σ | 0..1 | string |
country | Σ | 0..1 | string |
period | Σ I | 0..1 | Period |
maritalStatus | 0..1 | CodeableConceptBinding | |
multipleBirth[x] | 0..1 | ||
multipleBirthBoolean | boolean | ||
multipleBirthInteger | integer | ||
photo | I | 0..* | Attachment |
contact | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
contactRank | I | 0..1 | Extension(positiveInt) |
copyCorrespondenceIndicator | I | 0..1 | Extension(boolean) |
modifierExtension | Σ ?! I | 0..* | Extension |
relationship | 0..* | CodeableConceptBinding | |
name | 0..1 | HumanName | |
telecom | I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
address | 0..1 | Address | |
gender | 0..1 | codeBinding | |
organization | I | 0..1 | Reference(Organization) |
period | I | 0..1 | Period |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
proficiency | I | 0..1 | Extension(Complex) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
level | I | 0..1 | Extension |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | Binding | |
valueCoding | Coding | ||
type | I | 0..* | Extension |
id | 0..1 | string | |
extension | I | 0..0 | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | Binding | |
valueCoding | Coding | ||
url | 1..1 | uriFixed Value | |
value[x] | 0..0 | ||
modifierExtension | Σ ?! I | 0..* | Extension |
language | 1..1 | CodeableConceptBinding | |
preferred | 0..1 | boolean | |
generalPractitioner | I | 0..* | Reference(Organization | Practitioner | PractitionerRole) |
managingOrganization | S Σ I | 0..1 | Reference(Organization) |
link | Σ ?! | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
other | Σ I | 1..1 | Reference(Patient | RelatedPerson) |
type | Σ | 1..1 | codeBinding |
Patient | |
Definition | Demographics and other administrative information about an individual or animal receiving care or other health-related services. |
Cardinality | 0...* |
Alias | SubjectOfCare Client Resident |
Invariants |
|
Mappings |
|
Patient.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Patient.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Patient.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Patient.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Patient.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Patient.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Patient.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.extension:birthPlace | |
Definition | The registered place of birth of the patient. |
Cardinality | 0...1 |
Type | Extension(Address) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:birthPlace.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.extension:birthPlace.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.extension:birthPlace.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/patient-birthPlace |
Mappings |
|
Patient.extension:birthPlace.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | Address |
Invariants |
|
Mappings |
|
Patient.extension:birthSex | |
Definition | The patient's phenotypic sex at birth. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:cadavericDonor | |
Definition | Flag indicating whether the patient authorized the donation of body parts after death. |
Cardinality | 0...1 |
Type | Extension(boolean) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:cadavericDonor.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.extension:cadavericDonor.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.extension:cadavericDonor.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/patient-cadavericDonor |
Mappings |
|
Patient.extension:cadavericDonor.value[x] | |
Definition | Flag indicating whether the patient authorized the donation of body parts after death. |
Cardinality | 1...1 |
Type | boolean |
Invariants |
|
Mappings |
|
Patient.extension:contactPreference | |
Definition | The preferred method of contact, contact times and written communication format given by a Patient or Related Person. |
Cardinality | 0...1 |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:deathNotificationStatus | |
Definition | The patient's death notification status. |
Cardinality | 0...1 |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:ethnicCategory | |
Definition | The ethnicity of the subject. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:fetalStatus | |
Definition | Typically used in maternity where the patient record may be created before the birth of the baby. |
Cardinality | 0...1 |
Type | Extension(code) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:residentialStatus | |
Definition | The residential status of the patient. For example if this patient is a UK resident. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.extension:patientInterpreterRequired | |
Definition | This Patient requires an interpreter to communicate healthcare information to the practitioner. |
Cardinality | 0...1 |
Type | Extension(boolean) |
Alias | extensions, user content |
Comments | The Patient does not speak the default language of the organization, and hence requires an interpreter. If the patient has other languages in the Communications list, then that would be the type of interpreter required. |
Invariants |
|
Mappings |
|
Patient.extension:patientInterpreterRequired.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.extension:patientInterpreterRequired.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.extension:patientInterpreterRequired.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/patient-interpreterRequired |
Mappings |
|
Patient.extension:patientInterpreterRequired.value[x] | |
Definition | Indicator showing if this Patient requires an interpreter to communicate healthcare information to the practitioner. |
Cardinality | 1...1 |
Type | boolean |
Invariants |
|
Mappings |
|
Patient.extension:nhsNumberUnavailableReason | |
Definition | The reason why a patient does not have an NHS Number. For example if this patient is an overseas patient. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.identifier | |
Definition | An identifier for this patient. |
Cardinality | 0...* |
Type | Identifier |
Must Support | True |
Summary | True |
Requirements | Patients are almost always assigned specific numerical identifiers. |
Slicing | Unordered, Open, by system(Value) |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber | |
Definition | An identifier for this patient. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Patients are almost always assigned specific numerical identifiers. |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.identifier:nhsNumber.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.extension:nhsNumberVerificationStatus | |
Definition | The verification/tracing status of the NHS number. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.use | |
Definition | The purpose of this identifier. |
Cardinality | 0...1 |
Type | code |
Binding | Identifies the purpose for this identifier, if known . |
Modifier | True |
Summary | True |
Requirements | Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers. |
Comments | Applications can assume that an identifier is permanent unless it explicitly says that it is temporary. |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.type | |
Definition | A coded type for the identifier that can be used to determine which identifier to use for a specific purpose. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
Summary | True |
Requirements | Allows users to make use of identifiers when the identifier system is not known. |
Comments | This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type. |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.system | |
Definition | Establishes the namespace for the value - that is, a URL that describes a set values that are unique. |
Cardinality | 1...1 |
Type | uri |
Summary | True |
Requirements | There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers. |
Comments | Identifier.system is always case sensitive. |
Invariants |
|
Fixed Value | https://fhir.nhs.uk/Id/nhs-number |
Mappings |
|
Patient.identifier:nhsNumber.value | |
Definition | The portion of the identifier typically relevant to the user and which is unique within the context of the system. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe. |
Invariants |
|
Examples | General 123456 |
Mappings |
|
Patient.identifier:nhsNumber.period | |
Definition | Time period during which identifier is/was valid for use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Patient.identifier:nhsNumber.assigner | |
Definition | Organization that issued/manages the identifier. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Summary | True |
Comments | The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization. |
Invariants |
|
Mappings |
|
Patient.active | |
Definition | Whether this patient record is in active use. Many systems use this property to mark as non-current patients, such as those that have not been seen for a period of time based on an organization's business rules. It is often used to filter patient lists to exclude inactive patients Deceased patients may also be marked as inactive for the same reasons, but may be active for some time after death. |
Cardinality | 0...1 |
Type | boolean |
Must Support | True |
Modifier | True |
Summary | True |
Requirements | Need to be able to mark a patient record as not to be used because it was created in error. |
Comments | If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient. |
Invariants |
|
Mappings |
|
Patient.name | |
Definition | A name associated with the individual. |
Cardinality | 0...* |
Type | HumanName |
Must Support | True |
Summary | True |
Requirements | Need to be able to track the patient by multiple names. Examples are your official name and a partner name. |
Comments | A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns. |
Invariants |
|
Mappings |
|
Patient.telecom | |
Definition | A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted. |
Cardinality | 0...* |
Type | ContactPoint |
Must Support | True |
Summary | True |
Requirements | People have (primary) ways to contact them in some way such as phone, email. |
Comments | A Patient may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and also to help with identification. The address might not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone). |
Invariants |
|
Mappings |
|
Patient.telecom.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.telecom.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.telecom.system | |
Definition | Telecommunications form for contact point - what communications system is required to make use of the contact. |
Cardinality | 0...1 |
Type | code |
Binding | Telecommunications form for contact point. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Patient.telecom.system.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.telecom.system.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.telecom.system.extension:otherContactSystem | |
Definition | Other contact system value which extends the system element in the ContactPoint datatype. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.telecom.system.value | |
Definition | Primitive value for code |
Cardinality | 0...1 |
Type | System.String |
Patient.telecom.value | |
Definition | The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Need to support legacy numbers that are not in a tightly controlled format. |
Comments | Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. |
Invariants |
|
Mappings |
|
Patient.telecom.use | |
Definition | Identifies the purpose for the contact point. |
Cardinality | 0...1 |
Type | code |
Binding | Use of contact point. |
Modifier | True |
Summary | True |
Requirements | Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. |
Comments | Applications can assume that a contact is current unless it explicitly says that it is temporary or old. |
Invariants |
|
Mappings |
|
Patient.telecom.rank | |
Definition | Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values. |
Cardinality | 0...1 |
Type | positiveInt |
Summary | True |
Comments | Note that rank does not necessarily follow the order in which the contacts are represented in the instance. |
Invariants |
|
Mappings |
|
Patient.telecom.period | |
Definition | Time period when the contact point was/is in use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Patient.gender | |
Definition | Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes. |
Cardinality | 0...1 |
Type | code |
Binding | The gender of a person used for administrative purposes. |
Must Support | True |
Summary | True |
Requirements | Needed for identification of the individual, in combination with (at least) name and birth date. |
Comments | The gender might not match the biological sex as determined by genetics or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than male and female, though the vast majority of systems and contexts only support male and female. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific sex or gender aspect of interest (anatomical, chromosomal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosomal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overridable error, not a "hard" error. See the Patient Gender and Sex section for additional information about communicating patient gender and sex. |
Invariants |
|
Mappings |
|
Patient.birthDate | |
Definition | The date of birth for the individual. |
Cardinality | 0...1 |
Type | date |
Must Support | True |
Summary | True |
Requirements | Age of the individual drives many clinical processes. |
Comments | At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternity/infant care systems). |
Invariants |
|
Mappings |
|
Patient.birthDate.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.birthDate.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.birthDate.extension:birthTime | |
Definition | The time of day that the patient was born. This includes the date to ensure that the timezone information can be communicated effectively. |
Cardinality | 0...1 |
Type | Extension(dateTime) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.birthDate.extension:birthTime.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.birthDate.extension:birthTime.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.birthDate.extension:birthTime.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/patient-birthTime |
Mappings |
|
Patient.birthDate.extension:birthTime.value[x] | |
Definition | The time of day that the patient was born. This includes the date to ensure that the timezone information can be communicated effectively. |
Cardinality | 1...1 |
Type | dateTime |
Invariants |
|
Mappings |
|
Patient.birthDate.value | |
Definition | Primitive value for date |
Cardinality | 0...1 |
Type | System.Date |
Patient.deceased[x] | |
Definition | Indicates if the individual is deceased or not. |
Cardinality | 0...1 |
Type | boolean |
Modifier | True |
Summary | True |
Requirements | The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive. |
Comments | If there's no value in the instance, it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. |
Invariants |
|
Mappings |
|
Patient.address | |
Definition | An address for the individual. |
Cardinality | 0...* |
Type | Address |
Must Support | True |
Summary | True |
Requirements | May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification. |
Comments | Patient may have multiple addresses with different uses or applicable periods. |
Invariants |
|
Mappings |
|
Patient.address.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.address.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.address.extension:addressKey | |
Definition | A patient's address key and type. |
Cardinality | 0...* |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.address.use | |
Definition | The purpose of this address. |
Cardinality | 0...1 |
Type | code |
Binding | The use of an address. |
Modifier | True |
Summary | True |
Requirements | Allows an appropriate address to be chosen from a list of many. |
Comments | Applications can assume that an address is current unless it explicitly says that it is temporary or old. |
Invariants |
|
Examples | General home |
Mappings |
|
Patient.address.type | |
Definition | Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both. |
Cardinality | 0...1 |
Type | code |
Binding | The type of an address (physical / postal). |
Summary | True |
Comments | The definition of Address states that "address is intended to describe postal addresses, not physical locations". However, many applications track whether an address has a dual purpose of being a location that can be visited as well as being a valid delivery destination, and Postal addresses are often used as proxies for physical locations (also see the Location resource). |
Invariants |
|
Examples | General both |
Mappings |
|
Patient.address.text | |
Definition | Specifies the entire address as it should be displayed e.g. on a postal label. This may be provided instead of or as well as the specific parts. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | A renderable, unencoded form. |
Comments | Can provide both a text representation and parts. Applications updating an address SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part. |
Invariants |
|
Examples | General 137 Nowhere Street, Erewhon 9132 |
Mappings |
|
Patient.address.line | |
Definition | This component contains the house number, apartment number, street name, street direction, P.O. Box number, delivery hints, and similar address information. |
Cardinality | 0...* |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Examples | General 137 Nowhere Street |
Mappings |
|
Patient.address.city | |
Definition | The name of the city, town, suburb, village or other community or delivery center. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Alias | Municpality |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Examples | General Erewhon |
Mappings |
|
Patient.address.district | |
Definition | The name of the administrative area (county). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Alias | County |
Comments | District is sometimes known as county, but in some regions 'county' is used in place of city (municipality), so county name should be conveyed in city instead. |
Invariants |
|
Examples | General Madison |
Mappings |
|
Patient.address.state | |
Definition | Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (e.g. US 2 letter state codes). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Alias | Province, Territory |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Patient.address.postalCode | |
Definition | A postal code designating a region defined by the postal service. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Alias | Zip |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Examples | General 9132 |
Mappings |
|
Patient.address.country | |
Definition | Country - a nation as commonly understood or generally accepted. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | ISO 3166 3 letter codes can be used in place of a human readable country name. |
Invariants |
|
Mappings |
|
Patient.address.period | |
Definition | Time period when address was/is in use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Requirements | Allows addresses to be placed in historical context. |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Examples | General { "start": "2010-03-23", "end": "2010-07-01" } |
Mappings |
|
Patient.maritalStatus | |
Definition | This field contains a patient's most recent marital (civil) status. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | An indicator to identify the legal marital status of a person |
Requirements | Most, if not all systems capture it. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Patient.multipleBirth[x] | |
Definition | Indicates whether the patient is part of a multiple (boolean) or indicates the actual birth order (integer). |
Cardinality | 0...1 |
Type | boolean |
Requirements | For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs. |
Comments | Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in triplets would be valueInteger=2 and the third born would have valueInteger=3 If a boolean value was provided for this triplets example, then all 3 patient records would have valueBoolean=true (the ordering is not indicated). |
Invariants |
|
Mappings |
|
Patient.photo | |
Definition | Image of the patient. |
Cardinality | 0...* |
Type | Attachment |
Requirements | Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too. |
Comments | Guidelines:
|
Invariants |
|
Mappings |
|
Patient.contact | |
Definition | A contact party (e.g. guardian, partner, friend) for the patient. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Need to track people you can contact about the patient. |
Comments | Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact. |
Invariants |
|
Mappings |
|
Patient.contact.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.contact.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.contact.extension:contactRank | |
Definition | The preferred ranking or order of contact applied to a contact on a patient's contact list. |
Cardinality | 0...1 |
Type | Extension(positiveInt) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.contact.extension:copyCorrespondenceIndicator | |
Definition | Extension carrying a boolean indicator showing that a patient's contact or related person SHALL be copied in to patient correspondence. |
Cardinality | 0...1 |
Type | Extension(boolean) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.contact.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.contact.relationship | |
Definition | The nature of the relationship between the patient and the contact person. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The nature of the relationship between a patient and a contact person for that patient. |
Requirements | Used to determine which contact person is the most relevant to approach, depending on circumstances. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Patient.contact.name | |
Definition | A name associated with the contact person. |
Cardinality | 0...1 |
Type | HumanName |
Requirements | Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person. |
Comments | Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely. |
Invariants |
|
Mappings |
|
Patient.contact.telecom | |
Definition | A contact detail for the person, e.g. a telephone number or an email address. |
Cardinality | 0...* |
Type | ContactPoint |
Requirements | People have (primary) ways to contact them in some way such as phone, email. |
Comments | Contact may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. |
Invariants |
|
Mappings |
|
Patient.contact.telecom.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.contact.telecom.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.contact.telecom.system | |
Definition | Telecommunications form for contact point - what communications system is required to make use of the contact. |
Cardinality | 0...1 |
Type | code |
Binding | Telecommunications form for contact point. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Patient.contact.telecom.system.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.contact.telecom.system.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.contact.telecom.system.extension:otherContactSystem | |
Definition | Other contact system value which extends the system element in the ContactPoint datatype. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.contact.telecom.system.value | |
Definition | Primitive value for code |
Cardinality | 0...1 |
Type | System.String |
Patient.contact.telecom.value | |
Definition | The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Need to support legacy numbers that are not in a tightly controlled format. |
Comments | Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. |
Invariants |
|
Mappings |
|
Patient.contact.telecom.use | |
Definition | Identifies the purpose for the contact point. |
Cardinality | 0...1 |
Type | code |
Binding | Use of contact point. |
Modifier | True |
Summary | True |
Requirements | Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. |
Comments | Applications can assume that a contact is current unless it explicitly says that it is temporary or old. |
Invariants |
|
Mappings |
|
Patient.contact.telecom.rank | |
Definition | Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values. |
Cardinality | 0...1 |
Type | positiveInt |
Summary | True |
Comments | Note that rank does not necessarily follow the order in which the contacts are represented in the instance. |
Invariants |
|
Mappings |
|
Patient.contact.telecom.period | |
Definition | Time period when the contact point was/is in use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Patient.contact.address | |
Definition | Address for the contact person. |
Cardinality | 0...1 |
Type | Address |
Requirements | Need to keep track where the contact person can be contacted per postal mail or visited. |
Comments | Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource). |
Invariants |
|
Mappings |
|
Patient.contact.gender | |
Definition | Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes. |
Cardinality | 0...1 |
Type | code |
Binding | The gender of a person used for administrative purposes. |
Requirements | Needed to address the person correctly. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Patient.contact.organization | |
Definition | Organization on behalf of which the contact is acting or for which the contact is working. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Requirements | For guardians or business related contacts, the organization is relevant. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Patient.contact.period | |
Definition | The period during which this contact person or organization is valid to be contacted relating to this patient. |
Cardinality | 0...1 |
Type | Period |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Patient.communication | |
Definition | A language which may be used to communicate with the patient about his or her health. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency are important things to keep track of both for patient and other persons of interest. |
Comments | If no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. |
Invariants |
|
Mappings |
|
Patient.communication.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.communication.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency | |
Definition | Proficiency level of the communication. |
Cardinality | 0...1 |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.communication.extension:proficiency.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:level | |
Definition | How well the patient can communicate this communication (good, poor, etc.). |
Cardinality | 0...1 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:level.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.communication.extension:proficiency.extension:level.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:level.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | level |
Mappings |
|
Patient.communication.extension:proficiency.extension:level.value[x] | |
Definition | The proficiency level for the communication. |
Cardinality | 1...1 |
Type | Coding |
Binding | The proficiency level for the communication. |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:type | |
Definition | What type of communication for the proficiency (spoken, written, etc.). |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:type.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.communication.extension:proficiency.extension:type.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...0 |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.extension:type.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | type |
Mappings |
|
Patient.communication.extension:proficiency.extension:type.value[x] | |
Definition | The proficiency type for the communication. |
Cardinality | 1...1 |
Type | Coding |
Binding | The proficiency type for the communication. |
Invariants |
|
Mappings |
|
Patient.communication.extension:proficiency.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/StructureDefinition/patient-proficiency |
Mappings |
|
Patient.communication.extension:proficiency.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 0...0 |
Type | base64Binary |
Invariants |
|
Mappings |
|
Patient.communication.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.communication.language | |
Definition | A ValueSet that identifies the language used by a person. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | A ValueSet that identifies the language used by a person. |
Requirements | Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect. |
Comments | The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. |
Invariants |
|
Mappings |
|
Patient.communication.preferred | |
Definition | Indicates whether or not the patient prefers this language (over other languages he masters up a certain level). |
Cardinality | 0...1 |
Type | boolean |
Requirements | People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method. |
Comments | This language is specifically identified for communicating healthcare information. |
Invariants |
|
Mappings |
|
Patient.generalPractitioner | |
Definition | Patient's nominated care provider. |
Cardinality | 0...* |
Type | Reference(Organization | Practitioner | PractitionerRole) |
Alias | careProvider |
Comments | This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type. |
Invariants |
|
Mappings |
|
Patient.managingOrganization | |
Definition | Organization that is the custodian of the patient record. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Must Support | True |
Summary | True |
Requirements | Need to know who recognizes this patient record, manages and updates it. |
Comments | There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association). |
Invariants |
|
Mappings |
|
Patient.link | |
Definition | Link to another patient resource that concerns the same actual patient. |
Cardinality | 0...* |
Type | BackboneElement |
Modifier | True |
Summary | True |
Requirements | There are multiple use cases:
|
Comments | There is no assumption that linked patient records have mutual links. |
Invariants |
|
Mappings |
|
Patient.link.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Patient.link.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Patient.link.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Patient.link.other | |
Definition | The other patient resource that the link refers to. |
Cardinality | 1...1 |
Type | Reference(Patient | RelatedPerson) |
Summary | True |
Comments | Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual. |
Invariants |
|
Mappings |
|
Patient.link.type | |
Definition | The type of link between this patient resource and another patient resource. |
Cardinality | 1...1 |
Type | code |
Binding | The type of link between this patient resource and another patient resource. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Patient.identifier | Patient - NHS number, Patient - Local identifier, Patient - Pedigree/Family Identifier, Fetus - Local identifier, Previous genomic report - Patient's NHS number, Previous genomic report - Patient's alternative identifier, Previous genomic report - Patient's clinical genetics number, Previous genomic report - Patient's pedigree number | PID-3 |
Patient.extension:nhsNumberUnavailableReason | Patient - Reason for unavailable NHS number, Patient - Withheld identity reason | N/A, could use PID-32 as surrogate |
Patient.name.prefix | Patient - Title | PID-5.5 |
Patient.name.given | Patient - First name, Previous genomic report - Patient's first name | PID-5.2 |
Patient.name.family | Patient - Surname, Previous genomic report - Patient's surname | PID-5.1 |
Patient.birthDate | Patient - Date of birth, PLCM activity - Patient age at activity date, Previous genomic report - Patient's date of birth | PID-7, Age derived from the difference between PID-7 and TQ1-7 for the relevant activity |
Patient.address | Patient - Address, Previous genomic report - Patient's address | PID-11 |
Patient.address.postalCode | Patient - Postcode, Previous genomic report - Patient's post code | PID-11.5 |
Patient.address.country | Patient - Country, Previous genomic report - Patient's country | PID-11.6 |
Patient.deceasedBoolean | Patient - Life status at time of request | PID-30 |
Patient.deceasedDateTime | Patient - Date of death | PID-29 |
Patient.extension:EthnicCategory | Patient - Ethnicity | PID-22 |
Patient.extension:birthSex | Patient - Sex assigned at birth | PID-8 |
Patient.extension:patient-genderIdentity | Patient - Gender Identity | N/A - not part of the HL7v2 standard, though PID-8 or an OBX segment could be used |
Patient.generalPractitioner | Patient - GP Practice ODS Code, Patient - GP full name, Patient - GP GMC number | PD1-4 |
Patient.gender | Fetus - Observed sex | PID-8 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Patient_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Patient-Genomics |
Additional Guidance
extension:UKCore-birthSex
Extension used for recording the phenotypic sex of the patient, as recorded at birth.
{ "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BirthSex", "valueCodeableConcept": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender", "code": "M", "display": "Male" } ] } }
identifier
SHALL be present for Patients within the Genomic Order Management ecosystem. It is preferred that all patients with an NHS number have this included within the Patient resource upon submission of a test order. Patient who do not have an NHS number SHOULD have a temporary one registered/assigned with PDS.
For patient records where the NHS number has been traced from PDS, the trace status SHOULD be provided within the NHS Number identifier slice.
Additional identifiers SHOULD include an appropriate naming system scheme which clearly identifies the assigner (to disambiguate the identifier from other resources where these are not nationally unique). Alternatively, the OID for local identifier MAY be used, with the 'assigner' organization explicitly referenced.
"identifier": [ { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307946", "extension": [ { "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-NHSNumberVerificationStatus", "valueCodeableConcept": { "coding": [ { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-NHSNumberVerificationStatusEngland", "version": "2.2.0", "code": "01", "display": "Number present and verified" } ] } } ] }, { "system": "urn:oid:2.16.840.1.113883.2.1.3.2.4.18.24", "value": "RWT14789", "assigner": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "RAX01" } } } ],
generalPractitioner
Where patients are registered with a General Practitioner within the UK, both the ODS code for the practice and GMP number for the practitioner SHOULD be provided, where known, as separate objects within the generalPractitioner array.
"generalPractitioner": [ { "identifier": { "system": "https://fhir.hl7.org.uk/Id/gmp-number", "value": "G9999999" }, "display": "Dr. Aero Smith" }, { "identifier": { "system": "https://fhir.hl7.org.uk/Id/ODS-code", "value": "AP123" }, "display": "anywhere place" } ],
link
For patient records where additional information exists elsewhere, for example, within PDS or the source system EHR, this MAY be referenced through the link field, specifying the url through which the related patient information can be accessed.
"link": [ { "other": { "reference": "https://api.service.nhs.uk/personal-demographics/FHIR/R4/Patient/9449307946" }, "type": "seealso" } ]
Genomics-Practitioner
Practitioner is not expected to be sent within Test Order or other interactions with the central GMS. Instead, client systems SHOULD strive to reference practitioners via their identifier within a national coding system and display name only.
The below profile is provided for information, if referencing by identifier is intractable (though repeated issues with requester ability to reference via identifier/code SHOULD be reported to the NHS England Genomic Unit for investigation).
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Practitioner | UKCore | trial-use |
UKCorePractitioner (Practitioner) | I | Practitioner | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
active | Σ | 0..1 | boolean |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
address | Σ | 0..* | Address |
gender | Σ | 0..1 | codeBinding |
birthDate | Σ | 0..1 | date |
photo | I | 0..* | Attachment |
qualification | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
identifier | 0..* | Identifier | |
code | 1..1 | CodeableConcept | |
period | I | 0..1 | Period |
issuer | I | 0..1 | Reference(Organization) |
communication | 0..* | CodeableConceptBinding |
Differential from Practitioner
UKCorePractitioner (Practitioner) | I | Practitioner | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | S Σ | 0..* | Identifier |
active | Σ | 0..1 | boolean |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
address | Σ | 0..* | Address |
gender | Σ | 0..1 | codeBinding |
birthDate | Σ | 0..1 | date |
photo | I | 0..* | Attachment |
qualification | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
identifier | 0..* | Identifier | |
code | 1..1 | CodeableConcept | |
period | I | 0..1 | Period |
issuer | I | 0..1 | Reference(Organization) |
communication | 0..* | CodeableConceptBinding |
Practitioner | |
Definition | A person who is directly or indirectly involved in the provisioning of healthcare. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Practitioner.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Practitioner.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Practitioner.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Practitioner.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Practitioner.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Practitioner.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Practitioner.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Practitioner.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Practitioner.identifier | |
Definition | An identifier that applies to this person in this role. |
Cardinality | 0...* |
Type | Identifier |
Must Support | True |
Summary | True |
Requirements | Often, specific identities are assigned for the agent. |
Invariants |
|
Mappings |
|
Practitioner.active | |
Definition | Whether this practitioner's record is in active use. |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
Requirements | Need to be able to mark a practitioner record as not to be used because it was created in error. |
Comments | If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role. |
Invariants |
|
Mappings |
|
Practitioner.name | |
Definition | The name(s) associated with the practitioner. |
Cardinality | 0...* |
Type | HumanName |
Must Support | True |
Summary | True |
Requirements | The name(s) that a Practitioner is known by. Where there are multiple, the name that the practitioner is usually known as should be used in the display. |
Comments | The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. In general, select the value to be used in the ResourceReference.display based on this:
|
Invariants |
|
Mappings |
|
Practitioner.telecom | |
Definition | A contact detail for the practitioner, e.g. a telephone number or an email address. |
Cardinality | 0...* |
Type | ContactPoint |
Must Support | True |
Summary | True |
Requirements | Need to know how to reach a practitioner independent to any roles the practitioner may have. |
Comments | Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently and to help with identification. These typically will have home numbers, or mobile numbers that are not role specific. |
Invariants |
|
Mappings |
|
Practitioner.address | |
Definition | Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent. |
Cardinality | 0...* |
Type | Address |
Summary | True |
Requirements | The home/mailing address of the practitioner is often required for employee administration purposes, and also for some rostering services where the start point (practitioners home) can be used in calculations. |
Comments | The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address). |
Invariants |
|
Mappings |
|
Practitioner.gender | |
Definition | Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. |
Cardinality | 0...1 |
Type | code |
Binding | The gender of a person used for administrative purposes. |
Summary | True |
Requirements | Needed to address the person correctly. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Practitioner.birthDate | |
Definition | The date of birth for the practitioner. |
Cardinality | 0...1 |
Type | date |
Summary | True |
Requirements | Needed for identification. |
Invariants |
|
Mappings |
|
Practitioner.photo | |
Definition | Image of the person. |
Cardinality | 0...* |
Type | Attachment |
Requirements | Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too. |
Comments | When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". |
Invariants |
|
Mappings |
|
Practitioner.qualification | |
Definition | The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certian locality. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Practitioner.qualification.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Practitioner.qualification.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Practitioner.qualification.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Practitioner.qualification.identifier | |
Definition | An identifier that applies to this person's qualification in this role. |
Cardinality | 0...* |
Type | Identifier |
Requirements | Often, specific identities are assigned for the qualification. |
Invariants |
|
Mappings |
|
Practitioner.qualification.code | |
Definition | Coded representation of the qualification. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Specific qualification the practitioner has to provide a service. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Practitioner.qualification.period | |
Definition | Period during which the qualification is valid. |
Cardinality | 0...1 |
Type | Period |
Requirements | Qualifications are often for a limited period of time, and can be revoked. |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Practitioner.qualification.issuer | |
Definition | Organization that regulates and issues the qualification. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Practitioner.communication | |
Definition | A language the practitioner can use in patient communication. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A ValueSet that identifies the language used by a person. |
Requirements | Knowing which language a practitioner speaks can help in facilitating communication with patients. |
Comments | The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Practitioner.name | Requestor - Full name, Additional contact - Full name, Patient - GP full name, Previous genomic report - Report performer full name, Previous genomic report - Original requester full name, Previous non genomic report - Report performer full name, Previous non genomic report - Original requester full name | ORC-12, PD1-4.2 and PD1-4.3, OBX-16, ORC-12 |
Practitioner.identifier | Requestor - Professional registration number, Additional contact - Professional registration number, Patient - GP GMC number | ORC-12.1, PD1-4.1 |
Practitioner.identifier.system, Additional contact - Professional registration number type | Requestor - Professional registration number type | ORC-12.9 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Practitioner_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Practitioner-Genomics |
Genomics-PractitionerRole
PractitionerRole resources SHOULD be used where information about both a practitioner and their role within a specific organization is required, e.g. as the ServiceRequest.requestor.
References to Practitioner and Organization resources SHOULD only be made via identifier, rather than appending Practitioner and Organization resources to test order bundles. Issues with referencing via identifier SHOULD be reported to the NHS England Genomics Unit for investigation.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-PractitionerRole | UKCore | trial-use |
UKCorePractitionerRole (PractitionerRole) | I | PractitionerRole | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | S Σ | 0..1 | boolean |
period | S Σ I | 0..1 | Period |
practitioner | S Σ I | 0..1 | Reference(Practitioner) |
organization | S Σ I | 0..1 | Reference(Organization) |
code | Σ | 0..* | CodeableConcept |
specialty | S Σ | 0..* | CodeableConceptBinding |
location | S Σ I | 0..* | Reference(Location) |
healthcareService | I | 0..* | Reference(HealthcareService) |
telecom | S Σ I | 0..* | ContactPoint |
availableTime | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
daysOfWeek | 0..* | codeBinding | |
allDay | 0..1 | boolean | |
availableStartTime | 0..1 | time | |
availableEndTime | 0..1 | time | |
notAvailable | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
description | 1..1 | string | |
during | I | 0..1 | Period |
availabilityExceptions | 0..1 | string | |
endpoint | I | 0..* | Reference(Endpoint) |
Differential from PractitionerRole
UKCorePractitionerRole (PractitionerRole) | I | PractitionerRole | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | S Σ | 0..1 | boolean |
period | S Σ I | 0..1 | Period |
practitioner | S Σ I | 0..1 | Reference(Practitioner) |
organization | S Σ I | 0..1 | Reference(Organization) |
code | Σ | 0..* | CodeableConcept |
specialty | S Σ | 0..* | CodeableConceptBinding |
location | S Σ I | 0..* | Reference(Location) |
healthcareService | I | 0..* | Reference(HealthcareService) |
telecom | S Σ I | 0..* | ContactPoint |
availableTime | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
daysOfWeek | 0..* | codeBinding | |
allDay | 0..1 | boolean | |
availableStartTime | 0..1 | time | |
availableEndTime | 0..1 | time | |
notAvailable | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
description | 1..1 | string | |
during | I | 0..1 | Period |
availabilityExceptions | 0..1 | string | |
endpoint | I | 0..* | Reference(Endpoint) |
PractitionerRole | |
Definition | A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
PractitionerRole.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
PractitionerRole.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
PractitionerRole.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
PractitionerRole.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
PractitionerRole.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
PractitionerRole.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
PractitionerRole.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
PractitionerRole.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
PractitionerRole.identifier | |
Definition | Business Identifiers that are specific to a role/location. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Often, specific identities are assigned for the agent. |
Invariants |
|
Mappings |
|
PractitionerRole.active | |
Definition | Whether this practitioner role record is in active use. |
Cardinality | 0...1 |
Type | boolean |
Must Support | True |
Summary | True |
Requirements | Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use. |
Comments | If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active. |
Invariants |
|
Mappings |
|
PractitionerRole.period | |
Definition | The period during which the person is authorized to act as a practitioner in these role(s) for the organization. |
Cardinality | 0...1 |
Type | Period |
Must Support | True |
Summary | True |
Requirements | Even after the agencies is revoked, the fact that it existed must still be recorded. |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
PractitionerRole.practitioner | |
Definition | Practitioner that is able to provide the defined services for the organization. |
Cardinality | 0...1 |
Type | Reference(Practitioner) |
Must Support | True |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
PractitionerRole.organization | |
Definition | The organization where the Practitioner performs the roles associated. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Must Support | True |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
PractitionerRole.code | |
Definition | Roles which this practitioner is authorized to perform for the organization. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The role a person plays representing an organization. |
Summary | True |
Requirements | Need to know what authority the practitioner has - what can they do? |
Comments | A person may have more than one role. |
Invariants |
|
Mappings |
|
PractitionerRole.specialty | |
Definition | Specific specialty of the practitioner. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Specific specialty associated with the agency. |
Must Support | True |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
PractitionerRole.location | |
Definition | The location(s) at which this practitioner provides care. |
Cardinality | 0...* |
Type | Reference(Location) |
Must Support | True |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
PractitionerRole.healthcareService | |
Definition | The list of healthcare services that this worker provides for this role's Organization/Location(s). |
Cardinality | 0...* |
Type | Reference(HealthcareService) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
PractitionerRole.telecom | |
Definition | Contact details that are specific to the role/location/service. |
Cardinality | 0...* |
Type | ContactPoint |
Must Support | True |
Summary | True |
Requirements | Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these. |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime | |
Definition | A collection of times the practitioner is available or performing this role at the location and/or healthcareservice. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | More detailed availability information may be provided in associated Schedule/Slot resources. |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
PractitionerRole.availableTime.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.daysOfWeek | |
Definition | Indicates which days of the week are available between the start and end Times. |
Cardinality | 0...* |
Type | code |
Binding | The days of the week. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.allDay | |
Definition | Is this always available? (hence times are irrelevant) e.g. 24 hour service. |
Cardinality | 0...1 |
Type | boolean |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.availableStartTime | |
Definition | The opening time of day. Note: If the AllDay flag is set, then this time is ignored. |
Cardinality | 0...1 |
Type | time |
Comments | The timezone is expected to be for where this HealthcareService is provided at. |
Invariants |
|
Mappings |
|
PractitionerRole.availableTime.availableEndTime | |
Definition | The closing time of day. Note: If the AllDay flag is set, then this time is ignored. |
Cardinality | 0...1 |
Type | time |
Comments | The timezone is expected to be for where this HealthcareService is provided at. |
Invariants |
|
Mappings |
|
PractitionerRole.notAvailable | |
Definition | The practitioner is not available or performing this role during this period of time due to the provided reason. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
PractitionerRole.notAvailable.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
PractitionerRole.notAvailable.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
PractitionerRole.notAvailable.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
PractitionerRole.notAvailable.description | |
Definition | The reason that can be presented to the user as to why this time is not available. |
Cardinality | 1...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
PractitionerRole.notAvailable.during | |
Definition | Service is not available (seasonally or for a public holiday) from this date. |
Cardinality | 0...1 |
Type | Period |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
PractitionerRole.availabilityExceptions | |
Definition | A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
PractitionerRole.endpoint | |
Definition | Technical endpoints providing access to services operated for the practitioner with this role. |
Cardinality | 0...* |
Type | Reference(Endpoint) |
Requirements | Organizations have multiple systems that provide various services and ,ay also be different for practitioners too. So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
PractitionerRole.practitioner | Requestor - Full name, Requestor - Professional registration number, Requestor - Professional registration number type, Additional contact - Full name, Additional contact - Professional registration number, Additional contact - Professional registration number type, Patient - GP full name, Patient - GP GMC number, Previous genomic report - Report performer full name, Previous genomic report - Original requester full name, Previous non genomic report - Report performer full name, Previous non genomic report - Original requester full name | ORC-12, ORC-12.1, ORC-12.9, PD1-4.2 and PD1-4.3, PD1-4.1, OBX-16, ORC-12 |
PractitionerRole.code | Requestor - Job Title, Additional contact - Job Title | CTD-1 |
PractitionerRole.specialty | Requestor - Current Specialty, Requestor - Department name, Additional contact - Current Specialty, Additional contact - Department name | Additional CTD-1 segments |
PractitionerRole.telecom | Requestor - Phone, Requestor - Email address, Requestor - Genomic report delivery method, Requestor - Central email for address and reporting (many), Additional contact - Phone, Additional contact - Email address, Additional contact - Genomic report delivery method, Additional contact - Central email for address and reporting (many) | ORC-14 |
PractitionerRole.organization | Requestor - Organization name, Requestor - Organization address, Requestor - Organization ODS code, Additional contact - Organization name, address and ODS code, Additional contact - Organization address, Additional contact - Organization ODS code, Patient - GP Practice ODS Code, Previous genomic report - Report performer organisation ODS code, Previous genomic report - Original requester organisation ODS code, Previous non genomic report - Report performer organisation ODS code, Previous non genomic report - Original requester organisation ODS code | ORC-21, ORC-22, ORC-21.10, OBX-23.10 |
PractitionerRole.healthcareService | PLCM activity - ODS code of the laboratory site delivering requested test, PLCM activity - Commissioned service category code | Additional CTD-1 segments |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_PractitionerRole_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole-Genomics |
Additional Guidance
practitioner
SHALL be present. Users SHOULD reference practitioners using an appropriate naming system within the NHS (defined within the NHS England IG. Display name MAY be included to aid readability and verification of included identifiers.
"practitioner": { "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "9999999999" }, "display": "Dr. Gene Smith" },
organization
SHALL be present. Users SHOULD reference organizations using an ODS code. Display name MAY be included to aid readability and verification of included identifiers. Requester ODS codes SHOULD use the lowest level site code rather than trust code (most granular code available) where possible, to aid contact retrieval.
"organization": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "RGT01" }, "display": "Addenbrooke's Hospital" },
specialty
The specialty field SHOULD be used to record department for the requesting clinician, issues with the use of this field, including issues with the bound UK Core ValueSet not representing certain departments SHOULD be reported to the NHS England Genomics Unit
"specialty": [ { "coding": [ { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-PracticeSettingCode", "code": "120", "display": "Ear Nose and Throat" } ] } ],
telecom
The telecom field SHOULD be used to record contact details for the practitioner. For central mailboxes, e.g. those used for providing reports back to the requester, these SHOULD be marked with an appropriate 'contactpoint-comment' extension. Additionally, where are there multiple Practitioners involved in providing care, the contact details for each Practitioners for that location (or service) SHOULD be specified.
"telecom": [ { "system": "phone", "value": "01223586638" }, { "system": "email", "value": "gene.smith@nhs.net" }, { "system": "email", "value": "Add-tr.entsecretaries@nhs.net", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/contactpoint-comment", "valueString": "reporting" } ] } ]
Genomics-Procedure
Used for detailing information on procedures the patient has had performed, to aid interpretation of Genomic test results.
Assertion of an absence of a procedure being performed SHOULD be recorded using an Observation resource, as described in Genomics-Observation
At a minimum, Procedure resources are expected to contain the status, code, subject and performedDateTime, though additional information conforming to the FHIR profile below MAY be included if relevant.
Genomic Study and Genomic Study Analysis profiles on Procedure may also be used as part of structured reporting. Mandated usage of these profiles is pending data standard discovery work to identify the items required within Genomic Test Reporting. As such, elements called out, and guidance suggested on this page, may be subject to change.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Procedure | UKCore | trial-use |
Differential from Procedure
Procedure | |
Definition | An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Procedure.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Procedure.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Procedure.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Procedure.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Procedure.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Procedure.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Procedure.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Procedure.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Procedure.identifier | |
Definition | Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Allows identification of the procedure as it is known by various participating systems and in a way that remains consistent across servers. |
Comments | This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and Person resource instances might share the same social insurance number. |
Invariants |
|
Mappings |
|
Procedure.instantiatesCanonical | |
Definition | The URL pointing to a FHIR-defined protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. |
Cardinality | 0...* |
Type | canonical(PlanDefinition | ActivityDefinition | Measure | OperationDefinition | Questionnaire) |
Summary | True |
Comments | |
Invariants |
|
Mappings |
|
Procedure.instantiatesUri | |
Definition | The URL pointing to an externally maintained protocol, guideline, order set or other definition that is adhered to in whole or in part by this Procedure. |
Cardinality | 0...* |
Type | uri |
Summary | True |
Comments | This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. |
Invariants |
|
Mappings |
|
Procedure.basedOn | |
Definition | A reference to a resource that contains details of the request for this procedure. |
Cardinality | 0...* |
Type | Reference(CarePlan | ServiceRequest) |
Summary | True |
Alias | fulfills |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.partOf | |
Definition | A larger event of which this particular procedure is a component or step. |
Cardinality | 0...* |
Type | Reference(Procedure | Observation | MedicationAdministration) |
Summary | True |
Alias | container |
Comments | The MedicationAdministration resource has a partOf reference to Procedure, but this is not a circular reference. For example, the anesthesia MedicationAdministration is part of the surgical Procedure (MedicationAdministration.partOf = Procedure). For example, the procedure to insert the IV port for an IV medication administration is part of the medication administration (Procedure.partOf = MedicationAdministration). |
Invariants |
|
Mappings |
|
Procedure.status | |
Definition | A code specifying the state of the procedure. Generally, this will be the in-progress or completed state. |
Cardinality | 1...1 |
Type | code |
Binding | A code specifying the state of the procedure. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | The "unknown" code is not to be used to convey other statuses. The "unknown" code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
Procedure.statusReason | |
Definition | Captures the reason for the current state of the procedure. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code that identifies the reason a procedure was not performed. |
Summary | True |
Alias | Suspended Reason, Cancelled Reason |
Comments | This is generally only used for "exception" statuses such as "not-done", "suspended" or "aborted". The reason for performing the event at all is captured in reasonCode, not here. |
Invariants |
|
Mappings |
|
Procedure.category | |
Definition | A code that classifies the procedure for searching, sorting and display purposes (e.g. "Surgical Procedure"). |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code that classifies a procedure for searching, sorting and display purposes. |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Procedure.code | |
Definition | The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. "Laparoscopic Appendectomy"). |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code from the SNOMED Clinical Terminology UK. |
Must Support | True |
Summary | True |
Alias | type |
Requirements | 0..1 to account for primarily narrative only resources. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Procedure.subject | |
Definition | The person, animal or group on which the procedure was performed. |
Cardinality | 1...1 |
Type | Reference(Patient | Group) |
Must Support | True |
Summary | True |
Alias | patient |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.encounter | |
Definition | The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Comments | This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. |
Invariants |
|
Mappings |
|
Procedure.performed[x] | |
Definition | Estimated or actual date, date-time, period, or age when the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. |
Cardinality | 0...1 |
Type | dateTime |
Must Support | True |
Summary | True |
Comments | Age is generally used when the patient reports an age at which the procedure was performed. Range is generally used when the patient reports an age range when the procedure was performed, such as sometime between 20-25 years old. dateTime supports a range of precision due to some procedures being reported as past procedures that might not have millisecond precision while other procedures performed and documented during the encounter might have more precise UTC timestamps with timezone. |
Invariants |
|
Mappings |
|
Procedure.recorder | |
Definition | Individual who recorded the record and takes responsibility for its content. |
Cardinality | 0...1 |
Type | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.asserter | |
Definition | Individual who is making the procedure statement. |
Cardinality | 0...1 |
Type | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.performer | |
Definition | Limited to "real" people rather than equipment. |
Cardinality | 0...* |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Procedure.performer.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Procedure.performer.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Procedure.performer.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Procedure.performer.function | |
Definition | Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code that identifies the role of a performer of the procedure. |
Summary | True |
Requirements | Allows disambiguation of the types of involvement of different performers. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Procedure.performer.actor | |
Definition | The practitioner who was involved in the procedure. |
Cardinality | 1...1 |
Type | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
Summary | True |
Requirements | A reference to Device supports use cases, such as pacemakers. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.performer.onBehalfOf | |
Definition | The organization the device or practitioner was acting on behalf of. |
Cardinality | 0...1 |
Type | Reference(Organization) |
Requirements | Practitioners and Devices can be associated with multiple organizations. This element indicates which organization they were acting on behalf of when performing the action. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.location | |
Definition | The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. |
Cardinality | 0...1 |
Type | Reference(Location) |
Summary | True |
Requirements | Ties a procedure to where the records are likely kept. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.reasonCode | |
Definition | The coded reason why the procedure was performed. This may be a coded entity of some type, or may simply be present as text. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A code that identifies the reason a procedure is required. |
Summary | True |
Comments | Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. |
Invariants |
|
Mappings |
|
Procedure.reasonReference | |
Definition | The justification of why the procedure was performed. |
Cardinality | 0...* |
Type | Reference(Condition | Observation | Procedure | DiagnosticReport | DocumentReference) |
Summary | True |
Comments | It is possible for a procedure to be a reason (such as C-Section) for another procedure (such as an epidural). Other examples include endoscopy for dilatation and biopsy (a combination of diagnostic and therapeutic use). Use Procedure.reasonCode when a code sufficiently describes the reason. Use Procedure.reasonReference when referencing a resource, which allows more information to be conveyed, such as onset date. Procedure.reasonCode and Procedure.reasonReference are not meant to be duplicative. For a single reason, either Procedure.reasonCode or Procedure.reasonReference can be used. Procedure.reasonCode may be a summary code, or Procedure.reasonReference may be used to reference a very precise definition of the reason using Condition | Observation | Procedure | DiagnosticReport | DocumentReference. Both Procedure.reasonCode and Procedure.reasonReference can be used if they are describing different reasons for the procedure. |
Invariants |
|
Mappings |
|
Procedure.bodySite | |
Definition | Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Summary | True |
Comments | If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension procedure-targetbodystructure. |
Invariants |
|
Mappings |
|
Procedure.outcome | |
Definition | The outcome of the procedure - did it resolve the reasons for the procedure being performed? |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | An outcome of a procedure - whether it was resolved or otherwise. |
Summary | True |
Comments | If outcome contains narrative text only, it can be captured using the CodeableConcept.text. |
Invariants |
|
Mappings |
|
Procedure.report | |
Definition | This could be a histology result, pathology report, surgical report, etc. |
Cardinality | 0...* |
Type | Reference(DiagnosticReport | DocumentReference | Composition) |
Comments | There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports. |
Invariants |
|
Mappings |
|
Procedure.complication | |
Definition | Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A code from the SNOMED Clinical Terminology UK with the expression (<404684003 |Clinical finding| OR <413350009 |Finding with explicit context| OR <272379006 |Event|). |
Comments | If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text. |
Invariants |
|
Mappings |
|
Procedure.complicationDetail | |
Definition | Any complications that occurred during the procedure, or in the immediate post-performance period. |
Cardinality | 0...* |
Type | Reference(Condition) |
Requirements | This is used to document a condition that is a result of the procedure, not the condition that was the reason for the procedure. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.followUp | |
Definition | If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Specific follow up required for a procedure e.g. removal of sutures. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Procedure.note | |
Definition | Any other notes and comments about the procedure. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
Procedure.focalDevice | |
Definition | A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Procedure.focalDevice.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Procedure.focalDevice.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Procedure.focalDevice.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Procedure.focalDevice.action | |
Definition | The kind of change that happened to the device during the procedure. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A kind of change that happened to the device during the procedure. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Procedure.focalDevice.manipulated | |
Definition | The device that was manipulated (changed) during the procedure. |
Cardinality | 1...1 |
Type | Reference(Device) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Procedure.usedReference | |
Definition | Identifies medications, devices and any other substance used as part of the procedure. |
Cardinality | 0...* |
Type | Reference(Device | Medication | Substance) |
Requirements | Used for tracking contamination, etc. |
Comments | For devices actually implanted or removed, use Procedure.device. |
Invariants |
|
Mappings |
|
Procedure.usedCode | |
Definition | Identifies coded items that were used as part of the procedure. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes describing items used during a procedure. |
Comments | For devices actually implanted or removed, use Procedure.device. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Procedure | Patient - Had transplant, Patient - Had transfusion, Is patient on TKI therapy, Insulin treated within 6 months of diagnosis, Is on Ig replacement | Presence of OBR segment with OBR-44 code for transplant/transfusion etc. |
Procedure.performedDateTime | Patient - Fetal gestation (to determine termination date), Patient - Transplant date, Patient - Transfusion date | OBR-7 |
Procedure.code | Patient - Pregnancy type, Patient - Type of transplant, Patient - Type of transfusion, Neonatal hypoglycemia treatment details, Current exocrine pancreatic treatment | OBR segments with appropriate codes, OBR-44, OBR/RXA segments |
Procedure.performedPeriod.start | Neonatal hypoglycemia treatment start date, Exocrine pancreatic treatment start date | OBR-7, RXA-3 |
Procedure.performedPeriod.end | Neonatal hypoglycemia treatment end date | OBR-8 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Procedure_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Procedure-Genomics |
Additional Guidance
extension:genomic-study-analysis
TBC. From the Genomic Reporting IG Genomic Study profile. Reference to the Genomic Study Analysis resource, detailing the analyses performed as part of genomic test.
"extension" : [ { "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-ext", "valueReference" : { "reference" : "Procedure/PGXGenomicStudyAnalysis" } } ],
Genomic Study Analysis extensions
TBC. From the Genomic Reporting IG Genomic Study Analysis profile. Various extensions covering the metadata related to a genomic test, e.g. regions studied, change types tested for etc. For the full list of extensions, please see the linked profile page.
Use of the profile and its extensions is pending further discovery of the data standards required for Genomic Reporting in the UK.
"extension" : [ { "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-genome-build", "valueCodeableConcept" : { "coding" : [ { "system" : "http://loinc.org", "code" : "LA26806-2", "display" : "GRCh38" } ] } }, { "extension" : [ { "url" : "sequencing-coverage", "valueQuantity" : { "value" : 100 } } ], "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-metrics" }, { "extension" : [ { "url" : "description", "valueString" : "protein-coding and exon-splicing regions" }, { "url" : "studied", "valueCodeableConcept" : { "coding" : [ { "system" : "http://www.genenames.org", "code" : "HGNC:2621", "display" : "CYP2C19" } ] } }, { "url" : "studied", "valueCodeableConcept" : { "coding" : [ { "system" : "http://www.genenames.org", "code" : "HGNC:2623", "display" : "CYP2C9" } ] } }, { "url" : "studied", "valueCodeableConcept" : { "coding" : [ { "system" : "http://www.genenames.org", "code" : "HGNC:23663", "display" : "VKORC1" } ] } } ], "url" : "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-regions" } ],
status
Status SHALL use the codes recommended in the base Procedure resource, appropriately tagging procedures as having been completed or in-progress etc. depending on the actual status of the procedure.
"status": "completed",
code
SHALL be present. SNOMED CT coding is preferred, though alternative codings MAY be provided subject to review of the Coding system by the NHS England Genomics Unit.
For the Genomic Study profile, expected to be from the Genomic Study Type ValueSet
"code": { "coding": [ { "system": "http://snomed.info/sct", "code": "23719005", "display": "Transplantation of bone marrow" } ] },
subject
SHALL be present. Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS.
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
performed[x]
performed SHOULD be provided wherever possible, using the appropriate data type, to aid in interpretation of Genomic test results.
"performedDateTime": "2020-01-19"
Genomics-Provenance
The Genomics Provenance SHOULD be provided alongside updates to controlled documents such as ServiceRequests and DiagnosticReports by integrated systems on any update operation to ensure auditability for any changes to resources.
It is not expected that updates which do not affect the clinical content of the document will need associated Provenance resources, e.g. addition of local identifiers (though for the purporses of the Genomic Order Management Alpha, all updates to ServiceRequest and DiagnosticReport resources will be expected to have accompanying Provenance resources). On material changes to controlled resources, ServiceRequest and DiagnosticReport, users SHOULD use the transaction endpoint on the server to bundle the updated resource and Provenance event into a single transaction.
The HL7 FHIR specification also provides the capability to attach a Provenance resource using a custom header parameter. Using this mechanism would allow clients to submit requests to the resource specific PUT enpoints for ServiceRequests and DiagnosticReports, while still aloowing changes to be captured within a Provenance resource using a single interaction. This mechanism will not be supported within the Genomic Order Management Alpha but will be investigated by the NHS England Genomics Unit for implementation in future phases.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Provenance | HL7 International | trial-use |
Provenance | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
target | Σ I | 1..* | Reference(Resource) |
occurred[x] | 0..1 | ||
occurredPeriod | Period | ||
occurredDateTime | dateTime | ||
recorded | Σ | 1..1 | instant |
policy | 0..* | uri | |
location | I | 0..1 | Reference(Location) |
reason | 0..* | CodeableConceptBinding | |
activity | 0..1 | CodeableConceptBinding | |
agent | 1..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 0..1 | CodeableConceptBinding |
role | 0..* | CodeableConcept | |
who | Σ I | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
entity | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
role | Σ | 1..1 | codeBinding |
what | Σ I | 1..1 | Reference(Resource) |
agent | 0..* | see (agent) | |
signature | 0..* | Signature |
Differential from Provenance
Provenance | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
target | Σ I | 1..* | Reference(Resource) |
occurred[x] | 0..1 | ||
occurredPeriod | Period | ||
occurredDateTime | dateTime | ||
recorded | Σ | 1..1 | instant |
policy | 0..* | uri | |
location | I | 0..1 | Reference(Location) |
reason | 0..* | CodeableConceptBinding | |
activity | 0..1 | CodeableConceptBinding | |
agent | 1..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 0..1 | CodeableConceptBinding |
role | 0..* | CodeableConcept | |
who | Σ I | 1..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
entity | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
role | Σ | 1..1 | codeBinding |
what | Σ I | 1..1 | Reference(Resource) |
agent | 0..* | see (agent) | |
signature | 0..* | Signature |
Provenance | |
Definition | Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. |
Cardinality | 0...* |
Alias | History, Event, Activity |
Comments | Some parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance. |
Invariants |
|
Mappings |
|
Provenance.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Provenance.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Provenance.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Provenance.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Provenance.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Provenance.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Provenance.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Provenance.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Provenance.target | |
Definition | The Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity. |
Cardinality | 1...* |
Type | Reference(Resource) |
Summary | True |
Comments | Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. |
Invariants |
|
Mappings |
|
Provenance.occurred[x] | |
Definition | The period during which the activity occurred. |
Cardinality | 0...1 |
Type | Period |
Comments | The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time. |
Invariants |
|
Mappings |
|
Provenance.recorded | |
Definition | The instant of time at which the activity was recorded. |
Cardinality | 1...1 |
Type | instant |
Summary | True |
Comments | This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource. |
Invariants |
|
Mappings |
|
Provenance.policy | |
Definition | Policy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc. |
Cardinality | 0...* |
Type | uri |
Comments | For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element. |
Invariants |
|
Mappings |
|
Provenance.location | |
Definition | Where the activity occurred, if relevant. |
Cardinality | 0...1 |
Type | Reference(Location) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Provenance.reason | |
Definition | The reason that the activity was taking place. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The reason the activity took place. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Provenance.activity | |
Definition | An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The activity that took place. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Provenance.agent | |
Definition | An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place. |
Cardinality | 1...* |
Type | BackboneElement |
Requirements | An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility. |
Comments | Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa. |
Invariants |
|
Mappings |
|
Provenance.agent.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Provenance.agent.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Provenance.agent.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Provenance.agent.type | |
Definition | The participation the agent had with respect to the activity. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The type of participation that a provenance agent played with respect to the activity. |
Summary | True |
Comments | For example: author, performer, enterer, attester, etc. |
Invariants |
|
Mappings |
|
Provenance.agent.role | |
Definition | The function of the agent with respect to the activity. The security role enabling the agent with respect to the activity. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The role that a provenance agent played with respect to the activity. |
Comments | For example: doctor, nurse, clerk, etc. |
Invariants |
|
Mappings |
|
Provenance.agent.who | |
Definition | The individual, device or organization that participated in the event. |
Cardinality | 1...1 |
Type | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
Summary | True |
Comments | whoIdentity should be used when the agent is not a Resource type. |
Invariants |
|
Mappings |
|
Provenance.agent.onBehalfOf | |
Definition | The individual, device, or organization for whom the change was made. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) |
Comments | onBehalfOfIdentity should be used when the agent is not a Resource type. |
Invariants |
|
Mappings |
|
Provenance.entity | |
Definition | An entity used in this activity. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Provenance.entity.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Provenance.entity.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Provenance.entity.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Provenance.entity.role | |
Definition | How the entity was used during the activity. |
Cardinality | 1...1 |
Type | code |
Binding | How an entity was used in an activity. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Provenance.entity.what | |
Definition | Identity of the Entity used. May be a logical or physical uri and maybe absolute or relative. |
Cardinality | 1...1 |
Type | Reference(Resource) |
Summary | True |
Comments | whatIdentity should be used for entities that are not a Resource type. |
Invariants |
|
Mappings |
|
Provenance.entity.agent | |
Definition | The entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity. |
Cardinality | 0...* |
Type | see (agent) |
Comments | A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity. |
Mappings |
|
Provenance.signature | |
Definition | A digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. |
Cardinality | 0...* |
Type | Signature |
Comments | The elements of the Signature Resource are for ease of access of these elements. For digital signatures (Xml DigSig, JWS), the non-repudiation proof comes from the Signature validation, which includes validation of the referenced objects (e.g. Resources) (a.k.a., Content) in the XML-Signature Detached form. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Provenance_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Provenance-Genomics |
Additional Guidance
target
SHALL be provided. This SHOULD be a reference to the resource on the central GMS system that was updated.
"target": [ { "reference": "ServiceRequest/ServiceRequest-SavedTestOrderUpdated-Example" } ],
recorded
SHALL be provided, the date/time when the update took place.
"recorded": "2023-08-10T11:10:00Z",
reason
The reason why the update took place. If the codes provided by HL7 are not granular enough, or additional notes need to be recorded detailing the reasoning behind a change, this SHOULD be added as text to 'reason.text'.
"reason": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-ActReason", "code": "TREAT", "display": "treatment" } ], "text": "Test inappropriate for patient" } ],
agent
SHOULD be provided where actions are user initiated. The user which performed the change, as identified through CIS2 authentication token.
"agent": [ { "type": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author", "display": "Author" } ] }, "who": { "reference": "PractitionerRole/PractitionerRole-TestClinicalScientist-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "9999999997" } } } ],
signature
Signed, encrypted copy of the document, for validation that the document has not been tampered with (the requirement to include this field has not yet been validated).
"signature": [ { "type": [ { "system": "urn:iso-astm:E1762-95:2013", "code": "1.2.840.10065.1.12.1.15", "display": "Addendum Signature" } ], "when": "2023-08-10T11:10:00Z", "who": { "reference": "PractitionerRole/PractitionerRole-TestClinicalScientist-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "9999999997" } }, "data": "DQo8U2lnbm...F0dXJlPg0K" } ]
Genomics-Questionnaire
The Genomics Questionnaire is currently based on the UKCore resource, without any need for profiling.
The profile for the UKCore-Questionnaire is provided below for completeness.
It is not expected that any Questionnaire resources will be submitted to the central service, instead the GMS solution will contain a library of Questionnaires relevant to Genomics that it can use to validate QuestionnaireReponses (such as the example Record of Discussion Questionnaire).
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Questionnaire | HL7 International | trial-use |
Questionnaire | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
url | Σ | 0..1 | uri |
identifier | Σ | 0..* | Identifier |
version | Σ | 0..1 | string |
name | Σ I | 0..1 | string |
title | Σ | 0..1 | string |
derivedFrom | 0..* | canonical(Questionnaire) | |
status | Σ ?! | 1..1 | codeBinding |
experimental | Σ | 0..1 | boolean |
subjectType | Σ | 0..* | codeBinding |
date | Σ | 0..1 | dateTime |
publisher | Σ | 0..1 | string |
contact | Σ | 0..* | ContactDetail |
description | 0..1 | markdown | |
useContext | Σ | 0..* | UsageContext |
jurisdiction | Σ | 0..* | CodeableConceptBinding |
purpose | 0..1 | markdown | |
copyright | 0..1 | markdown | |
approvalDate | 0..1 | date | |
lastReviewDate | 0..1 | date | |
effectivePeriod | Σ I | 0..1 | Period |
code | Σ | 0..* | Coding |
item | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
linkId | 1..1 | string | |
definition | 0..1 | uri | |
code | I | 0..* | Coding |
prefix | 0..1 | string | |
text | 0..1 | string | |
type | 1..1 | codeBinding | |
enableWhen | ?! I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
question | 1..1 | string | |
operator | 1..1 | codeBinding | |
answer[x] | I | 1..1 | |
answerBoolean | boolean | ||
answerDecimal | decimal | ||
answerInteger | integer | ||
answerDate | date | ||
answerDateTime | dateTime | ||
answerTime | time | ||
answerString | string | ||
answerCoding | Coding | ||
answerQuantity | Quantity | ||
answerReference | Reference(Resource) | ||
enableBehavior | I | 0..1 | codeBinding |
required | I | 0..1 | boolean |
repeats | I | 0..1 | boolean |
readOnly | I | 0..1 | boolean |
maxLength | I | 0..1 | integer |
answerValueSet | I | 0..1 | canonical(ValueSet) |
answerOption | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 1..1 | ||
valueInteger | integer | ||
valueDate | date | ||
valueTime | time | ||
valueString | string | ||
valueCoding | Coding | ||
valueReference | Reference(Resource) | ||
initialSelected | 0..1 | boolean | |
initial | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
valueDecimal | decimal | ||
valueInteger | integer | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueTime | time | ||
valueString | string | ||
valueUri | uri | ||
valueAttachment | Attachment | ||
valueCoding | Coding | ||
valueQuantity | Quantity | ||
valueReference | Reference(Resource) | ||
item | I | 0..* | see (item) |
Differential from Questionnaire
Questionnaire | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
url | Σ | 0..1 | uri |
identifier | Σ | 0..* | Identifier |
version | Σ | 0..1 | string |
name | Σ I | 0..1 | string |
title | Σ | 0..1 | string |
derivedFrom | 0..* | canonical(Questionnaire) | |
status | Σ ?! | 1..1 | codeBinding |
experimental | Σ | 0..1 | boolean |
subjectType | Σ | 0..* | codeBinding |
date | Σ | 0..1 | dateTime |
publisher | Σ | 0..1 | string |
contact | Σ | 0..* | ContactDetail |
description | 0..1 | markdown | |
useContext | Σ | 0..* | UsageContext |
jurisdiction | Σ | 0..* | CodeableConceptBinding |
purpose | 0..1 | markdown | |
copyright | 0..1 | markdown | |
approvalDate | 0..1 | date | |
lastReviewDate | 0..1 | date | |
effectivePeriod | Σ I | 0..1 | Period |
code | Σ | 0..* | Coding |
item | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
linkId | 1..1 | string | |
definition | 0..1 | uri | |
code | I | 0..* | Coding |
prefix | 0..1 | string | |
text | 0..1 | string | |
type | 1..1 | codeBinding | |
enableWhen | ?! I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
question | 1..1 | string | |
operator | 1..1 | codeBinding | |
answer[x] | I | 1..1 | |
answerBoolean | boolean | ||
answerDecimal | decimal | ||
answerInteger | integer | ||
answerDate | date | ||
answerDateTime | dateTime | ||
answerTime | time | ||
answerString | string | ||
answerCoding | Coding | ||
answerQuantity | Quantity | ||
answerReference | Reference(Resource) | ||
enableBehavior | I | 0..1 | codeBinding |
required | I | 0..1 | boolean |
repeats | I | 0..1 | boolean |
readOnly | I | 0..1 | boolean |
maxLength | I | 0..1 | integer |
answerValueSet | I | 0..1 | canonical(ValueSet) |
answerOption | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 1..1 | ||
valueInteger | integer | ||
valueDate | date | ||
valueTime | time | ||
valueString | string | ||
valueCoding | Coding | ||
valueReference | Reference(Resource) | ||
initialSelected | 0..1 | boolean | |
initial | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 1..1 | ||
valueBoolean | boolean | ||
valueDecimal | decimal | ||
valueInteger | integer | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueTime | time | ||
valueString | string | ||
valueUri | uri | ||
valueAttachment | Attachment | ||
valueCoding | Coding | ||
valueQuantity | Quantity | ||
valueReference | Reference(Resource) | ||
item | I | 0..* | see (item) |
Questionnaire | |
Definition | A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. |
Cardinality | 0...* |
Alias | Form, CRF, Survey |
Invariants |
|
Mappings |
|
Questionnaire.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Questionnaire.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Questionnaire.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Questionnaire.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Questionnaire.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Questionnaire.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Questionnaire.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.url | |
Definition | An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this questionnaire is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the questionnaire is stored on different servers. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
Requirements | … This is the id that will be used to link a QuestionnaireResponse to the Questionnaire the response is for. |
Comments | The name of the referenced questionnaire can be conveyed using the http://hl7.org/fhir/StructureDefinition/display extension. |
Invariants |
|
Mappings |
|
Questionnaire.identifier | |
Definition | A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | Allows externally provided and/or usable business identifiers to be easily associated with the module. |
Comments | Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this questionnaire outside of FHIR, where it is not possible to use the logical URI. |
Invariants |
|
Mappings |
|
Questionnaire.version | |
Definition | The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | There may be different questionnaire instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the questionnaire with the format [url]|[version]. |
Invariants |
|
Mappings |
|
Questionnaire.name | |
Definition | A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Support human navigation and code generation. |
Comments | The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly. |
Invariants |
|
Mappings |
|
Questionnaire.title | |
Definition | A short, descriptive, user-friendly title for the questionnaire. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. |
Invariants |
|
Mappings |
|
Questionnaire.derivedFrom | |
Definition | The URL of a Questionnaire that this Questionnaire is based on. |
Cardinality | 0...* |
Type | canonical(Questionnaire) |
Requirements | Allows a Questionnaire to be created based on another Questionnaire. |
Comments | |
Invariants |
|
Mappings |
|
Questionnaire.status | |
Definition | The status of this questionnaire. Enables tracking the life-cycle of the content. |
Cardinality | 1...1 |
Type | code |
Binding | The lifecycle status of an artifact. |
Modifier | True |
Summary | True |
Comments | Allows filtering of questionnaires that are appropriate for use versus not. |
Invariants |
|
Mappings |
|
Questionnaire.experimental | |
Definition | A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
Requirements | Enables experimental content to be developed following the same lifecycle that would be used for a production-level questionnaire. |
Comments | Allows filtering of questionnaires that are appropriate for use versus not. |
Invariants |
|
Mappings |
|
Questionnaire.subjectType | |
Definition | The types of subjects that can be the subject of responses created for the questionnaire. |
Cardinality | 0...* |
Type | code |
Binding | One of the resource types defined as part of this version of FHIR. |
Summary | True |
Comments | If none are specified, then the subject is unlimited. |
Invariants |
|
Mappings |
|
Questionnaire.date | |
Definition | The date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Alias | Revision Date |
Comments | Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource. |
Invariants |
|
Mappings |
|
Questionnaire.publisher | |
Definition | The name of the organization or individual that published the questionnaire. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Helps establish the "authority/credibility" of the questionnaire. May also allow for contact. |
Comments | Usually an organization but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context. |
Invariants |
|
Mappings |
|
Questionnaire.contact | |
Definition | Contact details to assist a user in finding and communicating with the publisher. |
Cardinality | 0...* |
Type | ContactDetail |
Summary | True |
Comments | May be a web site, an email address, a telephone number, etc. |
Invariants |
|
Mappings |
|
Questionnaire.description | |
Definition | A free text natural language description of the questionnaire from a consumer's perspective. |
Cardinality | 0...1 |
Type | markdown |
Comments | This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the questionnaire is presumed to be the predominant language in the place the questionnaire was created). |
Invariants |
|
Mappings |
|
Questionnaire.useContext | |
Definition | The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances. |
Cardinality | 0...* |
Type | UsageContext |
Summary | True |
Requirements | Assist in searching for appropriate content. |
Comments | When multiple useContexts are specified, there is no expectation that all or any of the contexts apply. |
Invariants |
|
Mappings |
|
Questionnaire.jurisdiction | |
Definition | A legal or geographic region in which the questionnaire is intended to be used. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Countries and regions within which this artifact is targeted for use. |
Summary | True |
Comments | It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended. |
Invariants |
|
Mappings |
|
Questionnaire.purpose | |
Definition | Explanation of why this questionnaire is needed and why it has been designed as it has. |
Cardinality | 0...1 |
Type | markdown |
Comments | This element does not describe the usage of the questionnaire. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this questionnaire. |
Invariants |
|
Mappings |
|
Questionnaire.copyright | |
Definition | A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. |
Cardinality | 0...1 |
Type | markdown |
Alias | License, Restrictions |
Requirements | Consumers must be able to determine any legal restrictions on the use of the questionnaire and/or its content. |
Comments | Systems are not required to have markdown support, so the text should be readable without markdown processing. The markdown syntax is GFM - see https://github.github.com/gfm/ |
Invariants |
|
Mappings |
|
Questionnaire.approvalDate | |
Definition | The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. |
Cardinality | 0...1 |
Type | date |
Comments | The 'date' element may be more recent than the approval date because of minor changes or editorial corrections. |
Invariants |
|
Mappings |
|
Questionnaire.lastReviewDate | |
Definition | The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. |
Cardinality | 0...1 |
Type | date |
Requirements | Gives a sense of how "current" the content is. Resources that have not been reviewed in a long time may have a risk of being less appropriate/relevant. |
Comments | If specified, this date follows the original approval date. |
Invariants |
|
Mappings |
|
Questionnaire.effectivePeriod | |
Definition | The period during which the questionnaire content was or is planned to be in active use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Requirements | Allows establishing a transition before a resource comes into effect and also allows for a sunsetting process when new versions of the questionnaire are or are expected to be used instead. |
Comments | The effective period for a questionnaire determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015. |
Invariants |
|
Mappings |
|
Questionnaire.code | |
Definition | An identifier for this question or group of questions in a particular terminology such as LOINC. |
Cardinality | 0...* |
Type | Coding |
Binding | Codes for questionnaires, groups and individual questions. |
Summary | True |
Requirements | Allows linking of the complete Questionnaire resources to formal terminologies. It's common for "panels" of questions to be identified by a code. |
Comments | Codes may be defined very casually in enumerations or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. |
Invariants |
|
Mappings |
|
Questionnaire.item | |
Definition | A particular question, question grouping or display text that is part of the questionnaire. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | The content of the questionnaire is constructed from an ordered, hierarchical collection of items. |
Invariants |
|
Mappings |
|
Questionnaire.item.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Questionnaire.item.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.item.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Questionnaire.item.linkId | |
Definition | An identifier that is unique within the Questionnaire allowing linkage to the equivalent item in a QuestionnaireResponse resource. |
Cardinality | 1...1 |
Type | string |
Requirements | QuestionnaireResponse does not require omitted items to be included and may have some items that repeat, so linkage based on position alone is not sufficient. |
Comments | This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning. GUIDs or sequential numbers are appropriate here. |
Invariants |
|
Mappings |
|
Questionnaire.item.definition | |
Definition | This element is a URI that refers to an [ElementDefinition](elementdefinition.html) that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in Comments, below. If this element is present then the following element values MAY be derived from the Element Definition if the corresponding elements of this Questionnaire resource instance have no value: * code (ElementDefinition.code) * type (ElementDefinition.type) * required (ElementDefinition.min) * repeats (ElementDefinition.max) * maxLength (ElementDefinition.maxLength) * answerValueSet (ElementDefinition.binding) * options (ElementDefinition.binding). |
Cardinality | 0...1 |
Type | uri |
Requirements | A common pattern is to define a set of data elements and then build multiple questionnaires for different circumstances to gather the data. This element provides traceability to the common definition and allows the content for the question to come from the underlying definition. |
Comments | The uri refers to an ElementDefinition in a StructureDefinition and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id Element.id. E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.code | |
Definition | A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers). |
Cardinality | 0...* |
Type | Coding |
Binding | Codes for questionnaires, groups and individual questions. |
Requirements | Allows linking of groups of questions to formal terminologies. |
Comments | The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.prefix | |
Definition | A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire. |
Cardinality | 0...1 |
Type | string |
Alias | label |
Requirements | Separating the label from the question text allows improved rendering. Also, instructions will often refer to specific prefixes, so there's a need for the questionnaire design to have control over what labels are used. |
Comments | These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed. Typically, these won't be used for "display" items, though such use is not prohibited. Systems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire. |
Invariants |
|
Mappings |
|
Questionnaire.item.text | |
Definition | The name of a section, the text of a question or text content for a display item. |
Cardinality | 0...1 |
Type | string |
Comments | When using this element to represent the name of a section, use group type item and also make sure to limit the text element to a short string suitable for display as a section heading. Group item instructions should be included as a display type item within the group. |
Invariants |
|
Mappings |
|
Questionnaire.item.type | |
Definition | The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, coded choice, etc.). |
Cardinality | 1...1 |
Type | code |
Binding | Distinguishes groups from questions and display text and indicates data type for questions. |
Requirements | Defines the format in which the user is to be prompted for the answer. |
Comments | Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen | |
Definition | A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true. |
Cardinality | 0...* |
Type | BackboneElement |
Modifier | True |
Requirements | Allows questionnaires to adapt based on answers to other questions. E.g. If physical gender is specified as a male, no need to capture pregnancy history. Also allows conditional display of instructions or groups of questions. |
Comments | If multiple repetitions of this extension are present, the item should be enabled when the condition for any of the repetitions is true. I.e. treat "enableWhen"s as being joined by an "or" clause. This element is a modifier because if enableWhen is present for an item, "required" is ignored unless one of the enableWhen conditions is met. When an item is disabled, all of its descendants are disabled, regardless of what their own enableWhen logic might evaluate to. |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Questionnaire.item.enableWhen.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen.question | |
Definition | The linkId for the question whose answer (or lack of answer) governs whether this item is enabled. |
Cardinality | 1...1 |
Type | string |
Comments | If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the "ancestor" axis and then the "preceding" axis and then the "following" axis. |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen.operator | |
Definition | Specifies the criteria by which the question is enabled. |
Cardinality | 1...1 |
Type | code |
Binding | The criteria by which a question is enabled. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Questionnaire.item.enableWhen.answer[x] | |
Definition | A value that the referenced question is tested using the specified operator in order for the item to be enabled. |
Cardinality | 1...1 |
Type | boolean |
Binding | Allowed values to answer questions. |
Invariants |
|
Mappings |
|
Questionnaire.item.enableBehavior | |
Definition | Controls how multiple enableWhen values are interpreted - whether all or any must be true. |
Cardinality | 0...1 |
Type | code |
Binding | Controls how multiple enableWhen values are interpreted - whether all or any must be true. |
Comments | This element must be specified if more than one enableWhen value is provided. |
Invariants |
|
Mappings |
|
Questionnaire.item.required | |
Definition | An indication, if true, that the item must be present in a "completed" QuestionnaireResponse. If false, the item may be skipped when answering the questionnaire. |
Cardinality | 0...1 |
Type | boolean |
Comments | Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true. If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.repeats | |
Definition | An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups. |
Cardinality | 0...1 |
Type | boolean |
Requirements | Items may be used to create set of (related) questions that can be repeated to give multiple answers to such a set. |
Comments | If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse. When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition (i.e. "repeat the question") or to simply allow entry/selection of multiple answers for the question (repeat the answers). Which is most appropriate visually may depend on the type of answer as well as whether there are nested items. The resulting QuestionnaireResponse will be populated the same way regardless of rendering - one 'question' item with multiple answer values. The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.readOnly | |
Definition | An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire. |
Cardinality | 0...1 |
Type | boolean |
Requirements | Allows certain information to be phrased (and rendered) as a question and an answer, while keeping users from changing it. May also be useful for preventing changes to pre-populated portions of a questionnaire, for calculated values, etc. |
Comments | The value of readOnly elements can be established by asserting extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers. |
Invariants |
|
Mappings |
|
Questionnaire.item.maxLength | |
Definition | The maximum number of characters that are permitted in the answer to be considered a "valid" QuestionnaireResponse. |
Cardinality | 0...1 |
Type | integer |
Comments | For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.answerValueSet | |
Definition | A reference to a value set containing a list of codes representing permitted answers for a "choice" or "open-choice" question. |
Cardinality | 0...1 |
Type | canonical(ValueSet) |
Comments | LOINC defines many useful value sets for questionnaire responses. See LOINC Answer Lists. The value may come from the ElementDefinition referred to by .definition. |
Invariants |
|
Mappings |
|
Questionnaire.item.answerOption | |
Definition | One of the permitted answers for a "choice" or "open-choice" question. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | This element can be used when the value set machinery of answerValueSet is deemed too cumbersome or when there's a need to capture possible answers that are not codes. |
Invariants |
|
Mappings |
|
Questionnaire.item.answerOption.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Questionnaire.item.answerOption.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.item.answerOption.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Questionnaire.item.answerOption.value[x] | |
Definition | A potential answer that's allowed as the answer to this question. |
Cardinality | 1...1 |
Type | integer |
Binding | Allowed values to answer questions. |
Comments | The data type of the value must agree with the item.type. |
Invariants |
|
Mappings |
|
Questionnaire.item.answerOption.initialSelected | |
Definition | Indicates whether the answer value is selected when the list of possible answers is initially shown. |
Cardinality | 0...1 |
Type | boolean |
Comments | Use this instead of initial[v] if answerValueSet is present. |
Invariants |
|
Mappings |
|
Questionnaire.item.initial | |
Definition | One or more values that should be pre-populated in the answer when initially rendering the questionnaire for user input. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | In some workflows, having defaults saves time. |
Comments | The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created. Note that initial values can influence results. The data type of initial[x] must agree with the item.type, and only repeating items can have more then one initial value. |
Invariants |
|
Mappings |
|
Questionnaire.item.initial.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Questionnaire.item.initial.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Questionnaire.item.initial.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Questionnaire.item.initial.value[x] | |
Definition | The actual value to for an initial answer. |
Cardinality | 1...1 |
Type | boolean |
Binding | Allowed values to answer questions. |
Comments | The type of the initial value must be consistent with the type of the item. |
Invariants |
|
Mappings |
|
Questionnaire.item.item | |
Definition | Text, questions and other groups to be nested beneath a question or group. |
Cardinality | 0...* |
Type | see (item) |
Requirements | Reports can consist of complex nested groups. |
Comments | There is no specified limit to the depth of nesting. However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting. |
Mappings |
|
Questionnaire-Genomic Testing |
Questionnaire-RoD-ConsulteeDeclarationForm-Example |
Questionnaire-RoD-YoungPersonAssentForm-Example |
FHIR | MDS | HL7v2 |
---|---|---|
Questionnaire | RoD Questionnaire Schema |
Genomics-QuestionnaireResponse
The Genomics QuestionnaireResponse is currently based on the UKCore resource, without any need for profiling.
The profile for the UKCore-QuestionnaireResponse is provided below for completeness.
No additional guidance has been provided on this page as there are no Genomic-specific considerations which need to be made. However, all QuestionnaireResponses submitted to the central service SHALL reference a Questionnaire definition in order to aid validation and presentation of the response content.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse | HL7 International | trial-use |
QuestionnaireResponse | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..1 | Identifier |
basedOn | Σ I | 0..* | Reference(CarePlan | ServiceRequest) |
partOf | Σ I | 0..* | Reference(Observation | Procedure) |
questionnaire | Σ | 0..1 | canonical(Questionnaire) |
status | Σ ?! | 1..1 | codeBinding |
subject | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
authored | Σ | 0..1 | dateTime |
author | Σ I | 0..1 | Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
source | Σ I | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) |
item | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
linkId | 1..1 | string | |
definition | 0..1 | uri | |
text | 0..1 | string | |
answer | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 0..1 | ||
valueBoolean | boolean | ||
valueDecimal | decimal | ||
valueInteger | integer | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueTime | time | ||
valueString | string | ||
valueUri | uri | ||
valueAttachment | Attachment | ||
valueCoding | Coding | ||
valueQuantity | Quantity | ||
valueReference | Reference(Resource) | ||
item | 0..* | see (item) | |
item | 0..* | see (item) |
Differential from QuestionnaireResponse
QuestionnaireResponse | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..1 | Identifier |
basedOn | Σ I | 0..* | Reference(CarePlan | ServiceRequest) |
partOf | Σ I | 0..* | Reference(Observation | Procedure) |
questionnaire | Σ | 0..1 | canonical(Questionnaire) |
status | Σ ?! | 1..1 | codeBinding |
subject | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
authored | Σ | 0..1 | dateTime |
author | Σ I | 0..1 | Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
source | Σ I | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) |
item | I | 0..* | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
linkId | 1..1 | string | |
definition | 0..1 | uri | |
text | 0..1 | string | |
answer | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
value[x] | 0..1 | ||
valueBoolean | boolean | ||
valueDecimal | decimal | ||
valueInteger | integer | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueTime | time | ||
valueString | string | ||
valueUri | uri | ||
valueAttachment | Attachment | ||
valueCoding | Coding | ||
valueQuantity | Quantity | ||
valueReference | Reference(Resource) | ||
item | 0..* | see (item) | |
item | 0..* | see (item) |
QuestionnaireResponse | |
Definition | A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. |
Cardinality | 0...* |
Alias | Form, QuestionnaireAnswers |
Comments | The QuestionnaireResponse contains enough information about the questions asked and their organization that it can be interpreted somewhat independently from the Questionnaire it is based on. I.e. You don't need access to the Questionnaire in order to extract basic information from a QuestionnaireResponse. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
QuestionnaireResponse.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
QuestionnaireResponse.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
QuestionnaireResponse.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
QuestionnaireResponse.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
QuestionnaireResponse.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
QuestionnaireResponse.identifier | |
Definition | A business identifier assigned to a particular completed (or partially completed) questionnaire. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Used for tracking, registration and other business purposes. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.basedOn | |
Definition | The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. |
Cardinality | 0...* |
Type | Reference(CarePlan | ServiceRequest) |
Summary | True |
Alias | order |
Requirements | Supports traceability of responsibility for the action and allows linkage of an action to the recommendations acted upon. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.partOf | |
Definition | A procedure or observation that this questionnaire was performed as part of the execution of. For example, the surgery a checklist was executed as part of. |
Cardinality | 0...* |
Type | Reference(Observation | Procedure) |
Summary | True |
Comments | Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire. For relationships to referrals, and other types of requests, use basedOn. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.questionnaire | |
Definition | The Questionnaire that defines and organizes the questions for which answers are being provided. |
Cardinality | 0...1 |
Type | canonical(Questionnaire) |
Summary | True |
Alias | Form |
Requirements | Needed to allow editing of the questionnaire response in a manner that enforces the constraints of the original form. |
Comments | If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). |
Invariants |
|
Mappings |
|
QuestionnaireResponse.status | |
Definition | The position of the questionnaire response within its overall lifecycle. |
Cardinality | 1...1 |
Type | code |
Binding | Lifecycle status of the questionnaire response. |
Modifier | True |
Summary | True |
Requirements | The information on Questionnaire resources may possibly be gathered during multiple sessions and altered after considered being finished. |
Comments | This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.subject | |
Definition | The subject of the questionnaire response. This could be a patient, organization, practitioner, device, etc. This is who/what the answers apply to, but is not necessarily the source of information. |
Cardinality | 0...1 |
Type | Reference(Resource) |
Summary | True |
Alias | Patient, Focus |
Requirements | Allows linking the answers to the individual the answers describe. May also affect access control. |
Comments | If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.encounter | |
Definition | The Encounter during which this questionnaire response was created or to which the creation of this record is tightly associated. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Requirements | Provides context for the information that was captured. May also affect access control. |
Comments | This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter. A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.authored | |
Definition | The date and/or time that this set of answers were last changed. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Alias | Date Created, Date published, Date Issued, Date updated |
Requirements | Clinicians need to be able to check the date that the information in the questionnaire was collected, to derive the context of the answers. |
Comments | May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured. This element is optional to allow for systems that might not know the value, however it SHOULD be populated if possible. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.author | |
Definition | Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system. |
Cardinality | 0...1 |
Type | Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) |
Summary | True |
Alias | Laboratory, Service, Practitioner, Department, Company, Performer |
Requirements | Need to know who interpreted the subject's answers to the questions in the questionnaire, and selected the appropriate options for answers. |
Comments | Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.source | |
Definition | The person who answered the questions about the subject. |
Cardinality | 0...1 |
Type | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) |
Summary | True |
Requirements | When answering questions about a subject that is minor, incapable of answering or an animal, another human source may answer the questions. |
Comments | If not specified, no inference can be made about who provided the data. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item | |
Definition | A group or question item from the original questionnaire for which answers are provided. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer). |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
QuestionnaireResponse.item.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.linkId | |
Definition | The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. |
Cardinality | 1...1 |
Type | string |
Requirements | Items can repeat in the answers, so a direct 1..1 correspondence by position might not exist - requiring correspondence by identifier. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.definition | |
Definition | A reference to an [ElementDefinition](elementdefinition.html) that provides the details for the item. |
Cardinality | 0...1 |
Type | uri |
Requirements | A common pattern is to define a set of data elements, and then build multiple different questionnaires for different circumstances to gather the data. This element provides traceability to the common definition. |
Comments | The ElementDefinition must be in a StructureDefinition, and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. There is no need for this element if the item pointed to by the linkId has a definition listed. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.text | |
Definition | Text that is displayed above the contents of the group or as the text of the question being answered. |
Cardinality | 0...1 |
Type | string |
Requirements | Allows the questionnaire response to be read without access to the questionnaire. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.answer | |
Definition | The respondent's answer(s) to the question. |
Cardinality | 0...* |
Type | BackboneElement |
Comments | The value is nested because we cannot have a repeating structure that has variable type. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.answer.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
QuestionnaireResponse.item.answer.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.answer.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.answer.value[x] | |
Definition | The answer (or one of the answers) provided by the respondent to the question. |
Cardinality | 0...1 |
Type | boolean |
Binding | Code indicating the response provided for a question. |
Requirements | Ability to retain a single-valued answer to a question. |
Comments | More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. |
Invariants |
|
Mappings |
|
QuestionnaireResponse.item.answer.item | |
Definition | Nested groups and/or questions found within this particular answer. |
Cardinality | 0...* |
Type | see (item) |
Requirements | It is useful to have "sub-questions", questions which normally appear when certain answers are given and which collect additional details. |
Mappings |
|
QuestionnaireResponse.item.item | |
Definition | Questions or sub-groups nested beneath a question or group. |
Cardinality | 0...* |
Type | see (item) |
Requirements | Reports can consist of complex nested groups. |
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
QuestionnaireResponse | Record of Discussion | CON segments |
QuestionnaireResponse.item.answer | RoD questions with appropriate linkId: RoD - Patient category, Test type, RoD - Research opt out reason, RoD - Remote consent, RoD - Recording clinician, RoD - Responsible clinician, RoD - Patient choice status, RoD - Has research participation been discussed, RoD - Signature | CON (for OML, included in RoD, referenced from NTE-3) |
Genomics-RelatedPerson
Used for linking Patients with other participants of a test order, e.g. in the case of proband and consultand within duo and trio testing.
For instances where clinical/demographic information for the related person are required, a Patient resource for the related person (consultand) SHOULD be included, with the Patient.link field referencing the RelatedPerson resource for the same individual. Elements duplicated across both the Patient and RelatedPerson for the same individual SHOULD in this case be captured within the Patient resource only. The RelatedPerson resource then references the proband Patient resource through the RelatedPerson.patient field.
A diagram illustrating the links between resources is provided below (Duo Scenario):
Further use cases surrounding the use of RelatedPerson are pending further Duo/Trio scenarios.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-RelatedPerson | UKCore | trial-use |
UKCoreRelatedPerson (RelatedPerson) | I | RelatedPerson | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
contactPreference | I | 0..1 | Extension(Complex) |
copyCorrespondenceIndicator | I | 0..1 | Extension(boolean) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | S Σ ?! | 0..1 | boolean |
patient | S Σ I | 1..1 | Reference(Patient) |
relationship | S Σ | 0..* | CodeableConceptBinding |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
gender | Σ | 0..1 | codeBinding |
birthDate | Σ | 0..1 | date |
address | S Σ | 0..* | Address |
photo | I | 0..* | Attachment |
period | I | 0..1 | Period |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
language | 1..1 | CodeableConceptBinding | |
preferred | 0..1 | boolean |
Differential from RelatedPerson
UKCoreRelatedPerson (RelatedPerson) | I | RelatedPerson | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
contactPreference | I | 0..1 | Extension(Complex) |
copyCorrespondenceIndicator | I | 0..1 | Extension(boolean) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
active | S Σ ?! | 0..1 | boolean |
patient | S Σ I | 1..1 | Reference(Patient) |
relationship | S Σ | 0..* | CodeableConceptBinding |
name | S Σ | 0..* | HumanName |
telecom | S Σ I | 0..* | ContactPoint |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ I | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
otherContactSystem | I | 0..1 | Extension(CodeableConcept) |
value | 0..1 | System.String | |
value | Σ | 0..1 | string |
use | Σ ?! | 0..1 | codeBinding |
rank | Σ | 0..1 | positiveInt |
period | Σ I | 0..1 | Period |
gender | Σ | 0..1 | codeBinding |
birthDate | Σ | 0..1 | date |
address | S Σ | 0..* | Address |
photo | I | 0..* | Attachment |
period | I | 0..1 | Period |
communication | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
language | 1..1 | CodeableConceptBinding | |
preferred | 0..1 | boolean |
RelatedPerson | |
Definition | Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
RelatedPerson.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
RelatedPerson.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
RelatedPerson.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
RelatedPerson.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
RelatedPerson.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
RelatedPerson.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
RelatedPerson.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
RelatedPerson.extension:contactPreference | |
Definition | The preferred method of contact, contact times and written communication format given by a Patient or Related Person. |
Cardinality | 0...1 |
Type | Extension(Complex) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
RelatedPerson.extension:copyCorrespondenceIndicator | |
Definition | Extension carrying a boolean indicator showing that a patient's contact or related person SHALL be copied in to patient correspondence. |
Cardinality | 0...1 |
Type | Extension(boolean) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
RelatedPerson.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
RelatedPerson.identifier | |
Definition | Identifier for a person within a particular scope. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Requirements | People are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the patient. Examples are national person identifier and local identifier. |
Invariants |
|
Mappings |
|
RelatedPerson.active | |
Definition | Whether this related person record is in active use. |
Cardinality | 0...1 |
Type | boolean |
Must Support | True |
Modifier | True |
Summary | True |
Requirements | Need to be able to mark a related person record as not to be used, such as if it was created in error. |
Comments | This element is labeled as a modifier because it may be used to mark that the resource was created in error. |
Invariants |
|
Mappings |
|
RelatedPerson.patient | |
Definition | The patient this person is related to. |
Cardinality | 1...1 |
Type | Reference(Patient) |
Must Support | True |
Summary | True |
Requirements | We need to know which patient this RelatedPerson is related to. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
RelatedPerson.relationship | |
Definition | The nature of the relationship between a patient and the related person. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The nature of the relationship between a patient and the related person. |
Must Support | True |
Summary | True |
Requirements | We need to know the relationship with the patient since it influences the interpretation of the information attributed to this person. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
RelatedPerson.name | |
Definition | A name associated with the person. |
Cardinality | 0...* |
Type | HumanName |
Must Support | True |
Summary | True |
Requirements | Related persons need to be identified by name, but it is uncommon to need details about multiple other names for that person. |
Comments | Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom | |
Definition | A contact detail for the person, e.g. a telephone number or an email address. |
Cardinality | 0...* |
Type | ContactPoint |
Must Support | True |
Summary | True |
Requirements | People have (primary) ways to contact them in some way such as phone, email. |
Comments | Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
RelatedPerson.telecom.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.system | |
Definition | Telecommunications form for contact point - what communications system is required to make use of the contact. |
Cardinality | 0...1 |
Type | code |
Binding | Telecommunications form for contact point. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.system.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
RelatedPerson.telecom.system.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.system.extension:otherContactSystem | |
Definition | Other contact system value which extends the system element in the ContactPoint datatype. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.system.value | |
Definition | Primitive value for code |
Cardinality | 0...1 |
Type | System.String |
RelatedPerson.telecom.value | |
Definition | The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address). |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Need to support legacy numbers that are not in a tightly controlled format. |
Comments | Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.use | |
Definition | Identifies the purpose for the contact point. |
Cardinality | 0...1 |
Type | code |
Binding | Use of contact point. |
Modifier | True |
Summary | True |
Requirements | Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose. |
Comments | Applications can assume that a contact is current unless it explicitly says that it is temporary or old. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.rank | |
Definition | Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values. |
Cardinality | 0...1 |
Type | positiveInt |
Summary | True |
Comments | Note that rank does not necessarily follow the order in which the contacts are represented in the instance. |
Invariants |
|
Mappings |
|
RelatedPerson.telecom.period | |
Definition | Time period when the contact point was/is in use. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
RelatedPerson.gender | |
Definition | Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. |
Cardinality | 0...1 |
Type | code |
Binding | The gender of a person used for administrative purposes. |
Summary | True |
Requirements | Needed for identification of the person, in combination with (at least) name and birth date. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
RelatedPerson.birthDate | |
Definition | The date on which the related person was born. |
Cardinality | 0...1 |
Type | date |
Summary | True |
Invariants |
|
Mappings |
|
RelatedPerson.address | |
Definition | Address where the related person can be contacted or visited. |
Cardinality | 0...* |
Type | Address |
Must Support | True |
Summary | True |
Requirements | Need to keep track where the related person can be contacted per postal mail or visited. |
Comments | Note: address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource). |
Invariants |
|
Mappings |
|
RelatedPerson.photo | |
Definition | Image of the person. |
Cardinality | 0...* |
Type | Attachment |
Requirements | Many EHR systems have the capability to capture an image of persons. Fits with newer social media usage too. |
Comments | When providing a summary view (for example with Observation.value[x]) Attachment should be represented with a brief display text such as "Signed Procedure Consent". |
Invariants |
|
Mappings |
|
RelatedPerson.period | |
Definition | The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown. |
Cardinality | 0...1 |
Type | Period |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
RelatedPerson.communication | |
Definition | A language which may be used to communicate with about the patient's health. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | If a related person does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest. |
Comments | If no language is specified, this implies that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required. |
Invariants |
|
Mappings |
|
RelatedPerson.communication.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
RelatedPerson.communication.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
RelatedPerson.communication.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
RelatedPerson.communication.language | |
Definition | The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | A language which may be used to communicate with the related person about the patient's health. |
Requirements | Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect. |
Comments | The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type. |
Invariants |
|
Mappings |
|
RelatedPerson.communication.preferred | |
Definition | Indicates whether or not the patient prefers this language (over other languages he masters up a certain level). |
Cardinality | 0...1 |
Type | boolean |
Requirements | People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method. |
Comments | This language is specifically identified for communicating healthcare information. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
RelatedPerson.relationship | Patient - Relationship to proband, Previous genomic report - Patient's relationship to requesting patient | NK1-3 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_RelatedPerson_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-RelatedPerson-Genomics |
Additional Guidance
patient
SHALL be provided. This SHOULD be a reference to the Patient resource and/or the identifier, e.g. NHS number, for the patient constituting the target of the relationship. This can be visualised using the nomenclature:
{Source (identifier)} is the {Relationship type (relationship)} of {Target (patient)}
'Ryanne Boulder' is the 'natural mother' of 'Fetus of Ryanne Boulder'
In this case the fetal identifier should be used in the patient element.
"patient": { "reference": "Patient/Patient-FoetusOfRyanneBoulder-Example", "identifier": { "system": "urn:oid:2.16.840.1.113883.2.1.3.2.4.18.24", "value": "FT-RWT13521", "assigner": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "RAX" } } } },
identifier
SHALL be provided. This SHOULD be NHS number or local identifier (if NHS number is unavailable e.g. for non UK residents) for the source of the relationship. This can be visualised using the nomenclature:
{Source (identifier)} is the {Relationship type (relationship)} of {Target (patient)}
'Ryanne Boulder' is the 'natural mother' of 'Fetus of Ryanne Boulder'
In this case the Ryanne Boulder's identifier should be used for the RelatedPerson.identifier.
If a local identifier is used, an assigner SHALL be provided. The RelatedPerson.identifier field SHALL match the identifier used for a FamilyMemberHistory or Patient resource if these resources are about the same person.
"identifier": [ { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9999999999" } ],
relationship
SHOULD use the UK Core bound ValueSet and SHOULD be present in all instances of RelatedPerson wherever possible.
"relationship": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", "code": "SIS", "display": "sister" } ] } ]
Genomics-ServiceRequest
Focal resource for test order messages. All additional information or resources SHOULD be linked back to the ServiceRequest or be referenced from the ServiceRequest directly.
ServiceRequests which have been updated post submission SHALL be accompanied by Provenance resources, referencing the ServiceRequest which detail when the resource was changed, who made the change and why.
An illustrative diagram of the links between ServiceRequests and other resources is provided below. Note: not all resource links are represented, to increase legibility of the diagram.
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-ServiceRequest | UKCore | trial-use |
UKCoreServiceRequest (ServiceRequest) | I | ServiceRequest | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
sourceOfServiceRequest | I | 0..1 | Extension(CodeableConcept) |
additionalContact | I | 0..* | Extension(Reference(Organization | Practitioner | PractitionerRole)) |
coverage | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) |
instantiatesUri | Σ | 0..* | uri |
basedOn | S Σ I | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) |
replaces | Σ I | 0..* | Reference(ServiceRequest) |
requisition | Σ | 0..1 | Identifier |
status | S Σ ?! | 1..1 | codeBinding |
intent | S Σ ?! | 1..1 | codeBinding |
category | S Σ | 0..* | CodeableConcept |
genomicsWholeCaseSequencing | Σ | 0..* | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uriFixed Value |
version | Σ | 0..1 | string |
code | Σ | 0..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
priority | S Σ | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
priorityReason | I | 0..* | Extension(CodeableConcept) |
value | 0..1 | System.String | |
doNotPerform | Σ ?! | 0..1 | boolean |
code | S Σ | 0..1 | CodeableConceptBinding |
orderDetail | Σ I | 0..* | CodeableConceptBinding |
quantity[x] | Σ | 0..1 | |
quantityQuantity | Quantity | ||
quantityRatio | Ratio | ||
quantityRange | Range | ||
subject | S Σ I | 1..1 | Reference(Patient | Group | Location | Device) |
encounter | Σ I | 0..1 | Reference(Encounter) |
occurrence[x] | Σ | 0..1 | |
occurrenceDateTime | dateTime | ||
occurrencePeriod | Period | ||
occurrenceTiming | Timing | ||
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
authoredOn | S Σ | 0..1 | dateTime |
requester | S Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
performerType | Σ | 0..1 | CodeableConcept |
performer | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
locationCode | Σ | 0..* | CodeableConcept |
locationReference | Σ I | 0..* | Reference(Location) |
reasonCode | Σ | 0..* | CodeableConceptBinding |
reasonReference | Σ I | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) |
supportingInfo | I | 0..* | Reference(Resource) |
specimen | Σ I | 0..* | Reference(Specimen) |
bodySite | Σ | 0..* | CodeableConceptBinding |
note | 0..* | Annotation | |
patientInstruction | Σ | 0..1 | string |
relevantHistory | I | 0..* | Reference(Provenance) |
Differential from ServiceRequest
UKCoreServiceRequest (ServiceRequest) | I | ServiceRequest | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
sourceOfServiceRequest | I | 0..1 | Extension(CodeableConcept) |
additionalContact | I | 0..* | Extension(Reference(Organization | Practitioner | PractitionerRole)) |
coverage | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
instantiatesCanonical | Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) |
instantiatesUri | Σ | 0..* | uri |
basedOn | S Σ I | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) |
replaces | Σ I | 0..* | Reference(ServiceRequest) |
requisition | Σ | 0..1 | Identifier |
status | S Σ ?! | 1..1 | codeBinding |
intent | S Σ ?! | 1..1 | codeBinding |
category | S Σ | 0..* | CodeableConcept |
genomicsWholeCaseSequencing | Σ | 0..* | CodeableConceptBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
coding | Σ | 0..* | Coding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
system | Σ | 0..1 | uriFixed Value |
version | Σ | 0..1 | string |
code | Σ | 0..1 | code |
display | Σ | 0..1 | string |
userSelected | Σ | 0..1 | boolean |
text | Σ | 0..1 | string |
priority | S Σ | 0..1 | codeBinding |
id | 0..1 | string | |
extension | I | 0..* | Extension |
priorityReason | I | 0..* | Extension(CodeableConcept) |
value | 0..1 | System.String | |
doNotPerform | Σ ?! | 0..1 | boolean |
code | S Σ | 0..1 | CodeableConceptBinding |
orderDetail | Σ I | 0..* | CodeableConceptBinding |
quantity[x] | Σ | 0..1 | |
quantityQuantity | Quantity | ||
quantityRatio | Ratio | ||
quantityRange | Range | ||
subject | S Σ I | 1..1 | Reference(Patient | Group | Location | Device) |
encounter | Σ I | 0..1 | Reference(Encounter) |
occurrence[x] | Σ | 0..1 | |
occurrenceDateTime | dateTime | ||
occurrencePeriod | Period | ||
occurrenceTiming | Timing | ||
asNeeded[x] | Σ | 0..1 | |
asNeededBoolean | boolean | ||
asNeededCodeableConcept | CodeableConcept | ||
authoredOn | S Σ | 0..1 | dateTime |
requester | S Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
performerType | Σ | 0..1 | CodeableConcept |
performer | Σ I | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
locationCode | Σ | 0..* | CodeableConcept |
locationReference | Σ I | 0..* | Reference(Location) |
reasonCode | Σ | 0..* | CodeableConceptBinding |
reasonReference | Σ I | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) |
supportingInfo | I | 0..* | Reference(Resource) |
specimen | Σ I | 0..* | Reference(Specimen) |
bodySite | Σ | 0..* | CodeableConceptBinding |
note | 0..* | Annotation | |
patientInstruction | Σ | 0..1 | string |
relevantHistory | I | 0..* | Reference(Provenance) |
ServiceRequest | |
Definition | A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. |
Cardinality | 0...* |
Alias | diagnostic request, referral, referral request, transfer of care request |
Invariants |
|
Mappings |
|
ServiceRequest.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
ServiceRequest.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
ServiceRequest.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
ServiceRequest.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
ServiceRequest.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
ServiceRequest.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
ServiceRequest.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.extension:sourceOfServiceRequest | |
Definition | This represents the source of referral. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
ServiceRequest.extension:additionalContact | |
Definition | Details of an additional contact, who should be contacted regarding questions arising from the service request. |
Cardinality | 0...* |
Type | Extension(Reference(Organization | Practitioner | PractitionerRole)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
ServiceRequest.extension:coverage | |
Definition | The funding category for the Service Request. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
ServiceRequest.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.identifier | |
Definition | Identifiers assigned to this order instance by the orderer and/or the receiver and/or order fulfiller. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Comments | The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2). For further discussion and examples see the resource notes section below. |
Invariants |
|
Mappings |
|
ServiceRequest.instantiatesCanonical | |
Definition | The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest. |
Cardinality | 0...* |
Type | canonical(ActivityDefinition | PlanDefinition) |
Summary | True |
Comments | Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. |
Invariants |
|
Mappings |
|
ServiceRequest.instantiatesUri | |
Definition | The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this ServiceRequest. |
Cardinality | 0...* |
Type | uri |
Summary | True |
Comments | This might be an HTML page, PDF, etc. or could just be a non-resolvable URI identifier. |
Invariants |
|
Mappings |
|
ServiceRequest.basedOn | |
Definition | Plan/proposal/order fulfilled by this request. |
Cardinality | 0...* |
Type | Reference(CarePlan | ServiceRequest | MedicationRequest) |
Must Support | True |
Summary | True |
Alias | fulfills |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.replaces | |
Definition | The request takes the place of the referenced completed or terminated request(s). |
Cardinality | 0...* |
Type | Reference(ServiceRequest) |
Summary | True |
Alias | supersedes, prior, renewed order |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.requisition | |
Definition | A shared identifier common to all service requests that were authorized more or less simultaneously by a single author, representing the composite or group identifier. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Alias | grouperId, groupIdentifier |
Requirements | Some business processes need to know if multiple items were ordered as part of the same "requisition" for billing or other purposes. |
Comments | Requests are linked either by a "basedOn" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation. |
Invariants |
|
Mappings |
|
ServiceRequest.status | |
Definition | The status of the order. |
Cardinality | 1...1 |
Type | code |
Binding | The status of a service order. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see Event Pattern for general discussion) or using the Task resource. |
Invariants |
|
Mappings |
|
ServiceRequest.intent | |
Definition | Whether the request is a proposal, plan, an original order or a reflex order. |
Cardinality | 1...1 |
Type | code |
Binding | The kind of service request. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. |
Invariants |
|
Mappings |
|
ServiceRequest.category | |
Definition | A code that classifies the service for searching, sorting and display purposes (e.g. "Surgical Procedure"). |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Classification of the requested service. |
Must Support | True |
Summary | True |
Requirements | Used for filtering what service request are retrieved and displayed. |
Comments | There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. |
Slicing | Unordered, Open, by coding.system(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing | |
Definition | A code that classifies the service for Genomics, whether it is a Whole Case Genome Sequencing or non-Whole Genome Sequencing for cancer or rare diseases |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Classification of the requested service. |
Summary | True |
Requirements | Used for filtering what service request are retrieved and displayed. |
Comments | There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource. The level of granularity is defined by the category concepts in the value set. |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
Requirements | Allows for alternative encodings within a code system, and translations to other code systems. |
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.system | |
Definition | The identification of the code system that defines the meaning of the symbol in the code. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
Requirements | Need to be unambiguous about the source of the definition of the symbol. |
Comments | The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously. |
Invariants |
|
Fixed Value | https://fhir.hl7.org.uk/CodeSystem/UKCore-GenomeSequencingCategory |
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.version | |
Definition | The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date. |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.code | |
Definition | A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). |
Cardinality | 0...1 |
Type | code |
Summary | True |
Requirements | Need to refer to a particular code in the system. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.display | |
Definition | A representation of the meaning of the code in the system, following the rules of the system. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | Need to be able to carry a human-readable meaning of the code for readers that do not know the system. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.coding.userSelected | |
Definition | Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). |
Cardinality | 0...1 |
Type | boolean |
Summary | True |
Requirements | This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing. |
Comments | Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely. |
Invariants |
|
Mappings |
|
ServiceRequest.category:genomicsWholeCaseSequencing.text | |
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source. |
Comments | Very often the text is the same as a displayName of one of the codings. |
Invariants |
|
Mappings |
|
ServiceRequest.priority | |
Definition | Indicates how quickly the ServiceRequest should be addressed with respect to other requests. |
Cardinality | 0...1 |
Type | code |
Binding | Identifies the level of importance to be assigned to actioning the request. |
Must Support | True |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ServiceRequest.priority.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
ServiceRequest.priority.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ServiceRequest.priority.extension:priorityReason | |
Definition | A SNOMED CT concept representing the reason a Service Request is urgent |
Cardinality | 0...* |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
ServiceRequest.priority.value | |
Definition | Primitive value for code |
Cardinality | 0...1 |
Type | System.String |
ServiceRequest.doNotPerform | |
Definition | Set this to true if the record is saying that the service/procedure should NOT be performed. |
Cardinality | 0...1 |
Type | boolean |
Modifier | True |
Summary | True |
Requirements | Used for do not ambulate, do not elevate head of bed, do not flush NG tube, do not take blood pressure on a certain arm, etc. |
Comments | In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition. If the ServiceRequest.code and ServiceRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation. |
Invariants |
|
Mappings |
|
ServiceRequest.code | |
Definition | A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A set of codes that define a procedure or a procedure with explicit context. Selected from the SNOMED CT UK coding system. |
Must Support | True |
Summary | True |
Alias | service requested |
Comments | Many laboratory and radiology procedure codes embed the specimen/organ system in the test order name, for example, serum or serum/plasma glucose, or a chest x-ray. The specimen might not be recorded separately from the test code. |
Invariants |
|
Mappings |
|
ServiceRequest.orderDetail | |
Definition | Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codified order entry details which are based on order context. |
Summary | True |
Alias | detailed instructions |
Comments | For information from the medical record intended to support the delivery of the requested services, use the |
Invariants |
|
Mappings |
|
ServiceRequest.quantity[x] | |
Definition | An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction). |
Cardinality | 0...1 |
Type | Quantity |
Summary | True |
Requirements | When ordering a service the number of service items may need to be specified separately from the the service item. |
Invariants |
|
Mappings |
|
ServiceRequest.subject | |
Definition | On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans). |
Cardinality | 1...1 |
Type | Reference(Patient | Group | Location | Device) |
Must Support | True |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.encounter | |
Definition | An encounter that provides additional information about the healthcare context in which this request is made. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Alias | context |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.occurrence[x] | |
Definition | The date/time at which the requested service should occur. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Alias | schedule |
Invariants |
|
Mappings |
|
ServiceRequest.asNeeded[x] | |
Definition | If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. |
Cardinality | 0...1 |
Type | boolean |
Binding | A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. |
Summary | True |
Invariants |
|
Mappings |
|
ServiceRequest.authoredOn | |
Definition | When the request transitioned to being actionable. |
Cardinality | 0...1 |
Type | dateTime |
Must Support | True |
Summary | True |
Alias | orderedOn |
Invariants |
|
Mappings |
|
ServiceRequest.requester | |
Definition | The individual who initiated the request and has responsibility for its activation. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) |
Must Support | True |
Summary | True |
Alias | author, orderer |
Comments | This not the dispatcher, but rather who is the authorizer. This element is not intended to handle delegation which would generally be managed through the Provenance resource. |
Invariants |
|
Mappings |
|
ServiceRequest.performerType | |
Definition | Desired type of performer for doing the requested service. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. |
Summary | True |
Alias | specialty |
Comments | This is a role, not a participation type. In other words, does not describe the task but describes the capacity. For example, “compounding pharmacy”, “psychiatrist” or “internal referral”. |
Invariants |
|
Mappings |
|
ServiceRequest.performer | |
Definition | The desired performer for doing the requested service. For example, the surgeon, dermatopathologist, endoscopist, etc. |
Cardinality | 0...* |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
Summary | True |
Alias | request recipient |
Comments | If multiple performers are present, it is interpreted as a list of alternative performers without any preference regardless of order. If order of preference is needed use the request-performerOrder extension. Use CareTeam to represent a group of performers (for example, Practitioner A and Practitioner B). |
Invariants |
|
Mappings |
|
ServiceRequest.locationCode | |
Definition | The preferred location(s) where the procedure should actually happen in coded or free text form. E.g. at home or nursing day care center. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A location type where services are delivered. |
Summary | True |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
ServiceRequest.locationReference | |
Definition | A reference to the the preferred location(s) where the procedure should actually happen. E.g. at home or nursing day care center. |
Cardinality | 0...* |
Type | Reference(Location) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.reasonCode | |
Definition | An explanation or justification for why this service is being requested in coded or textual form. This is often for billing purposes. May relate to the resources referred to in `supportingInfo`. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | A set of codes that define a reason for a service request. |
Summary | True |
Comments | This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. Use |
Invariants |
|
Mappings |
|
ServiceRequest.reasonReference | |
Definition | Indicates another resource that provides a justification for why this service is being requested. May relate to the resources referred to in `supportingInfo`. |
Cardinality | 0...* |
Type | Reference(Condition | Observation | DiagnosticReport | DocumentReference) |
Summary | True |
Comments | This element represents why the referral is being made and may be used to decide how the service will be performed, or even if it will be performed at all. To be as specific as possible, a reference to Observation or Condition should be used if available. Otherwise when referencing DiagnosticReport it should contain a finding in |
Invariants |
|
Mappings |
|
ServiceRequest.insurance | |
Definition | Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be needed for delivering the requested service. |
Cardinality | 0...* |
Type | Reference(Coverage | ClaimResponse) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ServiceRequest.supportingInfo | |
Definition | Additional clinical information about the patient or specimen that may influence the services or their interpretations. This information includes diagnosis, clinical findings and other observations. In laboratory ordering these are typically referred to as "ask at order entry questions (AOEs)". This includes observations explicitly requested by the producer (filler) to provide context or supporting information needed to complete the order. For example, reporting the amount of inspired oxygen for blood gas measurements. |
Cardinality | 0...* |
Type | Reference(Resource) |
Alias | Ask at order entry question, AOE |
Comments | To represent information about how the services are to be delivered use the |
Invariants |
|
Mappings |
|
ServiceRequest.specimen | |
Definition | One or more specimens that the laboratory procedure will use. |
Cardinality | 0...* |
Type | Reference(Specimen) |
Summary | True |
Comments | Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to. Conversely, if the request is entered first with an unknown specimen, then the Specimen resource points to the ServiceRequest. |
Invariants |
|
Mappings |
|
ServiceRequest.bodySite | |
Definition | Anatomic location where the procedure should be performed. This is the target site. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Summary | True |
Alias | location |
Requirements | Knowing where the procedure is performed is important for tracking if multiple sites are possible. |
Comments | Only used if not implicit in the code found in ServiceRequest.code. If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension procedure-targetBodyStructure. |
Invariants |
|
Mappings |
|
ServiceRequest.note | |
Definition | Any other notes and comments made about the service request. For example, internal billing notes. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
ServiceRequest.patientInstruction | |
Definition | Instructions in terms that are understood by the patient or consumer. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ServiceRequest.relevantHistory | |
Definition | Key events in the history of the request. |
Cardinality | 0...* |
Type | Reference(Provenance) |
Comments | This might not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject. |
Invariants |
|
Mappings |
|
key | human | severity | expression |
---|---|---|---|
gen-1 | Extension must be present if priority is not routine | error | (ServiceRequest.extension(priorityReason).exists() and ServiceRequest.priority!=routine) or ServiceRequest.priority=routine |
FHIR | MDS | HL7v2 |
---|---|---|
ServiceRequest.requester | Requester (more details in PractitionerRole resource mappings), PLCM activity - Commissioned service category code, Previous genomic report - Original requester full name, Previous genomic report - Original requester organisation ODS code, Previous genomic report - Original requester reason for request, Previous non genomic report - Original requester full name, Previous non genomic report - Original requester organisation ODS code, Previous non genomic report - Original requester reason for request | Various ORC/STF segments |
ServiceRequest.extension:additionalContact | Additional Contact (more details in PractitionerRole resource mappings) | Various STF segments |
ServiceRequest.subject | Patient (more details in Patient resource mappings), Patient - Is relative | First PID segment in OML message, relatives referenced through NK1 segments |
ServiceRequest.identifier | Test request - Test request id, PLCM activity - NGIS referral identifier, Previous genomic report - Report lab test number | ORC-2, ORC-3 |
ServiceRequest.extension:coverage | Test request - Payment status | IN1-15 |
ServiceRequest.authoredOn | Test request - Date and time request sent, PLCM activity - Financial month, PLCM activity - Financial year, PLCM activity - Turnaround time (calendar days) | ORC-9 (for TAT subtracted from OBR-7) |
ServiceRequest.priority | Test request - Is urgent | TQ1-9 |
ServiceRequest.extension:priorityReason | Test request - Urgency reason | N/A could possibly use TQ1-10 |
ServiceRequest.code.coding.system | Test request - Test Directory version | OBR-4.3 |
ServiceRequest.code | Test request - CI code, Test request - CITT code, PLCM activity - Service code, PLCM activity - Point of delivery code, PLCM activity - Local point of delivery code, PLCM activity - Test method code | OBR-4 |
ServiceRequest.orderDetail | Test request - CI code for multipurpose CITT, Test request - Type of reanalysis, Test request - DNA storage information | NTE segment attached to OBR |
ServiceRequest.reasonCode | Test request - Reason for testing, Test request - Reason for reanalysis | OBR-13 segment linked to ORC |
ServiceRequest.supportingInfo | Test request - Detail of reason for reanalysis, Test request - Further information | NTE segments linked to OBR segment for reanalysis reason, Additional segments attached to ORC/OBR |
ServiceRequest.occurrenceDateTime | Test request - Date report required by | OBR-8 |
ServiceRequest.performer | PLCM activity - ODS code of organisation commissioned to deliver requested test | PRD-7 where PRD-1=RT |
ServiceRequest.note | Raw specimen/biopsy - Sample to follow reason | NTE segment attached to ORC |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_ServiceRequest_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-ServiceRequest-Genomics |
Additional Guidance
- extension:additionalContact
- extension:coverage
- identifier
- basedOn
- status
- intent
- category
- priority
- doNotPerform
- code
- orderDetail
- subject
- occurrence[x]
- authoredOn
- requester
- performer
- reasonCode
- reasonReference
- supportingInfo
- specimen
- note
extension:additionalContact
Extension used for recording additional personnel who should be contacted regarding questions related to a test order. This is separate from the requester or reporting address.
The additional contact SHOULD be a reference to a PractitionerRole resource wherever possible and SHALL contain contact details for the practitioner.
Additionally, where are there multiple practitioners involved in providing care who need to be listed as contacts, the contact details for each practitioner (or service) SHOULD be specified through additional additionalContact entries.
{ "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-AdditionalContact", "valueReference": { "reference": "PractitionerRole/PractitionerRole-AdditionalContact-Example" } },
extension:coverage
SHALL be present for Genomic Order Management test orders. Extension for recording how work against the test order is being funded. The ValueSet bound to this extension is currently under review by the NHS England Genomics Informatics Working Advisory Group and subject to change.
{ "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-Coverage", "valueCoding": { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-FundingCategory", "code": "nhs", "display": "NHS" } }
identifier
Automatically assigned by the central service, though source systems MAY provide a local identifier for tracking within their own system, in which case the central order number is appended to the identifiers array.
"identifier": [ { "system": "https://fhir.nhs.uk/Id/GMSOrder", "value": "ROA43728" } ],
basedOn
SHALL reference a parent request where this ServiceRequest is based on a previous request, e.g. in the case of reanalysis and cascade testing, or Germline Late tests in the Tumour First/Germline Late scenario.
"basedOn": [ { "reference": "ServiceRequest/ServiceRequest-NonWGSTestOrderForm-FatherOfFayMutlow-Example" } ],
status
SHALL be provided. ServiceRequests SHOULD be marked as 'draft' until submitted, after which they will be marked as 'active' automatically by the central GMS system.
A ServiceRequest may be marked as 'on-hold' if work against it cannot continue temporarily, e.g. due to certain prerequisite information not being provided. A ServiceRequest SHOULD be marked as 'revoked' if cancelled, either by the lab performing work against the order or at the request of the requesting clinician, though in each case a Provenance resource SHALL be provided to capture why the state change has occurred. The requesting clinician may also mark the ServiceRequest as entered-in-error, though implications for work already in progress needs to be investigated further.
A ServiceRequest SHOULD only be marked as completed by the requesting clinician upon receipt and review of the resulting DiagnosticReport.
For the full list of expected/supported ServiceRequest statuses, please see the table below:
Status | Description | Genomic workflow usage |
---|---|---|
Draft | The request has been created but is not yet complete or ready for action. | Saved but not submitted to central service (out of scope for Alpha). |
Active | The request is in force and ready to be acted upon. | Submitted to central service. |
On Hold | The request (and any implicit authorization to act) has been temporarily withdrawn but is expected to resume in the future. | Issue with the authorization for the test (potentially recoverable), not expected to be driven by on-hold statuses of Tasks. |
Revoked | The request (and any implicit authorization to act) has been terminated prior to the known full completion of the intended actions. No further activity should occur. | Unrecoverable issue with order. Either used when the test is no longer needed or there is an is an unrecoverable failure with its fulfillment (driven by the requesting clinician). This status will propagate down to any Tasks which have not already moved into in-progress, Tasks not started will be marked with the status of cancelled. |
Completed | The activity described by the request has been fully performed. No further activity will occur. | Completed order, marked by requestor once DiagnosticReport is received and accepted. |
Entered in Error | This request should never have existed and should be considered 'void'. (It is possible that real-world decisions were based on it. If real-world activity has occurred, the status should be "revoked" rather than "entered-in-error".) | MAY be used for ServiceRequests created in error, can only be set if no Tasks have been started. If a Task has been moved out of its initial state, the status of Revoked SHOULD be used instead. This status will propagate down to Tasks, marking the tasks as entered-in-error. |
Unknown | The authoring/source system does not know which of the status values currently applies for this request. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which. | Should not be used. |
"status": "active",
intent
SHALL be provided. ServiceRequests SHOULD be marked as 'order' unless they have been raised by a lab in response to an existing ServiceRequest, in which case they SHOULD be marked as 'reflex-order'. For reflex orders, the ServiceRequest.basedOn field SHALL be populated with the original ServiceRequest, for traceability.
"intent": "order",
category
ServiceRequests SHOULD use the Genomics Sequencing Category ValueSet when categorising the test order in order to aid analytics (e.g. PLCM). This list is pending review from the Informatics Working Advisory Group, after which a full list of possible categorisations will be finalised.
"category": [ { "coding": [ { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-GenomeSequencingCategory", "code": "rare-disease-non-wgs", "display": "Rare Disease - Non-WGS" } ] } ],
priority
ServiceRequests marked as urgent (i.e. not routine) SHOULD populate the extension:priorityReason with why an urgent test is being requested. This SHOULD ideally be coded using SNOMED CT concepts. Multiple priorityReason extensions are allowed within a single ServiceRequest in order to aid post-coordination.
"priority": "urgent", "_priority": { "extension" : [ { "url" : "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-PriorityReason", "valueCodeableConcept" : { "coding": [ { "system": "http://snomed.info/sct", "code": "722480002", "display": "Chemotherapy started" } ] } } ] }
doNotPerform
For the purposes of Genomic Test Ordering, the doNotPerform field SHALL NOT be used. All ServiceRequests requests received by the system will be assumed to be orders for services/testing.
code
SHALL be provided. Code SHOULD contain the CI or CITT Test Directory code, currently available at https://www.england.nhs.uk/publication/national-genomic-test-directories/. There is currently no CodeSystem or queryable API for retrieving codes but work to address this is underway within the NHS England Genomics Unit.
Codes from the Genomic Test Directory SHOULD also specify the version number of the test directory at the time the test is being ordered, to ensure the test methods used are consistent with that version of the directory.
"code": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/England-GenomicTestDirectory", "code": "R67.2", "display": "Monogenic hearing loss", "version": "7" } ] },
orderDetail
If multiple codes are being requested within one Test Order, these SHOULD be represented using the 'orderDetail' field, with the main indication captured using the 'code' field above. If completely separate pathways/samples etc. are required for processing against the codes, it is expected these would be requested via multiple ServiceRequests instead of a single ServiceRequest with multiple orderDetail codes. The exact cut-off for when orderDetail vs. multiple ServiceRequest should be used is still being investigated. An appropriate code(Panel codes) SHOULD come from the following NamingSystem: England-GenomicTestPanelCode
"orderDetail": [ { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/England-GenomicTestDirectory", "code": "R67.1", "display": "Monogenic hearing loss" } ] } ],
subject
SHALL be provided. Reference to the associated Patient. This MAY be through a resource reference if the ID on the central service is known (or provided within the transaction bundle) or through NHS number where this is known and has been traced through PDS
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
occurrence[x]
If a result is required by a specific date, this MAY be indicated though occurrenceDateTime, though there is no guarantee from the GMS that the ServiceRequest will be processed in the time frame specified.
"occurrenceDateTime": "2023-08-25",
authoredOn
SHALL be populated by the client upon submission, either manually by the user or automatically by the system integrating with the central GMS.
"authoredOn": "2023-08-05",
requester
SHALL be populated on all ServiceRequests submitted to the central GMS. This SHALL reference a PractitionerRole resource also submitted to the system (either within a single transaction or previously POSTed).
"requester": { "reference": "PractitionerRole/PractitionerRole-GeneSmithENT-Example" },
performer
Allows a requester to assign processing of the ServiceRequest to a particular organization (e.g. a remote GLH). The performer field SHOULD be populated with the ODS code for the managing organization/GLH.
In the future state, ServiceRequests may be kept open, by not specifying a performer, allowing them to be picked up by the local GLH or otherwise routed based on by test routing (TBC).
"performer": [ { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "RGT01" } } ]
reasonCode
reasonCode SHOULD be populated with the type of request being ordered e.g. Diagnostic, Carrier, Predictive, Stored DNA etc. The final list of applicable codes which can be selected is still under review. It is expected that a fixed list of SNOMED CT codes will be permissible, to allow appropriate categorisation by the central service.
This mapping is currently under review as the CI/CITT code is also technically the reason/indication for testing.
"reasonCode": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "103693007", "display": "Diagnostic procedure" } ] } ],
reasonReference
Reference SHOULD be associated to the primary condition being tested for. i.e,
"reasonReference": { "reference": "Condition/Condition-LungTumor-Example" },
supportingInfo
Any clinical information provided about the patient for whom the testing is being requested SHALL be referenced though the supportingInfo field, to ensure all the information relevant to the ServiceRequest can be easily retrieved. This includes Observations, Conditions, Procedures, FamilyMemberHistories etc.
This also includes resources related to family members included as part of testing (consultands), e.g. in Duo/Trio scenarios. In this instance, RelatedPerson and Patient resource references for the consultands SHALL be added to the supportingInfo array, as well as any clinical resources related to these individuals. This is to ensure the number of participants for a given test can be calculated correctly, e.g. through counting the number of RelatedPerson resources referenced from ServiceRequest.supportingInfo plus the subject of the ServiceRequest itself (the proband).
For WGS testing, where Records of Discussion are required in order to process the test, Consent resources SHOULD also be added to the supportingInfo array once available.
"supportingInfo": [ { "reference": "Observation/Observation-DiseaseStatus-Example" }, { "reference": "Observation/Observation-GenomicEthnicity-Example" }, { "reference": "Observation/Observation-NoPregnancy-Example" }, { "reference": "FamilyMemberHistory/FamilyMemberHistory-NonConsanguinousUnion-Example" }, { "reference": "Observation/Observation-NoTransplant-Example" }, { "reference": "Observation/Observation-NoTransfusion-Example" }, { "reference": "Condition/Condition-HearingLoss-Example" }, { "reference": "RelatedPerson/RelatedPerson-AliceSmithamProbandMother-Example" }, { "reference": "Patient/Patient-PheobeSmithamMother-Example" }, ],
specimen
ServiceRequests where the required samples already exist, e.g. in the case where a specimen already in storage needs to be processed, SHOULD reference these samples through the ServiceRequest.specimen field. Where samples need to be collected to support testing, these SHOULD instead reference the ServiceRequest, through Specimen.request (i.e. the service request has prompted collection of the sample), and SHOULD also be referenced from within ServiceRequest.supportingInfo as per the guidance above (pending review). The referenced Specimen resources SHOULD either be contained within the test order transaction bundle or already exist on the central GMS.
In the case of Reanalysis or Reinterpretation tests, Specimens related to previous ServiceRequest are not required to be added to the new test request. The links from the previous ServiceRequest can be followed to identify the Specimens that resulted in the data being reanalysed, e.g. (reanalysis) ServiceRequest.basedOn -> (prior) ServiceRequest, (prior) ServiceRequest <- (original) Specimen.request
"specimen": [ { "reference": "Specimen/Specimen-BloodSerum-Example" } ],
note
Any information which cannot be readily be structured SHOULD be entered into the note field, though prolific use of the field to capture clinical information which better fits in level 3/4 FHIR resources is discouraged.
"note": [ { "text": "No family history of genomic testing" } ]
Genomics-Specimen
Used to capture information on Samples which will undergo or have undergone processing for genomic testing.
Within FHIR R4, there is no way to capture location against a sample to aid tracking, one of the key requirements of the Genomic Medicine Service. Investigation of a possible solution through backporting the container.location element within R5 is currently being investigated. Until this backport is adopted by UK Core, the location of samples, including interactions to manage and track samples, will be performed through changes to Task resources generated on submission of a ServiceRequest.
A diagram illustrating the links between resources is provided below (Duo Scenario)
Note: links from ServiceRequest.supportingInfo to samples collected after submission are pending further investigation
Profile url | FHIR Module | Normative Status |
---|---|---|
https://fhir.hl7.org.uk/StructureDefinition/UKCore-Specimen | UKCore | trial-use |
UKCoreSpecimen (Specimen) | I | Specimen | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
sampleCategory | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
accessionIdentifier | Σ | 0..1 | Identifier |
status | S Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Substance | Location) |
receivedTime | S Σ | 0..1 | dateTime |
parent | I | 0..* | Reference(Specimen) |
request | I | 0..* | Reference(ServiceRequest) |
collection | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
specialHandling | I | 0..* | Extension(CodeableConcept) |
modifierExtension | Σ ?! I | 0..* | Extension |
collector | Σ I | 0..1 | Reference(Practitioner | PractitionerRole) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
collectionCollectorR5 | I | 0..1 | Extension(Reference(Patient | RelatedPerson)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Patient | RelatedPerson) | ||
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
collected[x] | Σ | 0..1 | |
collectedDateTime | dateTime | ||
collectedPeriod | Period | ||
duration | Σ I | 0..1 | Duration |
quantity | I | 0..1 | SimpleQuantity |
method | 0..1 | CodeableConcept | |
bodySite | 0..1 | CodeableConceptBinding | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
bodySiteReference | I | 0..1 | Extension(Reference(BodyStructure)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(BodyStructure) | ||
coding | Σ | 0..* | Coding |
text | Σ | 0..1 | string |
fastingStatus[x] | Σ | 0..1 | Binding |
fastingStatusCodeableConcept | CodeableConcept | ||
fastingStatusDuration | Duration | ||
processing | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
description | 0..1 | string | |
procedure | 0..1 | CodeableConcept | |
additive | I | 0..* | Reference(Substance) |
time[x] | 0..1 | ||
timeDateTime | dateTime | ||
timePeriod | Period | ||
container | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceR5 | I | 0..1 | Extension(Reference(UKCoreDevice)) |
locationR5 | I | 0..1 | Extension(Reference(UKCoreLocation)) |
modifierExtension | Σ ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
description | 0..1 | string | |
type | 0..1 | CodeableConceptBinding | |
capacity | I | 0..1 | SimpleQuantity |
specimenQuantity | I | 0..1 | SimpleQuantity |
additive[x] | 0..1 | ||
additiveCodeableConcept | CodeableConcept | ||
additiveReference | Reference(Substance) | ||
condition | Σ | 0..* | CodeableConceptBinding |
note | 0..* | Annotation |
Differential from Specimen
UKCoreSpecimen (Specimen) | I | Specimen | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
sampleCategory | I | 0..1 | Extension(CodeableConcept) |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
accessionIdentifier | Σ | 0..1 | Identifier |
status | S Σ ?! | 0..1 | codeBinding |
type | S Σ | 0..1 | CodeableConceptBinding |
subject | S Σ I | 0..1 | Reference(Patient | Group | Device | Substance | Location) |
receivedTime | S Σ | 0..1 | dateTime |
parent | I | 0..* | Reference(Specimen) |
request | I | 0..* | Reference(ServiceRequest) |
collection | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
specialHandling | I | 0..* | Extension(CodeableConcept) |
modifierExtension | Σ ?! I | 0..* | Extension |
collector | Σ I | 0..1 | Reference(Practitioner | PractitionerRole) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
collectionCollectorR5 | I | 0..1 | Extension(Reference(Patient | RelatedPerson)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(Patient | RelatedPerson) | ||
reference | Σ I | 0..1 | string |
type | Σ | 0..1 | uriBinding |
identifier | Σ | 0..1 | Identifier |
display | Σ | 0..1 | string |
collected[x] | Σ | 0..1 | |
collectedDateTime | dateTime | ||
collectedPeriod | Period | ||
duration | Σ I | 0..1 | Duration |
quantity | I | 0..1 | SimpleQuantity |
method | 0..1 | CodeableConcept | |
bodySite | 0..1 | CodeableConceptBinding | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
bodySiteReference | I | 0..1 | Extension(Reference(BodyStructure)) |
id | 0..1 | string | |
extension | I | 0..* | Extension |
url | 1..1 | uriFixed Value | |
value[x] | 1..1 | ||
valueReference | Reference(BodyStructure) | ||
coding | Σ | 0..* | Coding |
text | Σ | 0..1 | string |
fastingStatus[x] | Σ | 0..1 | Binding |
fastingStatusCodeableConcept | CodeableConcept | ||
fastingStatusDuration | Duration | ||
processing | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
description | 0..1 | string | |
procedure | 0..1 | CodeableConcept | |
additive | I | 0..* | Reference(Substance) |
time[x] | 0..1 | ||
timeDateTime | dateTime | ||
timePeriod | Period | ||
container | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
deviceR5 | I | 0..1 | Extension(Reference(UKCoreDevice)) |
locationR5 | I | 0..1 | Extension(Reference(UKCoreLocation)) |
modifierExtension | Σ ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
description | 0..1 | string | |
type | 0..1 | CodeableConceptBinding | |
capacity | I | 0..1 | SimpleQuantity |
specimenQuantity | I | 0..1 | SimpleQuantity |
additive[x] | 0..1 | ||
additiveCodeableConcept | CodeableConcept | ||
additiveReference | Reference(Substance) | ||
condition | Σ | 0..* | CodeableConceptBinding |
note | 0..* | Annotation |
Specimen | |
Definition | A sample to be used for analysis. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Specimen.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Specimen.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Specimen.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Specimen.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Specimen.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Specimen.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.extension:sampleCategory | |
Definition | This extension allows the recording of the category of a sample for use within Genomics, whether it is a tumour or germline sample. |
Cardinality | 0...1 |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.identifier | |
Definition | Id for specimen. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.accessionIdentifier | |
Definition | The identifier assigned by the lab when accessioning specimen(s). This is not necessarily the same as the specimen identifier, depending on local lab procedures. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.status | |
Definition | The availability of the specimen. |
Cardinality | 0...1 |
Type | code |
Binding | Codes providing the status/availability of a specimen. |
Must Support | True |
Modifier | True |
Summary | True |
Comments | This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
Specimen.type | |
Definition | The kind of material that forms the specimen. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | A code from the SNOMED CT UK Clinical Terminology coding system |
Must Support | True |
Summary | True |
Comments | The type can change the way that a specimen is handled and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems. |
Invariants |
|
Mappings |
|
Specimen.subject | |
Definition | Where the specimen came from. This may be from patient(s), from a location (e.g., the source of an environmental sample), or a sampling of a substance or a device. |
Cardinality | 0...1 |
Type | Reference(Patient | Group | Device | Substance | Location) |
Must Support | True |
Summary | True |
Requirements | Must know the subject context. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Specimen.receivedTime | |
Definition | Time when specimen was received for processing or testing. |
Cardinality | 0...1 |
Type | dateTime |
Must Support | True |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.parent | |
Definition | Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen. |
Cardinality | 0...* |
Type | Reference(Specimen) |
Comments | The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample. |
Invariants |
|
Mappings |
|
Specimen.request | |
Definition | Details concerning a service request that required a specimen to be collected. |
Cardinality | 0...* |
Type | Reference(ServiceRequest) |
Comments | The request may be explicit or implied such with a ServiceRequest that requires a blood draw. |
Invariants |
|
Mappings |
|
Specimen.collection | |
Definition | Details concerning the specimen collection. |
Cardinality | 0...1 |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Specimen.collection.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.collection.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.collection.extension:specialHandling | |
Definition | Special handling during the collection, transport, or storage of the specimen. |
Cardinality | 0...* |
Type | Extension(CodeableConcept) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.collection.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.collection.collector | |
Definition | Person who collected the specimen. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Specimen.collection.collector.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.collection.collector.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.collection.collector.extension:collectionCollectorR5 | |
Definition | Person who collected the specimen. This is an R5 backport |
Cardinality | 0...1 |
Type | Extension(Reference(Patient | RelatedPerson)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.collection.collector.extension:collectionCollectorR5.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.collection.collector.extension:collectionCollectorR5.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.collection.collector.extension:collectionCollectorR5.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.collection.collector |
Mappings |
|
Specimen.collection.collector.extension:collectionCollectorR5.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | Reference(Patient | RelatedPerson) |
Invariants |
|
Mappings |
|
Specimen.collection.collector.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |
Invariants |
|
Mappings |
|
Specimen.collection.collector.type | |
Definition | The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent. The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources). |
Cardinality | 0...1 |
Type | uri |
Binding | Aa resource (or, for logical models, the URI of the logical model). |
Summary | True |
Comments | This element is used to indicate the type of the target of the reference. This may be used which ever of the other elements are populated (or not). In some cases, the type of the target may be determined by inspection of the reference (e.g. a RESTful URL) or by resolving the target of the reference; if both the type and a reference is provided, the reference SHALL resolve to a resource of the same type as that specified. |
Invariants |
|
Mappings |
|
Specimen.collection.collector.identifier | |
Definition | An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Comments | When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it. Reference is intended to point to a structure that can potentially be expressed as a FHIR resource, though there is no need for it to exist as an actual FHIR resource instance - except in as much as an application wishes to actual find the target of the reference. The content referred to be the identifier must meet the logical constraints implied by any limitations on what resource types are permitted for the reference. For example, it would not be legitimate to send the identifier for a drug prescription if the type were Reference(Observation|DiagnosticReport). One of the use-cases for Reference.identifier is the situation where no FHIR representation exists (where the type is Reference (Any). |
Invariants |
|
Mappings |
|
Specimen.collection.collector.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. |
Invariants |
|
Mappings |
|
Specimen.collection.collected[x] | |
Definition | Time when specimen was collected from subject - the physiologically relevant time. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.collection.duration | |
Definition | The span of time over which the collection of a specimen occurred. |
Cardinality | 0...1 |
Type | Duration |
Summary | True |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Specimen.collection.quantity | |
Definition | The quantity of specimen collected; for instance the volume of a blood sample, or the physical measurement of an anatomic pathology sample. |
Cardinality | 0...1 |
Type | SimpleQuantity |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Specimen.collection.method | |
Definition | A coded value specifying the technique that is used to perform the procedure. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The technique that is used to perform the procedure. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite | |
Definition | Anatomical location from which the specimen was collected (if subject is a patient). This is the target site. This element is not used for environmental specimens. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing anatomical locations. May include laterality. |
Comments | If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension bodySite. |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.collection.bodySite.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.extension:bodySiteReference | |
Definition | An extension to replicate the changes within R5 altering the data type of Specimen.collection.bodySite from CodeableConcept to CodeableReference (bodyStructure). |
Cardinality | 0...1 |
Type | Extension(Reference(BodyStructure)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.extension:bodySiteReference.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.collection.bodySite.extension:bodySiteReference.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.extension:bodySiteReference.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Cardinality | 1...1 |
Type | uri |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Fixed Value | https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-BodySiteReference |
Mappings |
|
Specimen.collection.bodySite.extension:bodySiteReference.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list). |
Cardinality | 1...1 |
Type | Reference(BodyStructure) |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.coding | |
Definition | A reference to a code defined by a terminology system. |
Cardinality | 0...* |
Type | Coding |
Summary | True |
Requirements | Allows for alternative encodings within a code system, and translations to other code systems. |
Comments | Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true. |
Invariants |
|
Mappings |
|
Specimen.collection.bodySite.text | |
Definition | A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Requirements | The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source. |
Comments | Very often the text is the same as a displayName of one of the codings. |
Invariants |
|
Mappings |
|
Specimen.collection.fastingStatus[x] | |
Definition | Abstinence or reduction from some or all food, drink, or both, for a period of time prior to sample collection. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes describing the fasting status of the patient. |
Summary | True |
Requirements | Many diagnostic tests require fasting to facilitate accurate interpretation. |
Comments | Representing fasting status using this element is preferred to representing it with an observation using a 'pre-coordinated code' such as LOINC 2005-7 (Calcium [Moles/time] in 2 hour Urine --12 hours fasting), or using a component observation |
Invariants |
|
Mappings |
|
Specimen.processing | |
Definition | Details concerning processing and processing steps for the specimen. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Specimen.processing.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.processing.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.processing.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.processing.description | |
Definition | Textual description of procedure. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Specimen.processing.procedure | |
Definition | A coded value specifying the procedure used to process the specimen. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Type indicating the technique used to process the specimen. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Specimen.processing.additive | |
Definition | Material used in the processing step. |
Cardinality | 0...* |
Type | Reference(Substance) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Specimen.processing.time[x] | |
Definition | A record of the time or period when the specimen processing occurred. For example the time of sample fixation or the period of time the sample was in formalin. |
Cardinality | 0...1 |
Type | dateTime |
Invariants |
|
Mappings |
|
Specimen.container | |
Definition | The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. |
Cardinality | 0...* |
Type | BackboneElement |
Invariants |
|
Mappings |
|
Specimen.container.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Specimen.container.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Specimen.container.extension:deviceR5 | |
Definition | The device resource for the the container holding the specimen. If the container is in a holder then the referenced device will point to a parent device. |
Cardinality | 0...1 |
Type | Extension(Reference(UKCoreDevice)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.container.extension:locationR5 | |
Definition | The location of the container holding the specimen. |
Cardinality | 0...1 |
Type | Extension(Reference(UKCoreLocation)) |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.container.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Specimen.container.identifier | |
Definition | Id for container. There may be multiple; a manufacturer's bar code, lab assigned identifier, etc. The container ID may differ from the specimen id in some circumstances. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
Specimen.container.description | |
Definition | Textual description of the container. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Specimen.container.type | |
Definition | The type of container associated with the specimen (e.g. slide, aliquot, etc.). |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Type of specimen container. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Specimen.container.capacity | |
Definition | The capacity (volume or other measure) the container may contain. |
Cardinality | 0...1 |
Type | SimpleQuantity |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Specimen.container.specimenQuantity | |
Definition | The quantity of specimen in the container; may be volume, dimensions, or other appropriate measurements, depending on the specimen type. |
Cardinality | 0...1 |
Type | SimpleQuantity |
Comments | The context of use may frequently define what kind of quantity this is and therefore what kind of units can be used. The context of use may also restrict the values for the comparator. |
Invariants |
|
Mappings |
|
Specimen.container.additive[x] | |
Definition | Introduced substance to preserve, maintain or enhance the specimen. Examples: Formalin, Citrate, EDTA. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Substance added to specimen container. |
Invariants |
|
Mappings |
|
Specimen.condition | |
Definition | A mode or state of being that describes the nature of the specimen. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | Codes describing the state of the specimen. |
Summary | True |
Requirements | The specimen condition can be used to assess its quality or appropriateness for a specific test. |
Comments | Specimen condition is an observation made about the specimen. It's a point-in-time assessment. It can be used to assess its quality or appropriateness for a specific test. |
Invariants |
|
Mappings |
|
Specimen.note | |
Definition | To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Specimen | Sample/Biopsy inc germline, Extracted Specimen | SPM |
Specimen.subject | Fetus - Is sample for fetal or unregistered neonate, Raw specimen/biopsy - Family member provided by | PID segment attached to SPM |
Specimen.collection.quantity | PLCM activity - Sample volume, Raw specimen/biopsy - Volume | SPM-12 |
Specimen.type | PLCM activity - Sample category code | SPM-4 |
Specimen.identifier.assigner | Raw specimen/biopsy - Id assigning authority ODS code (many), Raw specimen/biopsy - Is assigning authority a histopathology laboratory (many), Extracted specimen - Id assigning authority ODS code (many) | SPM-2.1.2 |
Specimen.identifier.value | Raw specimen/biopsy - Id (many), Extracted specimen - Id (many) | SPM-2 |
Specimen.container.identifier | Raw specimen/biopsy - Sample well identifier | SAC-3 |
Specimen.note | Raw specimen/biopsy - Location details (will use backported R5 container.location once released), Extracted specimen - Location details, Raw specimen/biopsy - Sample to follow reason, Raw specimen/biopsy - Additional specimen/biopsy information, Extracted specimen - Additional specimen information | SAC-15, NTE segment attached to ORC, OBX segments attached to SPM |
Specimen.extension:sampleCategory | Raw specimen/biopsy - WGS specimen type category | SPM-5 |
Specimen.type | Raw specimen/biopsy - Type, Raw specimen/biopsy - Blood component, Extracted specimen - Type | SPM-4 |
Specimen.condition | Raw specimen/biopsy - State | SPM-24 |
Specimen.processing | Raw specimen/biopsy - Sample preparation (submitted to GLH) | Combination of SPM-6/SPM-24 or NTE segments if other processing |
Specimen.collection.collectedDateTime | Raw specimen/biopsy - Obtained date | SPM-17 |
Specimen.receivedTime | Raw specimen/biopsy - Received date | SPM-18 |
Specimen.collection.extension:specimen-specialHandling.valueCoding.code | Raw specimen/biopsy - High risk reason, Raw specimen/biopsy - Option for products of conception | SPM-16.2, SPM-15 |
Specimen.collection.bodySite | Raw specimen/biopsy - Biopsy site | SPM-8/SPM-9 |
Specimen.status | Raw specimen/biopsy - Sample to follow | N/A implied through absence of SPM segment in test order |
Specimen.condition | Extracted specimen - State | SPM-24 |
Specimen.processing.timeDateTime | Extracted specimen - Extracted date | OBR-7 attached to processing procedure in SAC-30 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Specimen_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Specimen-Genomics |
Additional Guidance
- extension:sampleCategory
- identifier
- status
- type
- subject
- receivedTime
- parent
- request
- collection
- processing
- container
- condition
extension:sampleCategory
Allows the categorisation of a sample into either tumour or germline. Additional terms may be added upon review though the valueCodeableConcept.text field MAY be used as a free text representation if needed.
"extension": [ { "url": "https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-SampleCategory", "valueCodeableConcept": { "coding": [ { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-SampleCategory", "code": "germline", "display": "Germline" } ] } } ]
identifier
Multiple identifiers MAY be assigned to a sample as it travels between labs. Each lab SHOULD append their local identifier to the identifier array if needed, ensuring either the system or assigner, is able to disambiguate any identifiers from possibly overlapping numbers from other organizations. Assigner is preferred in this case (see identifier example on the Genomics-Patient page for further guidance)
Note: accessionIdentifier is unused by the Genomic Medicine Service to facilitate movement of samples across organizational boundaries.
"identifier": [ { "system": "https://fhir.add.nhs.uk/Id/specimenId", "value": "RGT03135" } ],
status
If a Specimen has not been collected, the status SHOULD be marked as 'unavailable'. If the quality of the Specimen is such that it cannot be processed, the status SHOULD be 'unsatisfactory' (this is equivalent to a QC status of Failed). If the Specimen passes quality control, the status SHOULD be set as 'available
"status": "unsatisfactory",
type
The sample type, SNOMED CT preferred. Used to differentiate between raw and extracted (DNA) samples.
ConceptMaps for the allowed values for primary (raw) and final (extracted DNA) samples upon release of MDSv1.04, to aid identification of whether a sample is primary vs. final
"type": { "coding": [ { "system": "http://snomed.info/sct", "code": "445295009", "display": "Blood specimen with EDTA" } ] },
subject
SHALL be provided. This SHOULD be a reference to the Patient resource or the identifier, NHS number, for the patient.
Samples collected from a Fetus SHOULD reference a Patient resource for the Fetus. This should then be linked to relevant maternal/paternal resources through the RelatedPerson resource. Further information can be found on the Fetus Management clinical scenario. It is not envisaged that samples would need to be linked to more than one person e.g. both fetus and mother, though this assumption will be tested within the Alpha phase of the Genomic Medicine Service.
"subject": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
receivedTime
SHOULD be updated upon receipt at a destination lab
"receivedTime": "2023-09-18T18:30:00Z"
parent
If a sample has been split into multiple parts, such as DNA being extracted from a primary sample, each SHOULD be represented using an additional Specimen resource, referencing the parent sample through the parent element.
The central Order Management broker will only create Tasks for Specimen resources which do not have a parent element, i.e. primary samples. If required, clients can create Tasks for processing of derivative samples manually.
"parent": [ { "reference": "Specimen/Specimen-BloodEDTA-Example" } ],
request
SHALL be provided. This SHOULD be a reference to the request which initiated collection of the sample. SHALL NOT be updated if the sample is used for another test e.g. for re-analysis. In the case that a Specimen needs to be processed as part of a new request, e.g. using a sample in storage,the ServiceRequest SHALL reference the pre-existing sample via ServiceRequest.specimen.
"request": [ { "reference": "ServiceRequest/ServiceRequest-NonWGSTestOrderForm-Example" } ]
collection
Additional information which can be collected about the circumstances under which as sample was collected, if relevant. This include extensions for specialHandling of the sample, e.g. due to high risk of infection, as well as an extension to bodySite to extend the coding to a BodyStructure reference, for more detailed collection of structural information e.g. where tumour morphology and topography need to be collected.
Where the collector is an Organization, or where the individual is not known, ODS codes MAY be used as identifiers in place of SDS-User-IDs. However, if referencing a resource, the PractitionerRole resource SHOULD still be referenced. In this case the PractitionerRole.identifier
and PractitionerRole.practitioner
reference would not be filled, leaving only the reference to an Organization from PractitionerRole.organization
.
Note on quanitities
The Specimen.collection.quantity is the amount of the sample collected at collection time. This quantity does not change as the sample is processed.
The Specimen.container.specimenQuantity is the amount of sample remaining in a container, this is equivalent to GEL 1001 banked volume. This value should be updated as the specimen is used.
If a specimen is split, additional specimen resources SHOULD be created (referencing the parent specimen), with individual container.specimenQuantity values.
"collection": { "collector": { "identifier": { "system": "https://fhir.nhs.uk/Id/sds-user-id", "value": "999999" } }, "collectedDateTime": "2022-07-11T09:00:00Z", "quantity": { "system": "http://unitsofmeasure.org", "code": "mL", "value": 2.5 }, "method": { "coding": [ { "system": "http://snomed.info/sct", "code": "129300006", "display": "Puncture - action" } ] }, "bodySite": { "coding": [ { "system": "http://snomed.info/sct", "code": "14975008", "display": "Forearm structure (body structure)" } ] } },
processing
SHOULD be updated if processing occurs on the sample which affects later use, e.g. additives added
"processing": [ { "description": "Acidify to pH < 3.0 with 6 N HCl.", "procedure": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0373", "code": "ACID" } ] }, "additive": [ { "display": "6 N HCl" } ], "timeDateTime": "2015-08-18T08:10:00Z" } ],
container
The UK Core STU3 version of Specimen backports the R5 changes to the container BackboneElement to support capturing of storage location for a sample (through container.location
) and recursive capture of device identifiers (e.g. tube, well, rack, freezer through container.device
).
Additional examples/guidance will be provided within this IG once use of the fields has been appropriately tested.
Sample tracking information SHOULD be added to Tasks acting on Specimen resources, e.g. Tasks marked SamplePreparation or SampleProcessing, on either the output or input elements. This information MAY include consignment number, destination, date sent etc.
"container": [ { "extension": [ { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Specimen.container.location", "valueReference": { "reference": "Location/Location-NTGLHFridge-Example" } } ] } ]
condition
Used to record the condition of a specimen. Within Genomics, SHOULD be used to record the fixed/frozen state, using the UK Core bound ValueSet.
"condition": [ { "coding": [ { "system": "https://fhir.hl7.org.uk/CodeSystem/UKCore-BiopsyState", "code": "fresh-frozen", "display": "Fresh Frozen" } ] } ]
Genomics-Subscription
The Genomics Subscription is currently pending Clinical and Technical Assurance of the base UKCore resource. Once this profile becomes active in UKCore its suitability for use and need for profiling within Genomics will be assessed.
The profile for the NHSDigital/England Subscription is provided below for completeness.
In the Alpha build of the Genomic Medicine Service, MESH/email will be used as the primary notification procedure though a FHIR native solution is being investigated.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Subscription | HL7 International | trial-use |
Subscription | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
status | Σ ?! | 1..1 | codeBinding |
contact | Σ I | 0..* | ContactPoint |
end | Σ | 0..1 | instant |
reason | Σ | 1..1 | string |
criteria | Σ | 1..1 | string |
error | Σ | 0..1 | string |
channel | Σ | 1..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 1..1 | codeBinding |
endpoint | Σ | 0..1 | url |
payload | Σ | 0..1 | codeBinding |
header | Σ | 0..* | string |
Differential from Subscription
Subscription | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
status | Σ ?! | 1..1 | codeBinding |
contact | Σ I | 0..* | ContactPoint |
end | Σ | 0..1 | instant |
reason | Σ | 1..1 | string |
criteria | Σ | 1..1 | string |
error | Σ | 0..1 | string |
channel | Σ | 1..1 | BackboneElement |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | Σ | 1..1 | codeBinding |
endpoint | Σ | 0..1 | url |
payload | Σ | 0..1 | codeBinding |
header | Σ | 0..* | string |
Subscription | |
Definition | The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system can take an appropriate action. |
Cardinality | 0...* |
Alias | WebHook, Hook, Routing Rule |
Invariants |
|
Mappings |
|
Subscription.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Subscription.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Subscription.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Subscription.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Subscription.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Subscription.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Subscription.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Subscription.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Subscription.status | |
Definition | The status of the subscription, which marks the server state for managing the subscription. |
Cardinality | 1...1 |
Type | code |
Binding | The status of a subscription. |
Modifier | True |
Summary | True |
Comments | A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
Invariants |
|
Mappings |
|
Subscription.contact | |
Definition | Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. |
Cardinality | 0...* |
Type | ContactPoint |
Summary | True |
Invariants |
|
Mappings |
|
Subscription.end | |
Definition | The time for the server to turn the subscription off. |
Cardinality | 0...1 |
Type | instant |
Summary | True |
Comments | The server is permitted to deviate from this time but should observe it. |
Invariants |
|
Mappings |
|
Subscription.reason | |
Definition | A description of why this subscription is defined. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Subscription.criteria | |
Definition | The rules that the server should use to determine when to generate notifications for this subscription. |
Cardinality | 1...1 |
Type | string |
Summary | True |
Comments | The rules are search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". |
Invariants |
|
Mappings |
|
Subscription.error | |
Definition | A record of the last error that occurred when the server processed a notification. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Subscription.channel | |
Definition | Details where to send notifications when resources are received that meet the criteria. |
Cardinality | 1...1 |
Type | BackboneElement |
Summary | True |
Invariants |
|
Mappings |
|
Subscription.channel.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Subscription.channel.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Subscription.channel.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Subscription.channel.type | |
Definition | The type of channel to send notifications on. |
Cardinality | 1...1 |
Type | code |
Binding | The type of method used to execute a subscription. |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Subscription.channel.endpoint | |
Definition | The url that describes the actual end-point to send messages to. |
Cardinality | 0...1 |
Type | url |
Summary | True |
Comments | For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs). |
Invariants |
|
Mappings |
|
Subscription.channel.payload | |
Definition | The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. If the payload is not present, then there is no payload in the notification, just a notification. The mime type "text/plain" may also be used for Email and SMS subscriptions. |
Cardinality | 0...1 |
Type | code |
Binding | The mime type of an attachment. Any valid mime type is allowed. |
Summary | True |
Comments | Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. |
Invariants |
|
Mappings |
|
Subscription.channel.header | |
Definition | Additional headers / information to send as part of the notification. |
Cardinality | 0...* |
Type | string |
Summary | True |
Comments | Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. |
Invariants |
|
Mappings |
|
Subscription-DiagnosticReportNotification-Example |
Subscription-TaskNotification-Example |
Subscription-MinimalTaskNotification-Example |
FHIR | MDS | HL7v2 |
---|---|---|
Genomics-ResearchSubject
The need for a Genomics ResearchSubject is currently under review.
The profile for the international FHIR ResearchSubject is provided below for completeness.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/ResearchSubject | HL7 International | trial-use |
The CareConnect profile will be uplifted to the R4 UKCore in a future release
ResearchSubject | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
period | Σ I | 0..1 | Period |
study | Σ I | 1..1 | Reference(ResearchStudy) |
individual | Σ I | 1..1 | Reference(Patient) |
assignedArm | 0..1 | string | |
actualArm | 0..1 | string | |
consent | I | 0..1 | Reference(Consent) |
Differential from ResearchSubject
ResearchSubject | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | Σ | 0..* | Identifier |
status | Σ ?! | 1..1 | codeBinding |
period | Σ I | 0..1 | Period |
study | Σ I | 1..1 | Reference(ResearchStudy) |
individual | Σ I | 1..1 | Reference(Patient) |
assignedArm | 0..1 | string | |
actualArm | 0..1 | string | |
consent | I | 0..1 | Reference(Consent) |
ResearchSubject | |
Definition | A physical entity which is the primary unit of operational and/or administrative interest in a study. |
Cardinality | 0...* |
Alias | Study Subject |
Comments | Need to make sure we encompass public health studies. |
Invariants |
|
Mappings |
|
ResearchSubject.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
ResearchSubject.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
ResearchSubject.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
ResearchSubject.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
ResearchSubject.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
ResearchSubject.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
ResearchSubject.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ResearchSubject.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
ResearchSubject.identifier | |
Definition | Identifiers assigned to this research subject for a study. |
Cardinality | 0...* |
Type | Identifier |
Summary | True |
Invariants |
|
Mappings |
|
ResearchSubject.status | |
Definition | The current state of the subject. |
Cardinality | 1...1 |
Type | code |
Binding | Indicates the progression of a study subject through a study. |
Modifier | True |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ResearchSubject.period | |
Definition | The dates the subject began and ended their participation in the study. |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Alias | timing |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
ResearchSubject.study | |
Definition | Reference to the study the subject is participating in. |
Cardinality | 1...1 |
Type | Reference(ResearchStudy) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ResearchSubject.individual | |
Definition | The record of the person or animal who is involved in the study. |
Cardinality | 1...1 |
Type | Reference(Patient) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
ResearchSubject.assignedArm | |
Definition | The name of the arm in the study the subject is expected to follow as part of this study. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ResearchSubject.actualArm | |
Definition | The name of the arm in the study the subject actually followed as part of this study. |
Cardinality | 0...1 |
Type | string |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
ResearchSubject.consent | |
Definition | A record of the patient's informed agreement to participate in the study. |
Cardinality | 0...1 |
Type | Reference(Consent) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Genomics-Task
The core workflow resource for managing processing of a ServiceRequest from order through to delivery of a DiagnosticReport and completion is Task. Task tracking is a core requirement of the central Genomic Medicine Service.
Each ServiceRequest submitted will instantiate a series of High Level Tasks, which MAY be assigned to different organizations for managing the test request e.g. Sample Processing, Interpretation, Reporting etc. The full list of possible Task types/codes, their associated business statuses, and status reasons is pending internal review.
Tasks will be automatically created by the central broker but updates to statuses and attachment of input/output resources is the responsibility of the assigned organizations.
An illustrative diagram of the links between ServiceRequests and Tasks are provided below (for the initial sample processing). Note: not all resource links are represented, to increase legibility of the diagram. In most cases, the full library of 10 tasks, as defined within Genomic-Task-Code, will be 'spun-up', on submission of a Test order. Tasks related to Samples may be duplicated per Sample to allow tracking of work related to individual Samples as part of the same test request, or equally, may be omitted as in the case of Re-Analysis or Re-Interpretation where data from an existing sample is used, eliminating the need for additional wet-work. For the full cardinality breakdown see further guidance for the Task.code element.
Profile url | FHIR Module | Normative Status |
---|---|---|
http://hl7.org/fhir/StructureDefinition/Task | HL7 International | trial-use |
Task | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | 0..* | Identifier | |
instantiatesCanonical | Σ | 0..1 | canonical(ActivityDefinition) |
instantiatesUri | Σ | 0..1 | uri |
basedOn | Σ I | 0..* | Reference(Resource) |
groupIdentifier | Σ | 0..1 | Identifier |
partOf | Σ I | 0..* | Reference(Task) |
status | Σ ?! | 1..1 | codeBinding |
statusReason | Σ | 0..1 | CodeableConcept |
businessStatus | Σ | 0..1 | CodeableConcept |
intent | Σ | 1..1 | codeBinding |
priority | 0..1 | codeBinding | |
code | Σ | 0..1 | CodeableConcept |
description | Σ | 0..1 | string |
focus | Σ I | 0..1 | Reference(Resource) |
for | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
executionPeriod | Σ I | 0..1 | Period |
authoredOn | I | 0..1 | dateTime |
lastModified | Σ I | 0..1 | dateTime |
requester | Σ I | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
performerType | 0..* | CodeableConceptBinding | |
owner | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
location | Σ I | 0..1 | Reference(Location) |
reasonCode | 0..1 | CodeableConcept | |
reasonReference | I | 0..1 | Reference(Resource) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) |
note | 0..* | Annotation | |
relevantHistory | I | 0..* | Reference(Provenance) |
restriction | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
repetitions | 0..1 | positiveInt | |
period | I | 0..1 | Period |
recipient | I | 0..* | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) |
input | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | CodeableConcept | |
value[x] | 1..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical() | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueString | string | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueMeta | Meta | ||
valueReference | Reference() | ||
output | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | CodeableConcept | |
value[x] | 1..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical() | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueString | string | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueMeta | Meta | ||
valueReference | Reference() |
Differential from Task
Task | I | DomainResource | |
id | Σ | 0..1 | string |
meta | Σ | 0..1 | Meta |
implicitRules | Σ ?! | 0..1 | uri |
language | 0..1 | codeBinding | |
text | 0..1 | Narrative | |
contained | 0..* | Resource | |
extension | I | 0..* | Extension |
modifierExtension | ?! I | 0..* | Extension |
identifier | 0..* | Identifier | |
instantiatesCanonical | Σ | 0..1 | canonical(ActivityDefinition) |
instantiatesUri | Σ | 0..1 | uri |
basedOn | Σ I | 0..* | Reference(Resource) |
groupIdentifier | Σ | 0..1 | Identifier |
partOf | Σ I | 0..* | Reference(Task) |
status | Σ ?! | 1..1 | codeBinding |
statusReason | Σ | 0..1 | CodeableConcept |
businessStatus | Σ | 0..1 | CodeableConcept |
intent | Σ | 1..1 | codeBinding |
priority | 0..1 | codeBinding | |
code | Σ | 0..1 | CodeableConcept |
description | Σ | 0..1 | string |
focus | Σ I | 0..1 | Reference(Resource) |
for | Σ I | 0..1 | Reference(Resource) |
encounter | Σ I | 0..1 | Reference(Encounter) |
executionPeriod | Σ I | 0..1 | Period |
authoredOn | I | 0..1 | dateTime |
lastModified | Σ I | 0..1 | dateTime |
requester | Σ I | 0..1 | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
performerType | 0..* | CodeableConceptBinding | |
owner | Σ I | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
location | Σ I | 0..1 | Reference(Location) |
reasonCode | 0..1 | CodeableConcept | |
reasonReference | I | 0..1 | Reference(Resource) |
insurance | I | 0..* | Reference(Coverage | ClaimResponse) |
note | 0..* | Annotation | |
relevantHistory | I | 0..* | Reference(Provenance) |
restriction | 0..1 | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
repetitions | 0..1 | positiveInt | |
period | I | 0..1 | Period |
recipient | I | 0..* | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) |
input | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | CodeableConcept | |
value[x] | 1..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical() | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueString | string | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueMeta | Meta | ||
valueReference | Reference() | ||
output | 0..* | BackboneElement | |
id | 0..1 | string | |
extension | I | 0..* | Extension |
modifierExtension | Σ ?! I | 0..* | Extension |
type | 1..1 | CodeableConcept | |
value[x] | 1..1 | ||
valueBase64Binary | base64Binary | ||
valueBoolean | boolean | ||
valueCanonical | canonical() | ||
valueCode | code | ||
valueDate | date | ||
valueDateTime | dateTime | ||
valueDecimal | decimal | ||
valueId | id | ||
valueInstant | instant | ||
valueInteger | integer | ||
valueMarkdown | markdown | ||
valueOid | oid | ||
valuePositiveInt | positiveInt | ||
valueString | string | ||
valueTime | time | ||
valueUnsignedInt | unsignedInt | ||
valueUri | uri | ||
valueUrl | url | ||
valueUuid | uuid | ||
valueAddress | Address | ||
valueAge | Age | ||
valueAnnotation | Annotation | ||
valueAttachment | Attachment | ||
valueCodeableConcept | CodeableConcept | ||
valueCoding | Coding | ||
valueContactPoint | ContactPoint | ||
valueCount | Count | ||
valueDistance | Distance | ||
valueDuration | Duration | ||
valueHumanName | HumanName | ||
valueIdentifier | Identifier | ||
valueMoney | Money | ||
valuePeriod | Period | ||
valueQuantity | Quantity | ||
valueRange | Range | ||
valueRatio | Ratio | ||
valueSampledData | SampledData | ||
valueSignature | Signature | ||
valueTiming | Timing | ||
valueContactDetail | ContactDetail | ||
valueContributor | Contributor | ||
valueDataRequirement | DataRequirement | ||
valueExpression | Expression | ||
valueParameterDefinition | ParameterDefinition | ||
valueRelatedArtifact | RelatedArtifact | ||
valueTriggerDefinition | TriggerDefinition | ||
valueUsageContext | UsageContext | ||
valueDosage | Dosage | ||
valueMeta | Meta | ||
valueReference | Reference() |
Task | |
Definition | A task to be performed. |
Cardinality | 0...* |
Invariants |
|
Mappings |
|
Task.id | |
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation. |
Task.meta | |
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. |
Cardinality | 0...1 |
Type | Meta |
Summary | True |
Invariants |
|
Mappings |
|
Task.implicitRules | |
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. |
Cardinality | 0...1 |
Type | uri |
Modifier | True |
Summary | True |
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc. |
Invariants |
|
Mappings |
|
Task.language | |
Definition | The base language in which the resource is written. |
Cardinality | 0...1 |
Type | code |
Binding | A human language. |
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). |
Invariants |
|
Mappings |
|
Task.text | |
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. |
Cardinality | 0...1 |
Type | Narrative |
Alias | narrative, html, xhtml, display |
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later. |
Invariants |
|
Mappings |
|
Task.contained | |
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. |
Cardinality | 0...* |
Type | Resource |
Alias | inline resources, anonymous resources, contained resources |
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels. |
Mappings |
|
Task.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Task.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Alias | extensions, user content |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Task.identifier | |
Definition | The business identifier for this task. |
Cardinality | 0...* |
Type | Identifier |
Invariants |
|
Mappings |
|
Task.instantiatesCanonical | |
Definition | The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. |
Cardinality | 0...1 |
Type | canonical(ActivityDefinition) |
Summary | True |
Requirements | Enables a formal definition of how he task is to be performed, enabling automation. |
Comments | |
Invariants |
|
Mappings |
|
Task.instantiatesUri | |
Definition | The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task. |
Cardinality | 0...1 |
Type | uri |
Summary | True |
Requirements | Enables a formal definition of how he task is to be performed (e.g. using BPMN, BPEL, XPDL or other formal notation to be associated with a task), enabling automation. |
Comments | see http://en.wikipedia.org/wiki/Uniform_resource_identifier |
Invariants |
|
Mappings |
|
Task.basedOn | |
Definition | BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. |
Cardinality | 0...* |
Type | Reference(Resource) |
Summary | True |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.groupIdentifier | |
Definition | An identifier that links together multiple tasks and other requests that were created in the same context. |
Cardinality | 0...1 |
Type | Identifier |
Summary | True |
Requirements | Billing and/or reporting can be linked to whether multiple requests were created as a single unit. |
Invariants |
|
Mappings |
|
Task.partOf | |
Definition | Task that this particular task is part of. |
Cardinality | 0...* |
Type | Reference(Task) |
Summary | True |
Requirements | Allows tasks to be broken down into sub-steps (and this division can occur independent of the original task). |
Comments | This should usually be 0..1. |
Invariants |
|
Mappings |
|
Task.status | |
Definition | The current status of the task. |
Cardinality | 1...1 |
Type | code |
Binding | The current status of the task. |
Modifier | True |
Summary | True |
Requirements | These states enable coordination of task status with off-the-shelf workflow solutions that support automation of tasks. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Task.statusReason | |
Definition | An explanation as to why this task is held, failed, was refused, etc. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes to identify the reason for current status. These will typically be specific to a particular workflow. |
Summary | True |
Comments | This applies to the current status. Look at the history of the task to see reasons for past statuses. |
Invariants |
|
Mappings |
|
Task.businessStatus | |
Definition | Contains business-specific nuances of the business state. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | The domain-specific business-contextual sub-state of the task. For example: "Blood drawn", "IV inserted", "Awaiting physician signature", etc. |
Summary | True |
Requirements | There's often a need to track substates of a task - this is often variable by specific workflow implementation. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Task.intent | |
Definition | Indicates the "level" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc. |
Cardinality | 1...1 |
Type | code |
Binding | Distinguishes whether the task is a proposal, plan or full order. |
Summary | True |
Comments | This element is immutable. Proposed tasks, planned tasks, etc. must be distinct instances. In most cases, Tasks will have an intent of "order". |
Invariants |
|
Mappings |
|
Task.priority | |
Definition | Indicates how quickly the Task should be addressed with respect to other requests. |
Cardinality | 0...1 |
Type | code |
Binding | The task's priority. |
Requirements | Used to identify the service level expected while performing a task. |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Task.code | |
Definition | A name or code (or both) briefly describing what the task involves. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Codes to identify what the task involves. These will typically be specific to a particular workflow. |
Summary | True |
Comments | The title (eg "My Tasks", "Outstanding Tasks for Patient X") should go into the code. |
Invariants |
|
Mappings |
|
Task.description | |
Definition | A free-text description of what is to be performed. |
Cardinality | 0...1 |
Type | string |
Summary | True |
Comments | Note that FHIR strings SHALL NOT exceed 1MB in size |
Invariants |
|
Mappings |
|
Task.focus | |
Definition | The request being actioned or the resource being manipulated by this task. |
Cardinality | 0...1 |
Type | Reference(Resource) |
Summary | True |
Requirements | Used to identify the thing to be done. |
Comments | If multiple resources need to be manipulated, use sub-tasks. (This ensures that status can be tracked independently for each referenced resource.). |
Invariants |
|
Mappings |
|
Task.for | |
Definition | The entity who benefits from the performance of the service specified in the task (e.g., the patient). |
Cardinality | 0...1 |
Type | Reference(Resource) |
Summary | True |
Alias | Patient |
Requirements | Used to track tasks outstanding for a beneficiary. Do not use to track the task owner or creator (see owner and creator respectively). This can also affect access control. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.encounter | |
Definition | The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. |
Cardinality | 0...1 |
Type | Reference(Encounter) |
Summary | True |
Requirements | For some tasks it may be important to know the link between the encounter the task originated within. |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.executionPeriod | |
Definition | Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). |
Cardinality | 0...1 |
Type | Period |
Summary | True |
Comments | A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times"). Period is not used for a duration (a measure of elapsed time). See Duration. |
Invariants |
|
Mappings |
|
Task.authoredOn | |
Definition | The date and time this task was created. |
Cardinality | 0...1 |
Type | dateTime |
Alias | Created Date |
Requirements | Most often used along with lastUpdated to track duration of task to supporting monitoring and management. |
Invariants |
|
Mappings |
|
Task.lastModified | |
Definition | The date and time of last modification to this task. |
Cardinality | 0...1 |
Type | dateTime |
Summary | True |
Alias | Update Date |
Requirements | Used along with history to track task activity and time in a particular task state. This enables monitoring and management. |
Invariants |
|
Mappings |
|
Task.requester | |
Definition | The creator of the task. |
Cardinality | 0...1 |
Type | Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) |
Summary | True |
Requirements | Identifies who created this task. May be used by access control mechanisms (e.g., to ensure that only the creator can cancel a task). |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.performerType | |
Definition | The kind of participant that should perform the task. |
Cardinality | 0...* |
Type | CodeableConcept |
Binding | The type(s) of task performers allowed. |
Requirements | Use to distinguish tasks on different activity queues. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Task.owner | |
Definition | Individual organization or Device currently responsible for task execution. |
Cardinality | 0...1 |
Type | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) |
Summary | True |
Alias | Performer, Executer |
Requirements | Identifies who is expected to perform this task. |
Comments | Tasks may be created with an owner not yet identified. |
Invariants |
|
Mappings |
|
Task.location | |
Definition | Principal physical location where the this task is performed. |
Cardinality | 0...1 |
Type | Reference(Location) |
Summary | True |
Requirements | Ties the event to where the records are likely kept and provides context around the event occurrence (e.g. if it occurred inside or outside a dedicated healthcare setting). |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.reasonCode | |
Definition | A description or code indicating why this task needs to be performed. |
Cardinality | 0...1 |
Type | CodeableConcept |
Binding | Indicates why the task is needed. E.g. Suspended because patient admitted to hospital. |
Comments | This should only be included if there is no focus or if it differs from the reason indicated on the focus. |
Invariants |
|
Mappings |
|
Task.reasonReference | |
Definition | A resource reference indicating why this task needs to be performed. |
Cardinality | 0...1 |
Type | Reference(Resource) |
Comments | Tasks might be justified based on an Observation, a Condition, a past or planned procedure, etc. This should only be included if there is no focus or if it differs from the reason indicated on the focus. Use the CodeableConcept text element in |
Invariants |
|
Mappings |
|
Task.insurance | |
Definition | Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. |
Cardinality | 0...* |
Type | Reference(Coverage | ClaimResponse) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.note | |
Definition | Free-text information captured about the task as it progresses. |
Cardinality | 0...* |
Type | Annotation |
Comments | For systems that do not have structured annotations, they can simply communicate a single annotation with no author or time. This element may need to be included in narrative because of the potential for modifying information. Annotations SHOULD NOT be used to communicate "modifying" information that could be computable. (This is a SHOULD because enforcing user behavior is nearly impossible). |
Invariants |
|
Mappings |
|
Task.relevantHistory | |
Definition | Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task. |
Cardinality | 0...* |
Type | Reference(Provenance) |
Alias | Status History |
Comments | This element does not point to the Provenance associated with the current version of the resource - as it would be created after this version existed. The Provenance for the current version can be retrieved with a _revinclude. |
Invariants |
|
Mappings |
|
Task.restriction | |
Definition | If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. |
Cardinality | 0...1 |
Type | BackboneElement |
Requirements | Sometimes when fulfillment is sought, you don't want full fulfillment. |
Invariants |
|
Mappings |
|
Task.restriction.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Task.restriction.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Task.restriction.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Task.restriction.repetitions | |
Definition | Indicates the number of times the requested action should occur. |
Cardinality | 0...1 |
Type | positiveInt |
Requirements | E.g. order that requests monthly lab tests, fulfillment is sought for 1. |
Comments | 32 bit number; for values larger than this, use decimal |
Invariants |
|
Mappings |
|
Task.restriction.period | |
Definition | Over what time-period is fulfillment sought. |
Cardinality | 0...1 |
Type | Period |
Requirements | E.g. order that authorizes 1 year's services. Fulfillment is sought for next 3 months. |
Comments | Note that period.high is the due date representing the time by which the task should be completed. |
Invariants |
|
Mappings |
|
Task.restriction.recipient | |
Definition | For requests that are targeted to more than on potential recipient/target, for whom is fulfillment sought? |
Cardinality | 0...* |
Type | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Group | Organization) |
Comments | References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository. |
Invariants |
|
Mappings |
|
Task.input | |
Definition | Additional information that may be needed in the execution of the task. |
Cardinality | 0...* |
Type | BackboneElement |
Alias | Supporting Information |
Requirements | Resources and data used to perform the task. This data is used in the business logic of task execution, and is stored separately because it varies between workflows. |
Invariants |
|
Mappings |
|
Task.input.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Task.input.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Task.input.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Task.input.type | |
Definition | A code or description indicating how the input is intended to be used as part of the task execution. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Comparison source", "Applicable consent", "Concomitent Medications", etc. |
Alias | Name |
Requirements | Inputs are named to enable task automation to bind data and pass it from one task to the next. |
Comments | If referencing a BPMN workflow or Protocol, the "system" is the URL for the workflow definition and the code is the "name" of the required input. |
Invariants |
|
Mappings |
|
Task.input.value[x] | |
Definition | The value of the input parameter as a basic type. |
Cardinality | 1...1 |
Type | base64Binary |
Invariants |
|
Mappings |
|
Task.output | |
Definition | Outputs produced by the Task. |
Cardinality | 0...* |
Type | BackboneElement |
Requirements | Resources and data produced during the execution the task. This data is generated by the business logic of task execution, and is stored separately because it varies between workflows. |
Invariants |
|
Mappings |
|
Task.output.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Cardinality | 0...1 |
Type | string |
Mappings |
|
Task.output.extension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Cardinality | 0...* |
Type | Extension |
Alias | extensions, user content |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Slicing | Unordered, Open, by url(Value) |
Invariants |
|
Mappings |
|
Task.output.modifierExtension | |
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). |
Cardinality | 0...* |
Type | Extension |
Modifier | True |
Summary | True |
Alias | extensions, user content, modifiers |
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Invariants |
|
Mappings |
|
Task.output.type | |
Definition | The name of the Output parameter. |
Cardinality | 1...1 |
Type | CodeableConcept |
Binding | Codes to identify types of input parameters. These will typically be specific to a particular workflow. E.g. "Identified issues", "Preliminary results", "Filler order", "Final results", etc. |
Alias | Name |
Requirements | Outputs are named to enable task automation to bind data and pass it from one task to the next. |
Comments | Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination. |
Invariants |
|
Mappings |
|
Task.output.value[x] | |
Definition | The value of the Output parameter as a basic type. |
Cardinality | 1...1 |
Type | base64Binary |
Requirements | Task outputs can take any form. |
Invariants |
|
Mappings |
|
FHIR | MDS | HL7v2 |
---|---|---|
Task.executionPeriod.start | PLCM activity - Activity start date and time | Derived from TQ1-7 in the ORL response message for the activity based on the OML request |
Task.executionPeriod.end | PLCM activity - Activity end date and time | Derived from TQ1-8 in the ORL response message for the activity based on the OML request |
Task.owner | PLCM activity - ODS code of organisation submitting to PLCM, PLCM activity - ODS code of organisation delivering requested test, PLCM activity - ODS code of the laboratory site delivering requested test | OBR-32.7 if sourced from principle results interpreter, OBX-32.10, AFF-2.10 associated with performing organization |
Task.status | PLCM activity - Sample plating quality control | Implied through status recorded in ORC-25 indicating plating quality control had passed |
Task.statusReason | PLCM activity - Sample plating quality control fail code | ORC-25 |
Task.output | Extracted specimen - Location details | SAC-15 |
Constraint Profiles
Profiles indicating preferred element cardinality for use in Genomics, not to be used for validation
name | profile |
---|---|
NHSDigital_Task_Genomics | https://fhir.nhs.uk/StructureDefinition/NHSDigital-Task-Genomics |
Additional Guidance
- basedOn
- status
- statusReason
- businessStatus
- code
- focus
- for
- executionPeriod
- authoredOn
- lastModified
- requester
- owner
- note
- input
- output
basedOn
This element will not be used within the Genomic Medicine Service. The ServiceRequest a Task is seeking to fulfill SHALL be referenced through the focus
element. Specimen resources being acted upon by tasks related to specimen prep/processing SHOULD be referenced through the Task.input
element.
status
Initially, automatically populated by the central service upon instantiation. Tasks will be first marked as 'draft' until their prerequisites have been satisfied, after which they will be marked as 'requested' until accepted/claimed by an organization. Upon acceptance, the owning organization is responsible for updating the status up until completion (or if the owning organization is not integrated into the GMS, the organization who has referred the task to the unintegrated org).
If a ServiceRequest is cancelled, any Tasks which have not already moved into in-progress SHALL be moved into the cancelled state, any in-progress Tasks will require lab processes to manage closure of the Task and appropriate reimbursement.
For the full list of expected Task statuses in use by the GMS, please refer to the table below. For the allowed Task status transitions, please see the FHIR R4 Task state machine model.
Status | Description | Genomic workflow usage |
---|---|---|
Draft | The task is not yet ready to be acted upon. | Initial state for Tasks. Used for tasks which require prerequisite tasks to be completed first. |
Requested | The task is ready to be acted upon and action is sought. | Status indicating a task can be worked on/claimed, all prerequisites have been satisfied. |
Received | A potential performer has claimed ownership of the task and is evaluating whether to perform it. | NOT USED within Genomics as Tasks will be polled for rather than being sent out to assigned organizations. Most likely not used unless tasks are automatically assigned and organizations are notified by the central service, e.g. to GLH. |
Accepted | The potential performer has agreed to execute the task but has not yet started work. | Used when an assigned owner has accepted the task after being assigned. |
Rejected | The potential performer who claimed ownership of the task has decided not to execute it prior to performing any action. | Used if an organization was assigned to a task but is unable to perform work against it. It is expected if an alternative organization can be assigned, this is done as an owner update rather than marking the task as rejected. If subsequent work does occur, a duplicate task will need to be created as the 'rejected' state is a terminal one. |
Ready | The task is ready to be performed, but no action has yet been taken. Used in place of requested/received/accepted/rejected when request assignment and acceptance is a given. | NOT USED within Genomics as it is not assumed that Tasks will be automatically accepted when prerequisites are satisfied. |
Cancelled | The task was not completed. | Used when a task has been created but later identified as unneeded, e.g. due to modifications to test order such as the ServiceRequest being cancelled. Automatically set by the central broker. |
In Progress | The task has been started but is not yet complete. | When work has commenced. |
On Hold | The task has been started but work has been paused. | A holding state where work is expected to continue but is being blocked through some external issue. Suppliers will need to state reason why work is on hold through the statusReason field e.g. Awaiting Sample. |
Failed | The task was attempted but could not be completed due to some error. | Indicates the task cannot continue and is unrcoverable without external intervention. If modifications to the test order allow the task to be resumed, a new task should be created e.g. a new sample is provided to replace a previous sample which has failed quality control. If the Task results in an unrecoverable error, the ServiceRequest may need to be revoked. |
Completed | The task has been completed. | Marked once all actions against a task are complete, and follow on Tasks can commence. |
Entered in Error | The task should never have existed and is retained only because of the possibility it may have used. | May be used if user created Tasks are created in error, e.g. duplicate Tasks, or Tasks have been created by the central broker and the ServiceRequest has subsequently been marked as entered-in-error. |
"status": "rejected",
statusReason
Reasons why a Task has been marked as on-hold, cancelled etc. SHOULD use the Genomic-Task-StatusReason CodeSystem. NOTE: The list of appropriate statusReasons is pending finalization.
"statusReason": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/task-status-reason-genomics", "code": "further-information-needed", "display": "Further Information Needed" } ] },
businessStatus
Genomic specific business statuses for capturing more granular information as part of processing the task. SHOULD use the Genomic-Business-Status CodeSystem. NOTE: The list of appropriate buinessStatuses is pending finalization. Mapping business statuses to the high level container Tasks and statuses is still ongoing.
"businessStatus": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/business-status-genomics", "code": "sample-sent", "display": "Sample Sent" } ] },
code
High level coding for the Task, matches the NGTP stages for genomic test processing. Clients SHOULD use the Genomic-Task-Code CodeSystem. NOTE: The list of appropriate codes is pending finalization.
The currently allowed code list and their definition is provided in the table below. The table also provides the cardinality of each Task per ServiceRequest or Sample attached to the request as generated by the central broker on submission of a test request. Note: the cardinalities listed reflect the number of concurrent active tasks per service request at any one time, there may be cases where additional Tasks need to be spun up manually, e.g. on failure such as when a new sample needs to be processed after a previous sample fails Quality Control, or when further preparation is required. This cardinality supports the use cases for both requests with multiple participants, e.g. Duo/Trio, and multiple samples per participant e.g. Cancer testing.
Task.code display | Definition of work within Task | Cardinality (general case) | Cardinality (Reanalysis/Reinterpretation) | Cardinality (DNA Storage) |
---|---|---|---|---|
Process Genomic Test Request | Test code requested is ratified by the lab against provided patient information (checking eligibility) | 1..1 (per ServiceRequest) | 1..1 | 1..1 |
Request & Sample Alignment | The lab confirms/validates the data and sample(s) required for given test type are present | 1..* (1 per Specimen referenced from or referencing the ServiceRequest) | 1..1 (At least 1 will always be required, e.g. for validation of data in the No Sample scenario) | 1..* (per Sample) |
Sample Preparation | Sample is prepared, as appropriate for the selected test type, and DNA extracted. May have multiples if further preparation is required | 1..* (1 per Sample) | 0..0 (Not required for Reanalysis/Reinterpretation requests where a sample does not need to be prepared) | 1..* (1 per Sample) |
Sample Processing | DNA sample(s) are sequenced, generating read/sequence data to feed into analysis | 1..* (1 per Sample or extracted DNA sample) | 0..0 (Not required for Reanalysis/Reinterpretation requests where a sample does not need to be sequenced) | 0..0 (Not required for DNA storage where a sample does not need to be sequenced) |
Genetic/Genomic Data Processing | Sequence data is passed through a bio-pipeline, generates variant priorities lists for analysis | 1..* (1 per Sample or read data) | 0..* (For Reanalysis, should match the number of Samples for the parent request. Not required for Reinterpretation requests) | 0..0 (Not required for DNA storage requests) |
Interpretation | Results analysis is organised and interpreted by a Clincial Scientist | 1..* (1 per Sample or variant priorities list) | 1..* (For Reanalysis/Reinterpretation, should match the number of Samples for the parent request | 0..0 (Not required for DNA storage requests) |
Produce Interim Report | A report is created and deemed interim pending MDT, if necessary | 1..* (1 per Sample. TBC whether one interim report would be generated per sample/set of genetic data or 1 per request) | 1..* (For Reanalysis/Reinterpretation, should match the number of Samples for the parent request | 0..0 (Not required for DNA storage requests) |
Genomic MDT | Multi-Diciplinary-Team consults on the interim report | 1..1 (max 1 per ServiceRequest, for the purposes of the Alpha an MDT task will always be created, even if not needed) | 1..1 | 0..0 (Not required for DNA storage requests) |
Produce Final Report | Interim report is deemed final or is updated following MDT | 1..1 (per ServiceRequest) | 1..1 | 1..1 |
Distribute Report | Final report is distributed or marked as distributable/available | 1..1 (per ServiceRequest or Final Report) | 1..1 | 1..1 |
Rendered within a diagram, the Task cardinalities and their inputs are illustrated in the diagram below:
"code": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/task-code-genomics", "code": "sample-processing", "display": "Sample Processing" } ] },
focus
The ServiceRequest the Task is fulfilling. Autopopulated by the central service.
"focus": { "reference": "ServiceRequest/ServiceRequest-SavedTestOrder-Example" },
for
A reference to the Patient resource or the identifier, NHS number, for the patient for whom the Task is for. Autopopulated by the central service.
"for": { "reference": "Patient/Patient-MeirLieberman-Example", "identifier": { "system": "https://fhir.nhs.uk/Id/nhs-number", "value": "9449307873" } },
executionPeriod
MAY be used to capture start and end DateTimes associated with execution of a Task. It is expected the start time will be populated as a Task is moved to in-progress and the end time will be populated as a Task is marked as completed. Usage of this field will be investigated during the Alpha phase of the Genomic Order Management project as timelines for task execution can also be derived from the AuditEvents recorded as Tasks are updated.
"executionPeriod": { "start": "2023-10-31T10:25:05+00:00", "end": "2023-11-15T16:45:05+00:00" },
authoredOn
Autopopulated by the central service on creation of the Task.
"authoredOn": "2023-09-18T18:30:00Z"
lastModified
Time at which a change to the task was made, e.g. status updated. SHALL be updated on change.
"lastModified": "2023-09-18T19:11:00Z"
requester
The original requester of the ServiceRequest the Task is fulfilling. Autopopulated by the central service.
"requester": { "reference": "PractitionerRole/PractitionerRole-GeneSmithENT-Example" },
owner
Autopopulated by the central service if a performer is assigned at Test submission. By default, this will the Home GLH for the submitting organization, unless an alternative is specified. The Home GLH/original performer (managing entity) SHOULD remain the owner for the Process Genomic Test Task, throughout the test order-fulfillment process.
This field can be updated by the organization claiming the task (though this could also be autopopulated if automated per test routing tables are integrated into the central service functionality). Owner SHOULD be populated using organization ODS code references.
The responsibility for routing/reassigning ownership of Tasks lies with the current owner following the transfers of responsibility as per the National Genomic Testing Process (NGTP). The different scenarios for how follow-on routing may be achieved is summarised in the points below:
- In most cases, by default the test will be routed to the home GLH (or other lab/GLH as dictated by the initial routing table).
- This would mean all Tasks by default would have this organization, e.g. home GLH, as the initial owner, it would then be the responsibility of the GLH to reassign tasks to other organizations, where they 'send away' or commission work.
- Once that work is complete, the send-away organization can choose to reassign the current Task (where another organization needs to conduct work against the same Task before it can be marked as complete)/or assign the follow-on Task (where the current task can be marked as complete) to the next organization, if this is known.
- If the next organization to send work to is unknown, responsibility should lie with the original/previous owner e.g. Home GLH to reassign the task to the next organization that needs to complete work. This should be captured by having the current owner reassign the task back to the GLH (or organization which assigned the task to them) if further work needs to occur within the current task; or the next task in the NGTP moves from the draft state into the requested state (indicating all its prerequisites have been satisfied). The owner of that task, e.g home GLH, then either starts work or assigns this to the relevant organization.
- In further phases, a routing advice service may be provided by NHS England to aid organizations in identifying which organization should be assigned, after completing their work.
Tasks assigned to a particular organization SHOULD be searched for using the owner
search parameter with the :identifier
modifier i.e. [base]/Task?owner:identifier=8J834
or [base]/Task?owner:identifier=https://fhir.nhs.uk/Id/ods-organization-code|8J834
"owner": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "69010" }, "display": "Pathology Lab - ADDENBROOKE'S HOSPITAL LABORATORY" },
note
Used for messaging between owner and other orgnizations e.g. during handover of task or requesting information from requesting clinician
"note": [ { "text": "Sample has not been received within 4 week window. Task will be closed unless further communication is received" } ]
input
Used to attach inputs to a Task, if relevant. e.g. references to Specimen's which a Sample Processing task is acting on. No CodeSystem exists for this field as of publication but this will be investigated as future work.
Specimen references SHOULD be added to Tasks acting on Specimen resources, e.g. Tasks marked SamplePreparation or SampleProcessing. This is to clearly disambiguate which specimen a task is acting on, where multiple specimens are necessary for processing the test request.
The table below provides possible inputs that could be provided for certain Tasks as part of fulfillment of a test order. A finalised list is pending business analysis work to identify the operational data generated as fulfilment against a test order progresses and the need for this data to pass between organizations.
Task.code display | Possible Task.input |
---|---|
Process Genomic Test Request | N/A, all information required should be part of or refernced from the ServiceRequest |
Request & Sample Alignment | Specimen resource to be aligned and potentially Consent resources where these are captured post submission of a test request |
Sample Preparation | Specimen resource to be prepared as part of this Task |
Sample Processing | DNA Specimen resource to be sequenced as part of this Task as well as Consignment, Rack and Well identifiers to allow for specimen tracking |
Genetic/Genomic Data Processing | Sequence data generated from the previous Task, potentially referenced using DocumentReference resources, these SHOULD reference the Specimen from which the data originated |
Interpretation | Variant Priorities lists generated from the previous Task, the representation of these lists is still under investigation |
Produce Interim Report | Guidance/Recommendations generated though data interpretation, the representation of these items is still under investigation |
Genomic MDT | Interim reports, references to Diagnostic report resources containing either structured Genomic reports or binary representations of the reports |
Produce Final Report | Interim reports and potentially recommendations from the MDT, whether these are represented within the DiagnosticReport itself or contained as other resource types is still under investigation |
Distribute Report | The final report to be distributed |
"input": [ { "type": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/AdditionalInfoTypeGenomics", "code": "Specimen", "display": "Specimen" } ] }, "valueReference": { "reference": "Specimen/Specimen-CancerSolidTumor-Example" } } ]
output
Used to attach outputs from a Task, if relevant. e.g. VUS files during processing or a DiagnosticReport upon completion of reporting stage. No CodeSystem exists for this field as of publication but this will be investigated as future work.
Sample tracking information SHOULD be added to Tasks acting on Specimen resources, e.g. Tasks marked SamplePreparation or SampleProcessing, on either the output or input elements. This information MAY include consignment number, destination, date sent etc. Further modelling of the types/format expected are pending clinical scenarios.
The table below provides possible outputs that could be generated by certain Tasks as part of fulfillment of a test order. A finalised list is pending business analysis work to identify the operational data generated as fulfilment against a test order progresses and the need for this data to pass between organizations.
Task.code display | Possible Task.output |
---|---|
Process Genomic Test Request | N/A, may result in updates to the ServiceRequest if codes or supporting information needs to change |
Request & Sample Alignment | Aligned Specimen resource for request (except for Reanalysis/Reinterpretation) |
Sample Preparation | DNA Specimen resource as well as Consignment, Rack and Well identifiers to allow for specimen tracking |
Sample Processing | Sequence/Read data |
Genetic/Genomic Data Processing | Variant information |
Interpretation | Potentially structured guidance/recommendations |
Produce Interim Report | Interim reports |
Genomic MDT | Potentially ammended Interim/combined report or recommendations from MDT |
Produce Final Report | Final Report |
Distribute Report | N/A, final report will be included as input to Task |
"output": [ { "type": { "coding": [ { "system": "https://fhir.nhs.uk/CodeSystem/AdditionalInfoTypeGenomics", "code": "DiagnosticReport", "display": "DiagnosticReport" } ] }, "valueReference": { "reference": "DiagnosticReport/DiagnosticReport-PhoebeSmithGeneticReport-Example" } } ]