NameFlagsCard.TypeDescription & Constraintsdoco
.. StructureDefinition IDomainResourceStructural Definition
All element definitions must have unique ids (snapshot)
In any snapshot or differential, no label, code or requirements on the an element without a "." in the path (e.g. the first element)
All element definitions must have unique ids (diff)
element.base cannot appear if there is no base on the structure definition
If there's a type, its content must match the path name in the first element of a snapshot
All element definitions must have an id
Element paths must be unique unless the structure is a constraint
If the structure describes a base Resource or Type, the URL has to start with "http://hl7.org/fhir/StructureDefinition/" and the tail must match the id
A structure must have either a differential, or a snapshot (or both)
If the structure defines an extension then the structure must have context information
If the structure is not abstract, then there SHALL be a baseDefinition
... url Σ1..1uriAbsolute URL used to reference this StructureDefinition
... identifier Σ0..*IdentifierOther identifiers for the StructureDefinition
... version Σ0..1stringLogical id for this version of the StructureDefinition
... name Σ1..1stringInformal name for this StructureDefinition
... display Σ0..1stringUse this name when displaying the value
... status ?!Σ1..1codedraft | active | retired
ConformanceResourceStatus (Required)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... publisher Σ0..1stringName of the publisher (Organization or individual)
... contact Σ0..*BackboneElementContact details of the publisher
.... name Σ0..1stringName of an individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the StructureDefinition
... description Σ0..1markdownNatural language description of the StructureDefinition
... useContext Σ0..*CodeableConceptContent intends to support these contexts
Context of Use ValueSet (Extensible)
... requirements 0..1markdownScope and Usage this structure definition is for
... copyright 0..1stringUse and/or publishing restrictions
... code Σ0..*CodingAssist with indexing and finding
Structure Definition Codes (Example)
... fhirVersion Σ0..1idFHIR Version this StructureDefinition targets
... mapping I0..*BackboneElementExternal specification that the content is mapped to
Must have at a name or a uri (or both)
.... identity 1..1idInternal id when this mapping is used
.... uri I0..1uriIdentifies what this mapping refers to
.... name I0..1stringNames what this mapping refers to
.... comments 0..1stringVersions, Issues, Scope limitations etc.
... kind Σ1..1codeprimitive-type | complex-type | resource | logical
StructureDefinitionKind (Required)
... abstract Σ1..1booleanWhether the structure is abstract
... contextType ΣI0..1coderesource | datatype | extension
ExtensionContext (Required)
... context ΣI0..*stringWhere the extension can be used in instances
... type ΣI1..1codeType defined or constrained by this structure
FHIRDefinedType (Extensible)
... baseDefinition ΣI0..1uriDefinition that this type is constrained/specialized from
... derivation ΣI0..1codespecialization | constraint - How relates to base definition
TypeDerivationRule (Required)
... snapshot I0..1BackboneElementSnapshot view of the structure
The first element in a snapshot has no type
In any snapshot, all the elements must be in the specified type
Each element definition in a snapshot must have a formal definition and cardinalities
.... element I1..*ElementDefinitionDefinition of elements in the resource (if no StructureDefinition)
... differential I0..1BackboneElementDifferential view of the structure
If the first element in a differential has no "." in the path, it has no type
In any differential, all the elements must be in the specified type
.... element 1..*ElementDefinitionDefinition of elements in the resource (if no StructureDefinition)

doco Documentation for this format