This page is part of the Structured Data Capture FHIR IG (v3.0.0: STU 3) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
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
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.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from UsageContext
This structure is derived from UsageContext
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | SI | 0..* | UsageContext | Describes 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..1 | Coding | Type of context being specified |
value[x] | S | 1..1 | CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | Value that defines the context |
valueCodeableConcept | S | 0..1 | CodeableConcept | Value that defines the context |
coding | S | 0..* | Coding | Code defined by a terminology system |
system | S | 0..1 | uri | Identity of the terminology system |
code | S | 0..1 | code | Symbol in syntax defined by the system |
valueRange | S | 0..1 | Range | Value that defines the context |
low | S | 0..1 | SimpleQuantity | Low limit |
high | S | 0..1 | SimpleQuantity | High limit |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | SI | 0..* | UsageContext | Describes 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..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
code | SΣ | 1..1 | Coding | Type 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..1 | Value 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. | |
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueReference | Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||
value[x]:valueCodeableConcept | SΣ | 0..1 | CodeableConcept | Value that defines the context Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified. |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
coding | SΣ | 0..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣ | 0..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 0..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
value[x]:valueRange | SΣ | 0..1 | Range | Value that defines the context |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
low | SΣ | 0..1 | SimpleQuantity | Low limit |
high | SΣ | 0..1 | SimpleQuantity | High limit |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | I | 0..* | UsageContext | Describes 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 | Σ | 1..1 | Coding | Type 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] | Σ | 1..1 | Value 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. | |
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueReference | Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||
value[x]:valueCodeableConcept | Σ | 0..1 | CodeableConcept | Value that defines the context Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified. |
coding | Σ | 0..* | Coding | Code defined by a terminology system |
system | Σ | 0..1 | uri | Identity of the terminology system |
code | Σ | 0..1 | code | Symbol in syntax defined by the system |
value[x]:valueRange | Σ | 0..1 | Range | Value that defines the context |
low | Σ | 0..1 | SimpleQuantity | Low limit |
high | Σ | 0..1 | SimpleQuantity | High limit |
Documentation for this format |
This structure is derived from UsageContext
Differential View
This structure is derived from UsageContext
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | SI | 0..* | UsageContext | Describes 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..1 | Coding | Type of context being specified |
value[x] | S | 1..1 | CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | Value that defines the context |
valueCodeableConcept | S | 0..1 | CodeableConcept | Value that defines the context |
coding | S | 0..* | Coding | Code defined by a terminology system |
system | S | 0..1 | uri | Identity of the terminology system |
code | S | 0..1 | code | Symbol in syntax defined by the system |
valueRange | S | 0..1 | Range | Value that defines the context |
low | S | 0..1 | SimpleQuantity | Low limit |
high | S | 0..1 | SimpleQuantity | High limit |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
UsageContext | SI | 0..* | UsageContext | Describes 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..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
code | SΣ | 1..1 | Coding | Type 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..1 | Value 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. | |
valueCodeableConcept | CodeableConcept | |||
valueQuantity | Quantity | |||
valueRange | Range | |||
valueReference | Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||
value[x]:valueCodeableConcept | SΣ | 0..1 | CodeableConcept | Value that defines the context Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified. |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
coding | SΣ | 0..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣ | 0..1 | uri | Identity of the terminology system |
version | Σ | 0..1 | string | Version of the system - if relevant |
code | SΣ | 0..1 | code | Symbol in syntax defined by the system |
display | Σ | 0..1 | string | Representation defined by the system |
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user |
text | Σ | 0..1 | string | Plain text representation of the concept |
value[x]:valueRange | SΣ | 0..1 | Range | Value that defines the context |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
low | SΣ | 0..1 | SimpleQuantity | Low limit |
high | SΣ | 0..1 | SimpleQuantity | High limit |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
UsageContext.code | extensible | UsageContextType |
UsageContext.value[x] | example | Context of Use ValueSet |
UsageContext.value[x]:valueCodeableConcept | example | Context of Use ValueSet |
Id | Grade | Path | Details | Requirements |
ele-1 | error | UsageContext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
sdc-uc-1 | error | UsageContext | 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.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)))) | |
ele-1 | error | UsageContext.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | UsageContext.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | UsageContext.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | UsageContext.value[x]:valueCodeableConcept.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueCodeableConcept.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueRange.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | UsageContext.value[x]:valueRange.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | UsageContext.value[x]:valueRange.low | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | UsageContext.value[x]:valueRange.high | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |