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) + 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 Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | ||
Σ | 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 | unknown PublicationStatus (Required) | |
?!Σ | 0..1 | boolean | For testing purposes, not real usage | |
Σ | 0..1 | dateTime | Date this was last changed | |
Σ | 0..1 | string | Name of the publisher (organization or individual) | |
Σ | 0..* | ContactDetail | Contact details for the publisher | |
0..1 | markdown | Natural language description of the structure definition | ||
Σ | 0..* | UsageContext | Context the content is intended to support | |
Σ | 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 | FHIRPath 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) | ||
![]() |