NameFlagsCard.TypeDescription & Constraintsdoco
.. StructureDefinition IDomainResourceStructural Definition
If there's a constrained type, its content must match the path name in the first element of a snapshot
If the structure defines an extension then the structure must have context information
element.base cannot appear if there is no base on the structure definition
A structure must have a base unless abstract = true
element.base must appear if there is a base on the structure definition
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)
Element paths must be unique unless the structure is a constraint
In any snapshot or differential, all the elements except the first have to have a path that starts with the path of the first + "."
In any snapshot or differential, no label, code or requirements on the an element without a "." in the path (e.g. the first element)
If the structure is not abstract, or there's a constrained type, then there SHALL be a base
... 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 a individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... date Σ0..1dateTimeDate for this version of the StructureDefinition
... description Σ0..1stringNatural language description of the StructureDefinition
... useContext Σ0..*CodeableConceptContent intends to support these contexts
Context of Use ValueSet (Extensible)
... requirements 0..1stringScope 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..1codedatatype | resource | logical
StructureDefinitionKind (Required)
... constrainedType Σ I0..1codeAny datatype or resource, including abstract ones
FHIRDefinedType (Required)
... abstract Σ1..1booleanWhether the structure is abstract
... contextType Σ I0..1coderesource | datatype | mapping | extension
ExtensionContext (Required)
... context Σ I0..*stringWhere the extension can be used in instances
... base Σ I0..1uriStructure that this set of constraints applies to
... snapshot I0..1BackboneElementSnapshot view of the structure
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
.... element 1..*ElementDefinitionDefinition of elements in the resource (if no StructureDefinition)

doco Documentation for this format