StructureDefinition | Medplum
StructureDefinition Resource Description
The StructureDefinition resource describes a structure - a set of data element definitions, and their associated rules of usage. These structure definitions are used to describe both the content defined in the FHIR specification itself - Resources, data types, the underlying infrastructural types, and also are used to describe how these structures are used in implementations. This allows the definitions of the structures to be shared and published through repositories of structure definitions, compared with each other, and used as the basis for code, report and UI generation.
Note that as part of the specification itself, a full set of structure definitions for all resources and data types is published.
- StructureDefinitions are used by CapabilityStatement instances for specifying how resources are used.
- StructureDefinitions use Value Sets to specify the content of coded elements.
Implementers should be familiar with the background and concepts described in Profiling FHIR before working with this resource.
Metadata
The StructureDefinition resource has a set of metadata that is mostly shared with the Value Set, CapabilityStatement and other infrastructure resources. The metadata describes the structure and helps find the structure when registered in repositories.
| url | The identifier that is used to identify this structure when it is referenced in a specification, model, design or an instance. This URL is where the structure can be accessed |
| identifier | Other identifiers that are used to identify this structure |
| version | The identifier that is used to identify this version of the structure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure author manually and the value should be a timestamp. Note that there may be multiple resource versions of the structure that have this same identifier. The resource will have updates that create new versions for technical reasons, whereas the stated version number needs to be under the author's control |
| name | A Computer-ready name (e.g. a token) that identifies the structure - suitable for code generation. Note that this name (and other names relevant for code generation, including element & slice names, codes etc) may collide with reserved words in the relevant target language, and code generators will need to handle this |
| title | A free text natural language name identifying the structure |
| status | The status of the structure allows filtering of StructureDefinitions that are appropriate for use vs. not. See the Status Codes |
| experimental | This structure was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine usage |
| date | The date this version of the structure was published |
| publisher | Details of the individual or organization who accepts responsibility for publishing the structure. This helps establish the "authority/credibility" of the structure. |
| contact | Contact details to assist a user in finding and communicating with the publisher |
| description | A free text natural language description of the structure and its use |
| purpose | Why this structure was created - what the intent of it is |
| useContext & Jurisdiction | Computable details about purpose and scope of use |
| keyword | A set of terms from external terminologies that may be used to assist with indexing and searching of StructureDefinitionss |
| copyright | Use and/or publishing restrictions |
| fhirVersion | The version of the FHIR specification on which this structure is based. It is not necessary to specify the version, as most StructureDefinitions are valid across multiple versions, and the validity of a structure against a particular version of FHIR can easily be checked by tooling. |
| type | The type the structure describes. |
| contextType & context | For extensions, the types of contexts in which the extension can be used. |