Structured Data Capture
2.8.0 - CI Build

Structured Data Capture, published by HL7 International - FHIR Infrastructure Work Group. This is not an authorized publication; it is the continuous build for version 2.8.0). 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

Defining URL:http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-usagecontext
Version:2.8.0
Name:SDCUsageContext
Title:SDC Usage Context
Status:Draft as of 2019-03-15T20:02:49+10:00
Definition:

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

Publisher:HL7 International - FHIR Infrastructure Work Group
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-usagecontext

Formal Views of Profile Content

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

This structure is derived from UsageContext

Summary

Must-Support: 9 elements

This structure is derived from UsageContext

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SI0..*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
... value[x] S1..1CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)Value that defines the context
... valueCodeableConcept S1..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
.... low S0..1SimpleQuantityLow limit
.... high S0..1SimpleQuantityHigh limit

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SI0..*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
... Slices for 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Σ1..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
..... Slices for 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
...... Slices for 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Σ1..1RangeValue that defines the context
..... id 0..1stringUnique id for inter-element referencing
..... Slices for 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext I0..*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 Σ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] Σ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 Σ1..1CodeableConceptValue that defines the context
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.

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

doco Documentation for this format

This structure is derived from UsageContext

Summary

Must-Support: 9 elements

Differential View

This structure is derived from UsageContext

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SI0..*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
... value[x] S1..1CodeableConcept, Quantity, Range, Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization)Value that defines the context
... valueCodeableConcept S1..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
.... low S0..1SimpleQuantityLow limit
.... high S0..1SimpleQuantityHigh limit

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. UsageContext SI0..*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
... Slices for 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Σ1..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
..... Slices for 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
...... Slices for 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Σ1..1RangeValue that defines the context
..... id 0..1stringUnique id for inter-element referencing
..... Slices for 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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

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

Constraints

IdPathDetailsRequirements
ele-1UsageContextAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
sdc-uc-1UsageContextIf 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) ((code.code='workflow' or code.code='task' or code.code='program') implies (value.exists() and (value is CodeableConcept or value is Reference))))
ele-1UsageContext.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1UsageContext.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1UsageContext.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1UsageContext.value[x]:valueCodeableConcept.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1UsageContext.value[x]:valueCodeableConcept.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1UsageContext.value[x]:valueCodeableConcept.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1UsageContext.value[x]:valueCodeableConcept.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueCodeableConcept.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueRange.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1UsageContext.value[x]:valueRange.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1UsageContext.value[x]:valueRange.lowAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1UsageContext.value[x]:valueRange.highAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())