Structured Data Capture
3.0.0 - STU 3 International flag

Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 3.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions

Data Type Profile: SDC Usage Context

Official URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-usagecontext Version: 3.0.0
Standards status: Trial-use Maturity Level: 3 Computable Name: SDCUsageContext

Constraints on the codes and values of UsageContext to help ensure consistent usage in SDC Questionnaires

Scope and Usage

The UsageContext data type allows categorizing artifacts in a wide variety of ways, but doesn't provide much guidance one what aspects should be supported, what data types are relevant to which types of context, or what value sets are appropriate for coded contexts. This profile tightens down the data type to reflect expectations for use in Questionnaire registries.

Usage:

Formal Views of Profile Content

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

This structure is derived from UsageContext

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... code S1..1CodingType of context being specified
... Slices for value[x] S1..1CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)Value that defines the context
Slice: Unordered, Open by type:$this
.... value[x]:valueCodeableConcept S0..1CodeableConceptValue that defines the context
..... coding S0..*CodingCode defined by a terminology system
...... system S0..1uriIdentity of the terminology system
...... code S0..1codeSymbol in syntax defined by the system
.... value[x]:valueRange S0..1RangeValue that defines the context
..... low S0..1SimpleQuantityLow limit
..... high S0..1SimpleQuantityHigh limit

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))
NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... code SΣ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.

... Slices for value[x] SΣ1..1Value that defines the context
Slice: Unordered, Open by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange
.... valueReferenceReference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)
.... value[x]:valueCodeableConcept SΣ0..1CodeableConceptValue that defines the context
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

..... coding SΣ0..*CodingCode defined by a terminology system
...... system SΣ0..1uriIdentity of the terminology system
...... code SΣ0..1codeSymbol in syntax defined by the system
.... value[x]:valueRange SΣ0..1RangeValue that defines the context
..... low SΣ0..1SimpleQuantityLow limit
..... high SΣ0..1SimpleQuantityHigh limit

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
UsageContext.codeextensibleUsageContextType
UsageContext.value[x]exampleContext of Use ValueSet
UsageContext.value[x]:valueCodeableConceptexampleContext of Use ValueSet

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))
NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... code SΣ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.

.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange
.... valueReferenceReference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)
.... value[x]:valueCodeableConcept SΣ0..1CodeableConceptValue that defines the context
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ0..1uriIdentity of the terminology system
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ0..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... value[x]:valueRange SΣ0..1RangeValue that defines the context
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... low SΣ0..1SimpleQuantityLow limit
..... high SΣ0..1SimpleQuantityHigh limit

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
UsageContext.codeextensibleUsageContextType
UsageContext.value[x]exampleContext of Use ValueSet
UsageContext.value[x]:valueCodeableConceptexampleContext of Use ValueSet

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))

This structure is derived from UsageContext

Summary

Must-Support: 9 elements

Slices

This structure defines the following Slices:

  • The element UsageContext.value[x] is sliced based on the value of type:$this

Maturity: 3

Differential View

This structure is derived from UsageContext

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... code S1..1CodingType of context being specified
... Slices for value[x] S1..1CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)Value that defines the context
Slice: Unordered, Open by type:$this
.... value[x]:valueCodeableConcept S0..1CodeableConceptValue that defines the context
..... coding S0..*CodingCode defined by a terminology system
...... system S0..1uriIdentity of the terminology system
...... code S0..1codeSymbol in syntax defined by the system
.... value[x]:valueRange S0..1RangeValue that defines the context
..... low S0..1SimpleQuantityLow limit
..... high S0..1SimpleQuantityHigh limit

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... code SΣ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.

... Slices for value[x] SΣ1..1Value that defines the context
Slice: Unordered, Open by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange
.... valueReferenceReference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)
.... value[x]:valueCodeableConcept SΣ0..1CodeableConceptValue that defines the context
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

..... coding SΣ0..*CodingCode defined by a terminology system
...... system SΣ0..1uriIdentity of the terminology system
...... code SΣ0..1codeSymbol in syntax defined by the system
.... value[x]:valueRange SΣ0..1RangeValue that defines the context
..... low SΣ0..1SimpleQuantityLow limit
..... high SΣ0..1SimpleQuantityHigh limit

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
UsageContext.codeextensibleUsageContextType
UsageContext.value[x]exampleContext of Use ValueSet
UsageContext.value[x]:valueCodeableConceptexampleContext of Use ValueSet

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SC0..*UsageContextDescribes the context of use for a conformance or knowledge resource
sdc-uc-1: If code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
... id 0..1stringUnique id for inter-element referencing
... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... code SΣ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.

.... valueCodeableConceptCodeableConcept
.... valueQuantityQuantity
.... valueRangeRange
.... valueReferenceReference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)
.... value[x]:valueCodeableConcept SΣ0..1CodeableConceptValue that defines the context
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding SΣ0..*CodingCode defined by a terminology system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... system SΣ0..1uriIdentity of the terminology system
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ0..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
..... text Σ0..1stringPlain text representation of the concept
.... value[x]:valueRange SΣ0..1RangeValue that defines the context
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... low SΣ0..1SimpleQuantityLow limit
..... high SΣ0..1SimpleQuantityHigh limit

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
UsageContext.codeextensibleUsageContextType
UsageContext.value[x]exampleContext of Use ValueSet
UsageContext.value[x]:valueCodeableConceptexampleContext of Use ValueSet

Constraints

IdGradePath(s)DetailsRequirements
sdc-uc-1errorUsageContextIf code is gender, focus, user, venue or species, value must be CodeableConcept. If code is age, value must be Range. If code is workflow, task or program, value must be CodeableConcept or Reference
: code.system!='http://terminology.hl7.org/CodeSystem/usage-context-type' or (((code.code='gender' or code.code='focus' or code.code='user' or code.code='venue' or code.code='species') implies value.exists() and value is CodeableConcept) and (code.code='age' implies value.exists() and value is Range) and ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))

This structure is derived from UsageContext

Summary

Must-Support: 9 elements

Slices

This structure defines the following Slices:

  • The element UsageContext.value[x] is sliced based on the value of type:$this

Maturity: 3

 

Other representations of profile: CSV, Excel, Schematron