| Name | Flags | Card. | Type | Description & Constraints![]() |
|---|---|---|---|---|
| I | DomainResource | Structural Definition In any snapshot or differential, no label, code or requirements on the an element without a "." in the path (e.g. the first element) Custom types can only be used in logical models All element definitions must have unique ids (snapshot) Context Invariants can only be used for extensions 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 | ||
| Σ | 1..1 | uri | Logical uri to reference this structure definition (globally unique) | |
| Σ | 0..* | Identifier | Additional identifier for the structure definition | |
| Σ | 0..1 | string | Business version of the structure definition | |
| Σ | 1..1 | string | Name for this structure definition (Computer friendly) | |
| Σ | 0..1 | string | Name for this structure definition (Human friendly) | |
| ?!Σ | 1..1 | code | draft | active | retired PublicationStatus (Required) | |
| ?!Σ | 0..1 | boolean | If for testing purposes, not real usage | |
| Σ | 0..1 | string | Name of the publisher (Organization or individual) | |
| Σ | 0..* | ContactDetail | Contact details for the publisher | |
| Σ | 0..1 | dateTime | Date this was last changed | |
| 0..1 | markdown | Natural language description of the structure definition | ||
| Σ | 0..* | UsageContext | Content intends to support these contexts | |
| Σ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Jurisdiction ValueSet (Extensible) | |
| 0..1 | markdown | Why this structure definition is defined | ||
| 0..1 | markdown | Use and/or publishing restrictions | ||
| Σ | 0..* | Coding | Assist with indexing and finding Structure Definition Codes (Example) | |
| Σ | 0..1 | id | FHIR Version this StructureDefinition targets | |
| I | 0..* | BackboneElement | External specification that the content is mapped to Must have at least a name or a uri (or both) | |
| 1..1 | id | Internal id when this mapping is used | ||
| I | 0..1 | uri | Identifies what this mapping refers to | |
| I | 0..1 | string | Names what this mapping refers to | |
| 0..1 | string | Versions, Issues, Scope limitations etc. | ||
| Σ | 1..1 | code | primitive-type | complex-type | resource | logical StructureDefinitionKind (Required) | |
| Σ | 1..1 | boolean | Whether the structure is abstract | |
| ΣI | 0..1 | code | resource | datatype | extension ExtensionContext (Required) | |
| ΣI | 0..* | string | Where the extension can be used in instances | |
| ΣI | 0..* | string | FluentPath invariants - when the extension can be used | |
| ΣI | 1..1 | code | Type defined or constrained by this structure FHIRDefinedType (Extensible) | |
| ΣI | 0..1 | uri | Definition that this type is constrained/specialized from | |
| ΣI | 0..1 | code | specialization | constraint - How relates to base definition TypeDerivationRule (Required) | |
| I | 0..1 | BackboneElement | Snapshot 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 | |
| I | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |
| I | 0..1 | BackboneElement | Differential view of the structure If the first element in a differential has no "." in the path, it has no type No slicing on the root element In any differential, all the elements must be in the specified type | |
| 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | ||
Documentation for this format | ||||