Interweave Implementation Guide
0.1.0 - ci-build

Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the R4 profiles here.

Extension: ExtensionInterweaveSexualOrientation - Detailed Descriptions

Draft as of 2024-07-17

Definitions for the Extension-Interweave-SexualOrientation extension.

Guidance on how to interpret the contents of this table can be found here.

1. Extension
Definition

Sexual Orientation, as per NHS Data Dictionary: Person Stated Sexual Orientation Code

Optional Extension Element - found in all resources.

Control0..1*
2. Extension.extension
Control0..0*
3. Extension.url
Fixed Valuehttps://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-SexualOrientation
4. Extension.value[x]
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on Extension.value[x]. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • type @ $this
5. Extension.value[x]:valueCodeableConcept
SliceNamevalueCodeableConcept
Control0..1
BindingThe codes SHALL be taken from InterweaveSexualOrientation
TypeCodeableConcept
[x] NoteSee Choice of Data Types for further information about how to use [x]
6. Extension.value[x]:valueCodeableConcept.coding
Control0..?
7. Extension.value[x]:valueCodeableConcept.coding.system
Control1..?
8. Extension.value[x]:valueCodeableConcept.coding.code
Control1..?
9. Extension.value[x]:valueCodeableConcept.coding.display
Control1..?

Guidance on how to interpret the contents of this table can be found here.

1. Extension
Definition

Sexual Orientation, as per NHS Data Dictionary: Person Stated Sexual Orientation Code

Optional Extension Element - found in all resources.

Control0..1* This element is affected by the following invariants: ele-1
InvariantsDefined on this element
ele-1: All FHIR elements must have a @value or children (: hasValue() | (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (: extension.exists() != value.exists())
2. Extension.extension
Definition

An Extension

May be used to represent additional information that is not part of the basic definition of the element. In order 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.

Control0..0*
TypeExtension
Alternate Namesextensions, 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.

SlicingThis element introduces a set of slices on Extension.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
3. Extension.url
Definition

Source of the definition for the extension code - a logical name or a URL.

Control1..1
Typeuri
XML RepresentationIn the XML format, this property is represented as an attribute.
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 Valuehttps://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-SexualOrientation
4. Extension.value[x]
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

Control0..1
TypeChoice of: CodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on Extension.value[x]. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
5. Extension.value[x]:valueCodeableConcept
SliceNamevalueCodeableConcept
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

Control0..1
BindingThe codes SHALL be taken from InterweaveSexualOrientationFor codes, see (unbound)
TypeChoice of: CodeableConcept, date, dateTime, Meta, code, string, Address, Attachment, integer, oid, Count, instant, ContactPoint, HumanName, Money, Identifier, Coding, markdown, SampledData, Ratio, id, positiveInt, Age, Distance, Reference, Period, Quantity, Duration, Range, uri, Annotation, boolean, base64Binary, Signature, unsignedInt, time, Timing, decimal
[x] NoteSee Choice of Data Types for further information about how to use [x]

Guidance on how to interpret the contents of this table can be found here.

1. Extension
Definition

Sexual Orientation, as per NHS Data Dictionary: Person Stated Sexual Orientation Code

Control0..1 This element is affected by the following invariants: ele-1
2. Extension.id
Definition

unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Control0..1
Typestring
XML RepresentationIn the XML format, this property is represented as an attribute.
3. Extension.extension
Definition

An Extension

Control0..0
TypeExtension
SlicingThis element introduces a set of slices on Extension.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
4. Extension.url
Definition

Source of the definition for the extension code - a logical name or a URL.

Control1..1
Typeuri
XML RepresentationIn the XML format, this property is represented as an attribute.
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 Valuehttps://fhir.yhcr.nhs.uk/StructureDefinition/Extension-Interweave-SexualOrientation
5. Extension.value[x]
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

Control0..1
TypeCodeableConcept
[x] NoteSee Choice of Data Types for further information about how to use [x]
SlicingThis element introduces a set of slices on Extension.value[x]. The slices are unordered and Closed, and can be differentiated using the following discriminators:
  • type @ $this
6. Extension.value[x]:valueCodeableConcept
SliceNamevalueCodeableConcept
Definition

Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).

Control0..1
BindingThe codes SHALL be taken from InterweaveSexualOrientation
TypeCodeableConcept
[x] NoteSee Choice of Data Types for further information about how to use [x]
7. Extension.value[x]:valueCodeableConcept.id
Definition

unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Control0..1
Typestring
XML RepresentationIn the XML format, this property is represented as an attribute.
8. Extension.value[x]:valueCodeableConcept.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. In order 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.

Control0..*
TypeExtension
Alternate Namesextensions, 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.

SlicingThis element introduces a set of slices on Extension.value[x].extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
9. Extension.value[x]:valueCodeableConcept.coding
Definition

A reference to a code defined by a terminology system.

Control0..*
TypeCoding
Summarytrue
Requirements

Allows for translations and alternate encodings within a code system. Also supports communication of the same instance to systems requiring different encodings.

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.

10. Extension.value[x]:valueCodeableConcept.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.

Control0..1
Typestring
XML RepresentationIn the XML format, this property is represented as an attribute.
11. Extension.value[x]:valueCodeableConcept.coding.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. In order 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.

Control0..*
TypeExtension
Alternate Namesextensions, 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.

SlicingThis element introduces a set of slices on Extension.value[x].coding.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
12. Extension.value[x]:valueCodeableConcept.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

Control1..1
Typeuri
Summarytrue
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 de-reference to some definition that establish the system clearly and unambiguously.

13. Extension.value[x]:valueCodeableConcept.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.

NoteThis is a business versionId, not a resource version id (see discussion)
Control0..1
Typestring
Summarytrue
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.

14. Extension.value[x]:valueCodeableConcept.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).

Control1..1
Typecode
Summarytrue
Requirements

Need to refer to a particular code in the system.

15. Extension.value[x]:valueCodeableConcept.coding.display
Definition

A representation of the meaning of the code in the system, following the rules of the system.

Control1..1
Typestring
Summarytrue
Requirements

Need to be able to carry a human-readable meaning of the code for readers that do not know the system.

16. Extension.value[x]:valueCodeableConcept.coding.userSelected
Definition

Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).

Control0..1
Typeboolean
Summarytrue
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.

17. Extension.value[x]:valueCodeableConcept.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.

Control0..1
Typestring
Summarytrue
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.