Snapshot 3: Connectathon 32 Base

This is Snapshot #3 for FHIR R5, released to support Connectathon 32. For a full list of available versions, see the Directory of published versions.

Example StructureDefinition/HumanName (Turtle)

Modeling and Methodology Work GroupMaturity Level: N/AStandards Status: Informative

Raw Turtle (+ also see Turtle/RDF Format Specification)

StructureDefinition for HumanName

@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# - resource -------------------------------------------------------------------

[] a fhir:StructureDefinition;
  fhir:Resource.id [ fhir:value "HumanName"];
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "generated" ]
  ];
  fhir:DomainResource.extension [
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ];
     fhir:Extension.value [ fhir:value "normative" ]
  ], [
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version" ];
     fhir:Extension.value [ fhir:value "4.0.0" ]
  ];
  fhir:CanonicalResource.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/HumanName"];
  fhir:CanonicalResource.version [ fhir:value "5.0.0-snapshot3"];
  fhir:CanonicalResource.name [ fhir:value "HumanName"];
  fhir:CanonicalResource.status [ fhir:value "active"];
  fhir:CanonicalResource.experimental [ fhir:value "false"];
  fhir:CanonicalResource.date [ fhir:value "2022-12-14T07:12:54+11:00"];
  fhir:CanonicalResource.publisher [ fhir:value "HL7 FHIR Standard"];
  fhir:CanonicalResource.contact [
     fhir:ContactDetail.telecom [
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://hl7.org/fhir" ]
     ]
  ];
  fhir:CanonicalResource.description [ fhir:value "HumanName Type: A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information."];
  fhir:CanonicalResource.jurisdiction [
     fhir:CodeableConcept.coding [
       fhir:Coding.system [ fhir:value "http://unstats.un.org/unsd/methods/m49/m49.htm" ];
       fhir:Coding.code [ fhir:value "001" ];
       fhir:Coding.display [ fhir:value "World" ]
     ]
  ];
  fhir:CanonicalResource.purpose [ fhir:value "Need to be able to record names, along with notes about their use."];
  fhir:StructureDefinition.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/HumanName"];
  fhir:StructureDefinition.version [ fhir:value "5.0.0-snapshot3"];
  fhir:StructureDefinition.name [ fhir:value "HumanName"];
  fhir:StructureDefinition.status [ fhir:value "active"];
  fhir:StructureDefinition.experimental [ fhir:value "false"];
  fhir:StructureDefinition.date [ fhir:value "2022-12-14T07:12:54+11:00"];
  fhir:StructureDefinition.publisher [ fhir:value "HL7 FHIR Standard"];
  fhir:StructureDefinition.contact [
     fhir:ContactDetail.telecom [
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://hl7.org/fhir" ]
     ]
  ];
  fhir:StructureDefinition.description [ fhir:value "HumanName Type: A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information."];
  fhir:StructureDefinition.jurisdiction [
     fhir:CodeableConcept.coding [
       fhir:Coding.system [ fhir:value "http://unstats.un.org/unsd/methods/m49/m49.htm" ];
       fhir:Coding.code [ fhir:value "001" ];
       fhir:Coding.display [ fhir:value "World" ]
     ]
  ];
  fhir:StructureDefinition.purpose [ fhir:value "Need to be able to record names, along with notes about their use."];
  fhir:StructureDefinition.fhirVersion [ fhir:value "5.0.0-snapshot3"];
  fhir:StructureDefinition.mapping [
     fhir:StructureDefinitionMappingComponent.identity [ fhir:value "v2" ];
     fhir:StructureDefinitionMappingComponent.uri [ fhir:value "http://hl7.org/v2" ];
     fhir:StructureDefinitionMappingComponent.name [ fhir:value "HL7 v2 Mapping" ]
  ], [
     fhir:StructureDefinitionMappingComponent.identity [ fhir:value "rim" ];
     fhir:StructureDefinitionMappingComponent.uri [ fhir:value "http://hl7.org/v3" ];
     fhir:StructureDefinitionMappingComponent.name [ fhir:value "RIM Mapping" ]
  ], [
     fhir:StructureDefinitionMappingComponent.identity [ fhir:value "servd" ];
     fhir:StructureDefinitionMappingComponent.uri [ fhir:value "http://www.omg.org/spec/ServD/1.0/" ];
     fhir:StructureDefinitionMappingComponent.name [ fhir:value "ServD" ]
  ];
  fhir:StructureDefinition.kind [ fhir:value "complex-type"];
  fhir:StructureDefinition.abstract [ fhir:value "false"];
  fhir:StructureDefinition.type [ fhir:value "HumanName"];
  fhir:StructureDefinition.baseDefinition [ fhir:value "http://hl7.org/fhir/StructureDefinition/DataType"];
  fhir:StructureDefinition.derivation [ fhir:value "specialization"];
  fhir:StructureDefinition.snapshot [
     fhir:StructureDefinitionSnapshotComponent.element [
       fhir:Element.id [ fhir:value "HumanName" ];
       fhir:Element.extension [
         fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ];
         fhir:Extension.value [ fhir:value "normative" ]
       ], [
         fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version" ];
         fhir:Extension.value [ fhir:value "4.0.0" ]
       ];
       fhir:ElementDefinition.path [ fhir:value "HumanName" ];
       fhir:ElementDefinition.short [ fhir:value "Name of a human or other living entity - parts and usage" ];
       fhir:ElementDefinition.definition [ fhir:value "A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information." ];
       fhir:ElementDefinition.comment [ fhir:value "Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "n/a" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "EN (actually, PN)" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "ProviderName" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.id" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.id" ];
       fhir:ElementDefinition.representation [ fhir:value "xmlAttr" ];
       fhir:ElementDefinition.short [ fhir:value "Unique id for inter-element referencing" ];
       fhir:ElementDefinition.definition [ fhir:value "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Element.id" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:Element.extension [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ];
           fhir:Extension.value [ fhir:value "id" ]
         ];
         fhir:TypeRefComponent.code [ fhir:value "http://hl7.org/fhirpath/System.String" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.extension" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.extension" ];
       fhir:ElementDefinition.slicing [
         fhir:ElementDefinitionSlicingComponent.discriminator [
           fhir:ElementDefinitionSlicingDiscriminatorComponent.type [ fhir:value "value" ];
           fhir:ElementDefinitionSlicingDiscriminatorComponent.path [ fhir:value "url" ]
         ];
         fhir:ElementDefinitionSlicingComponent.description [ fhir:value "Extensions are always sliced by (at least) url" ];
         fhir:ElementDefinitionSlicingComponent.rules [ fhir:value "open" ]
       ];
       fhir:ElementDefinition.short [ fhir:value "Additional content defined by implementations" ];
       fhir:ElementDefinition.definition [ fhir:value "May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ];
       fhir:ElementDefinition.comment [ fhir:value "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." ];
       fhir:ElementDefinition.alias [ fhir:value "extensions" ], [ fhir:value "user content" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Element.extension" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "Extension" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ], [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ext-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "Must have either extensions or value[x], not both" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "extension.exists() != value.exists()" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.use" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.use" ];
       fhir:ElementDefinition.short [ fhir:value "usual | official | temp | nickname | anonymous | old | maiden" ];
       fhir:ElementDefinition.definition [ fhir:value "Identifies the purpose for this name." ];
       fhir:ElementDefinition.comment [ fhir:value "Applications can assume that a name is current unless it explicitly says that it is temporary or old." ];
       fhir:ElementDefinition.requirements [ fhir:value "Allows the appropriate name for a particular context of use to be selected from among a set of names." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.use" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "code" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "true" ];
       fhir:ElementDefinition.isModifierReason [ fhir:value "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.binding [
         fhir:Element.extension [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/build/StructureDefinition/binding-definition" ];
           fhir:Extension.value [ fhir:value "The use of a human name." ]
         ], [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ];
           fhir:Extension.value [ fhir:value "NameUse" ]
         ];
         fhir:ElementDefinitionBindingComponent.strength [ fhir:value "required" ];
         fhir:ElementDefinitionBindingComponent.valueSet [ fhir:value "http://hl7.org/fhir/ValueSet/name-use|5.0.0-snapshot3" ]
       ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.7, but often indicated by which field contains the name" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "unique(./use)" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./NamePurpose" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.text" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.text" ];
       fhir:ElementDefinition.short [ fhir:value "Text representation of the full name" ];
       fhir:ElementDefinition.definition [ fhir:value "Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts." ];
       fhir:ElementDefinition.comment [ fhir:value "Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present,  no content is included in the text that isn't found in a part." ];
       fhir:ElementDefinition.requirements [ fhir:value "A renderable, unencoded form." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.text" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "implied by XPN.11" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./formatted" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.family" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.family" ];
       fhir:ElementDefinition.short [ fhir:value "Family name (often called 'Surname')" ];
       fhir:ElementDefinition.definition [ fhir:value "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father." ];
       fhir:ElementDefinition.comment [ fhir:value "Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures)." ];
       fhir:ElementDefinition.alias [ fhir:value "surname" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.family" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.1/FN.1" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = FAM]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./FamilyName" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.given" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.given" ];
       fhir:ElementDefinition.short [ fhir:value "Given names (not always 'first'). Includes middle names" ];
       fhir:ElementDefinition.definition [ fhir:value "Given name." ];
       fhir:ElementDefinition.comment [ fhir:value "If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations.  This element is not called \"first name\" since given names do not always come first." ];
       fhir:ElementDefinition.alias [ fhir:value "first name" ], [ fhir:value "middle name" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.given" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Given Names appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.2 + XPN.3" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = GIV]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./GivenNames" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.prefix" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.prefix" ];
       fhir:ElementDefinition.short [ fhir:value "Parts that come before the name" ];
       fhir:ElementDefinition.definition [ fhir:value "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.prefix" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Prefixes appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.5" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = PFX]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./TitleCode" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.suffix" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.suffix" ];
       fhir:ElementDefinition.short [ fhir:value "Parts that come after the name" ];
       fhir:ElementDefinition.definition [ fhir:value "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.suffix" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Suffixes appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN/4" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = SFX]" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.period" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.period" ];
       fhir:ElementDefinition.short [ fhir:value "Time period when name was/is in use" ];
       fhir:ElementDefinition.definition [ fhir:value "Indicates the period of time when this name was valid for the named person." ];
       fhir:ElementDefinition.requirements [ fhir:value "Allows names to be placed in historical context." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "HumanName.period" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "Period" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.13 + XPN.14" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./usablePeriod[type=\"IVL<TS>\"]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./StartDate and ./EndDate" ]
       ]
     ]
  ];
  fhir:StructureDefinition.differential [
     fhir:StructureDefinitionDifferentialComponent.element [
       fhir:Element.id [ fhir:value "HumanName" ];
       fhir:Element.extension [
         fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ];
         fhir:Extension.value [ fhir:value "normative" ]
       ], [
         fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version" ];
         fhir:Extension.value [ fhir:value "4.0.0" ]
       ];
       fhir:ElementDefinition.path [ fhir:value "HumanName" ];
       fhir:ElementDefinition.short [ fhir:value "Name of a human or other living entity - parts and usage" ];
       fhir:ElementDefinition.definition [ fhir:value "A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information." ];
       fhir:ElementDefinition.comment [ fhir:value "Names may be changed, or repudiated, or people may have different names in different contexts. Names may be divided into parts of different type that have variable significance depending on context, though the division into parts does not always matter. With personal names, the different parts might or might not be imbued with some implicit meaning; various cultures associate different importance with the name parts and the degree to which systems must care about name parts around the world varies widely." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "EN (actually, PN)" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "ProviderName" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.use" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.use" ];
       fhir:ElementDefinition.short [ fhir:value "usual | official | temp | nickname | anonymous | old | maiden" ];
       fhir:ElementDefinition.definition [ fhir:value "Identifies the purpose for this name." ];
       fhir:ElementDefinition.comment [ fhir:value "Applications can assume that a name is current unless it explicitly says that it is temporary or old." ];
       fhir:ElementDefinition.requirements [ fhir:value "Allows the appropriate name for a particular context of use to be selected from among a set of names." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "code" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "true" ];
       fhir:ElementDefinition.isModifierReason [ fhir:value "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.binding [
         fhir:Element.extension [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/build/StructureDefinition/binding-definition" ];
           fhir:Extension.value [ fhir:value "The use of a human name." ]
         ], [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ];
           fhir:Extension.value [ fhir:value "NameUse" ]
         ];
         fhir:ElementDefinitionBindingComponent.strength [ fhir:value "required" ];
         fhir:ElementDefinitionBindingComponent.valueSet [ fhir:value "http://hl7.org/fhir/ValueSet/name-use|5.0.0-snapshot3" ]
       ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.7, but often indicated by which field contains the name" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "unique(./use)" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./NamePurpose" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.text" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.text" ];
       fhir:ElementDefinition.short [ fhir:value "Text representation of the full name" ];
       fhir:ElementDefinition.definition [ fhir:value "Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts." ];
       fhir:ElementDefinition.comment [ fhir:value "Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present,  no content is included in the text that isn't found in a part." ];
       fhir:ElementDefinition.requirements [ fhir:value "A renderable, unencoded form." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "implied by XPN.11" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./formatted" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.family" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.family" ];
       fhir:ElementDefinition.short [ fhir:value "Family name (often called 'Surname')" ];
       fhir:ElementDefinition.definition [ fhir:value "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father." ];
       fhir:ElementDefinition.comment [ fhir:value "Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures)." ];
       fhir:ElementDefinition.alias [ fhir:value "surname" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.1/FN.1" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = FAM]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./FamilyName" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.given" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.given" ];
       fhir:ElementDefinition.short [ fhir:value "Given names (not always 'first'). Includes middle names" ];
       fhir:ElementDefinition.definition [ fhir:value "Given name." ];
       fhir:ElementDefinition.comment [ fhir:value "If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations.  This element is not called \"first name\" since given names do not always come first." ];
       fhir:ElementDefinition.alias [ fhir:value "first name" ], [ fhir:value "middle name" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Given Names appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.2 + XPN.3" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = GIV]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./GivenNames" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.prefix" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.prefix" ];
       fhir:ElementDefinition.short [ fhir:value "Parts that come before the name" ];
       fhir:ElementDefinition.definition [ fhir:value "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Prefixes appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.5" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = PFX]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./TitleCode" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.suffix" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.suffix" ];
       fhir:ElementDefinition.short [ fhir:value "Parts that come after the name" ];
       fhir:ElementDefinition.definition [ fhir:value "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "*" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "string" ]
       ];
       fhir:ElementDefinition.orderMeaning [ fhir:value "Suffixes appear in the correct order for presenting the name" ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN/4" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./part[partType = SFX]" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "HumanName.period" ];
       fhir:ElementDefinition.path [ fhir:value "HumanName.period" ];
       fhir:ElementDefinition.short [ fhir:value "Time period when name was/is in use" ];
       fhir:ElementDefinition.definition [ fhir:value "Indicates the period of time when this name was valid for the named person." ];
       fhir:ElementDefinition.requirements [ fhir:value "Allows names to be placed in historical context." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "Period" ]
       ];
       fhir:ElementDefinition.isSummary [ fhir:value "true" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "v2" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "XPN.13 + XPN.14" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./usablePeriod[type=\"IVL<TS>\"]" ]
       ], [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "servd" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "./StartDate and ./EndDate" ]
       ]
     ]
  ] .

# -------------------------------------------------------------------------------------


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.