Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4

Valueset-example-hierarchical.xml

Vocabulary Work Group Maturity Level: N/A Standards Status: Informative Compartments: Not linked to any defined compartments

Raw XML (canonical form + also see XML Format Specification)

Jump past Narrative

ValueSet Example showing how to specify a hierarchy for UI using extensions (id = "example-hierarchical")

<?xml version="1.0" encoding="UTF-8"?>
<ValueSet xmlns="http://hl7.org/fhir"><id value="example-hierarchical"/><meta ><!-- many expansions are not shareable, but this one is --><profile value="http://hl7.org/fhir/StructureDefinition/shareablevalueset"/></meta><text ><status value="generated"/><div xmlns="http://www.w3.org/1999/xhtml"><table class="grid"><tr ><td /><td >(Most common)</td></tr><tr ><td >..login</td><td >Login Required</td></tr><tr ><td >..conflict</td><td >Edit Version Conflict</td></tr><tr ><td >processing</td><td >Processing Failure</td></tr><tr ><td >..duplicate</td><td >Duplicate</td></tr><tr ><td >..not-found</td><td >Not Found</td></tr><tr ><td >invalid</td><td >Invalid Content</td></tr><tr ><td >..structure</td><td >Structural Issue</td></tr><tr ><td >..required</td><td >Required element missing</td></tr><tr ><td >..value</td><td >Element value invalid</td></tr><tr ><td >transient</td><td >Transient Issue</td></tr><tr ><td >..lock-error</td><td >Lock Error</td></tr><tr ><td >..exception</td><td >Exception</td></tr><tr ><td >..throttled</td><td >Throttled</td></tr><tr ><td >security</td><td >Security Problem</td></tr><tr ><td >..login</td><td >Login Required</td></tr><tr ><td >..unknown</td><td >Unknown User</td></tr></table></div></text><contained ><!-- 
 include the code system this value is derived from since it's been hacked a little,
 and for simplicity
 --><CodeSystem><id value="hacked"/><url value="http://hl7.org/fhir/hacked"/><status value="draft"/><description value="Issue type in an error message - hack from real FHIR List"/><content value="complete"/><property ><code value="notSelectable"/><uri value="http://hl7.org/fhir/concept-properties#notSelectable"/><type value="boolean"/></property><concept ><!-- invalid (abstract) + structure, required, value --><code value="invalid"/><display value="Invalid Content"/><property ><code value="notSelectable"/><valueBoolean value="true"/></property><concept ><code value="structure"/><display value="Structural Issue"/></concept><concept ><code value="required"/><display value="Required element missing"/></concept><concept ><code value="value"/><display value="Element value invalid"/></concept></concept><concept ><!-- security (abstract) + login | unknown | expired --><code value="security"/><display value="Security Problem"/><property ><code value="notSelectable"/><valueBoolean value="true"/></property><concept ><code value="login"/><display value="Login Required"/></concept><concept ><code value="unknown"/><display value="Unknown User"/></concept><concept ><code value="expired"/><display value="Session Expired"/></concept></concept><concept ><!-- Processing + duplicate | not-found | conflict --><code value="processing"/><display value="Processing Failure"/><concept ><code value="duplicate"/><display value="Duplicate"/></concept><concept ><code value="not-found"/><display value="Not Found"/></concept><concept ><code value="conflict"/><display value="Edit Version Conflict"/></concept></concept><concept ><!-- transient + lock | exception | throttled --><code value="transient"/><display value="Transient Issue"/><concept ><code value="lock-error"/><display value="Lock Error"/></concept><concept ><code value="exception"/><display value="Exception"/></concept><concept ><code value="throttled"/><display value="Throttled"/></concept></concept></CodeSystem></contained><url value="http://hl7.org/fhir/ValueSet/example-hierarchical"/><version value="4.0.1"/><name value="Example Hierarchical ValueSet"/><status value="draft"/><experimental value="true"/><date value="2018年07月20日"/><publisher value="FHIR Project team"/><contact ><telecom ><system value="url"/><value value="http://hl7.org/fhir"/></telecom></contact><description value="Demonstration of extensions that build a hierarchical contains"/><compose ><!-- 
 the include by enumeration simply lists a set of codes with no structure
 
 we're going to introduce a hierarchy. There's 5 possibilities, each shown in this
 
 complex example:
 1. the grouper we are introducing isn't in the code system
 2. The grouper matches a concept in the code system, which is in the value set
 a, it isn't abstract
 b. it is abstract
 3. The grouper matches a concept in the code system, which isn't in the value set
 a, it isn't abstract
 b. it is abstract
 1# we introduce a category for concepts for (most common)
 * (most common)
 + login (also below)
 + conflict (only here)
 
 #2a we replicate processing as a structure. it's not abstract
 * processing
 + duplicate, not-found
 #2b we replicate invalid as a structure. it's abstract
 * invalid
 + structure, required, value
 
 #3a we replicate transient as a structure. it's not abstract (but not in the value
 set)
 * transient
 + lock, exception, tbrottled
 #3b we replicate security as a structure. it's abstract (but not in the value set)
 * security
 + login | unknown
 please, no argument about whether this a good domain example; the point is illustrate
 the method
 --><include ><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-rules"><valueCodevalue="groups-only"/></extension><!-- #1 --><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-group"><extensionurl="display"><valueStringvalue="(Most common)"/></extension><extensionurl="member"><valueCodevalue="login"/></extension><extensionurl="member"><valueCodevalue="conflict"/></extension></extension><!-- #2a --><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-group"><extensionurl="code"><valueCodevalue="processing"/></extension><extensionurl="member"><valueCodevalue="duplicate"/></extension><extensionurl="member"><valueCodevalue="not-found"/></extension></extension><!-- #2b --><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-group"><extensionurl="code"><valueCodevalue="invalid"/></extension><extensionurl="member"><valueCodevalue="structure"/></extension><extensionurl="member"><valueCodevalue="required"/></extension><extensionurl="member"><valueCodevalue="value"/></extension></extension><!-- #3a --><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-group"><extensionurl="code"><valueCodevalue="transient"/></extension><extensionurl="member"><valueCodevalue="lock"/></extension><extensionurl="member"><valueCodevalue="exception"/></extension><extensionurl="member"><valueCodevalue="throttled"/></extension></extension><!-- #3b --><extensionurl="http://hl7.org/fhir/StructureDefinition/valueset-expand-group"><extensionurl="code"><valueCodevalue="security"/></extension><extensionurl="member"><valueCodevalue="login"/></extension><extensionurl="member"><valueCodevalue="unknown"/></extension></extension><system value="#hacked"/><!-- include the codes from the code system, no hierarchy here --><concept ><code value="invalid"/></concept><concept ><code value="structure"/></concept><concept ><code value="required"/></concept><concept ><code value="value"/></concept><concept ><code value="processing"/></concept><concept ><code value="duplicate"/></concept><concept ><code value="not-found"/></concept><concept ><code value="conflict"/></concept><concept ><code value="lock"/></concept><concept ><code value="exception"/></concept><concept ><code value="tbrottled"/></concept><concept ><code value="login"/></concept><concept ><code value="unknown"/></concept></include></compose><expansion ><identifier value="urn:uuid:42316ff8-2714-4680-9980-f37a6d1a71bc"/><timestamp value="2018年07月20日T23:14:07+10:00"/><!-- snip identifier etc --><parameter ><!-- this expansion is for a UI --><name value="excludeNotForUI"/><valueUri value="false"/></parameter><!-- other parameters snipped for brevity --><!-- #1 most common --><contains ><!-- no system or code - it's not a concept at all --><abstract value="true"/><display value="(Most common)"/><contains ><system value="http://hl7.org/fhir/hacked"/><code value="login"/><display value="Login Required"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="conflict"/><display value="Edit Version Conflict"/></contains></contains><!-- #2a processing --><contains ><system value="http://hl7.org/fhir/hacked"/><code value="processing"/><display value="Processing Failure"/><contains ><system value="http://hl7.org/fhir/hacked"/><code value="duplicate"/><display value="Duplicate"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="not-found"/><display value="Not Found"/></contains></contains><!-- #2b invalid --><contains ><system value="http://hl7.org/fhir/hacked"/><abstract value="true"/><code value="invalid"/><display value="Invalid Content"/><contains ><system value="http://hl7.org/fhir/hacked"/><code value="structure"/><display value="Structural Issue"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="required"/><display value="Required element missing"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="value"/><display value="Element value invalid"/></contains></contains><!-- #3a transient --><contains ><system value="http://hl7.org/fhir/hacked"/><!-- 
 this entry is not in the value set, but it was introduced as a grouper. 
 So it's labelled "abstract" : user cannot select it, but the code is provided
 to tie it back to the concept --><abstract value="true"/><code value="transient"/><display value="Transient Issue"/><contains ><system value="http://hl7.org/fhir/hacked"/><code value="lock-error"/><display value="Lock Error"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="exception"/><display value="Exception"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="throttled"/><display value="Throttled"/></contains></contains><!-- #3b security --><contains ><system value="http://hl7.org/fhir/hacked"/><!-- it's abstract either way --><abstract value="true"/><code value="security"/><display value="Security Problem"/><contains ><system value="http://hl7.org/fhir/hacked"/><code value="login"/><display value="Login Required"/></contains><contains ><system value="http://hl7.org/fhir/hacked"/><code value="unknown"/><display value="Unknown User"/></contains></contains><!-- the not UI expansion is 
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <abstract value="true"/>
 <code value="invalid"/> 
 <display value="Invalid Content"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="structure"/> 
 <display value="Structural Issue"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="required"/> 
 <display value="Required element missing"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="value"/> 
 <display value="Element value invalid"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="processing"/> 
 <display value="Processing Failure"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="duplicate"/> 
 <display value="Duplicate"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="not-found"/> 
 <display value="Not Found"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="conflict"/> 
 <display value="Edit Version Conflict"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="lock-error"/> 
 <display value="Lock Error"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="exception"/> 
 <display value="Exception"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="throttled"/> 
 <display value="Throttled"/> 
 </contains> 
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="login"/> 
 <display value="Login Required"/> 
 </contains>
 <contains>
 <system value="http://hl7.org/fhir/hacked"/>
 <code value="unknown"/> 
 <display value="Unknown User"/> 
 </contains>
 --></expansion></ValueSet>

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.

AltStyle によって変換されたページ (->オリジナル) /