This page is part of the FHIR Specification (v0.0.82: DSTU 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Formal definitions for the elements in the Profile resource.
Profile | |
Definition | A Resource Profile - a statement of use of one or more FHIR Resources. It may include constraints on Resources and Data Types, Terminology Binding Statements and Extension Definitions. |
Control | 1..1 |
Aliases | Template |
Comments | Often called a clinical template. |
Invariants | Defined on this element Inv-8: SHALL define at least one structure constraint or extension definition (xpath: exists(f:structure) or exists(f:extensionDefn)) Inv-15: Where multiple structures exist with the same type, they SHALL have names (xpath: count(f:structure[not(f:name)]) = count(distinct-values(f:structure[not(f:name)]/f:type/@value))) Inv-16: Extension definition codes must be unique (xpath: count(f:extensionDefn) = count(distinct-values(f:extensionDefn/f:code/@value))) Inv-17: There can't be multiple structures with the same type and name (xpath: not(exists(for $structure in f:structure return $structure/preceding-sibling::f:structure[f:type/@value=$structure/f:type/@value and f:name/@value = $structure/f:name/@value]))) Inv-27: Structure name must be unique (xpath: count(distinct-values(f:structure/f:name/@value)) =count(f:structure/f:name)) Inv-28: Query name must be unique (xpath: count(distinct-values(f:query/f:name/@value)) =count(f:query/f:name)) |
Profile.identifier | |
Definition | The identifier that is used to identify this profile when it is referenced in a specification, model, design or an instance (should be globally unique OID, UUID, or URI). |
Control | 0..1 |
Type | string |
Summary | true |
Comments | N/A. |
Profile.version | |
Definition | The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. |
Control | 0..1 |
Type | string |
Requirements | There may be multiple resource versions of the profile that have this same identifier. The resource version id will change for technical reasons, whereas the stated version number needs to be under the author's control. |
Summary | true |
Comments | N/A. |
Profile.name | |
Definition | A free text natural language name identifying the Profile. |
Control | 1..1 |
Type | string |
Summary | true |
Comments | Not expected to be globally unique. |
Profile.publisher | |
Definition | Details of the individual or organization who accepts responsibility for publishing the profile. |
Control | 0..1 |
Type | string |
Requirements | Helps establish the "authority/credibility" of the profile. May also allow for contact. |
Summary | true |
Comments | Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. |
Profile.telecom | |
Definition | Contact details to assist a user in finding and communicating with the publisher. |
Control | 0..* |
Type | Contact |
Summary | true |
Comments | May be a web site, an email address, a telephone number (tel:), etc. |
Profile.description | |
Definition | A free text natural language description of the profile and its use. |
Control | 0..1 |
Type | string |
Summary | true |
Comments | This field can be used for things such as why the profile was written, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is *not* a rendering of the profile as conveyed in Profile.text. This item SHOULD be populated unless the information is available from context. |
Profile.code | |
Definition | A set of terms from external terminologies that may be used to assist with indexing and searching of templates. |
Control | 0..* |
Type | Coding |
Requirements | Assist in searching for appropriate profiles. |
Summary | true |
Profile.status | |
Definition | The status of the profile. |
Control | 1..1 |
Binding | ResourceProfileStatus: The lifecycle status of a Resource Profile (see http://hl7.org/fhir/resource-profile-status for values) |
Type | code |
Is Modifier | true |
Requirements | Allows filtering of profiles that are appropriate for use vs. not. |
Summary | true |
Profile.experimental | |
Definition | This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. |
Control | 0..1 |
Type | boolean |
Requirements | Allows filtering of profiles that are appropriate for use vs. not. |
Summary | true |
Profile.date | |
Definition | The date that this version of the profile was published. |
Control | 0..1 |
Type | dateTime |
Summary | true |
Profile.requirements | |
Definition | The Scope and Usage that this profile was created to meet. |
Control | 0..1 |
Type | string |
Profile.fhirVersion | |
Definition | The version of the FHIR specification on which this profile is based. |
Control | 0..1 |
Type | id |
Summary | true |
Comments | A profile does not need to specify the target it applies to,as profiles will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a profile is consistent with a particular profile if desired. |
Profile.mapping | |
Definition | An external specification that the content is mapped to. |
Control | 0..* |
Invariants | Defined on this element Inv-26: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name)) |
Profile.mapping.identity | |
Definition | An Internal id that is used to identify this mapping set when specific mappings are made. |
Control | 1..1 |
Type | id |
Comments | The specification is described once, with general comments, and then specific mappings are made that reference this declaration. |
Profile.mapping.uri | |
Definition | A URI that identifies the specification that this mapping is expressed to. |
Control | 0..1 |
Type | uri |
Comments | A formal identity for the specification being mapped to helps with identifying maps consistently. |
Invariants | Affect this element Inv-26: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name)) |
Profile.mapping.name | |
Definition | A name for the specification that is being mapped to. |
Control | 0..1 |
Type | string |
Invariants | Affect this element Inv-26: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name)) |
Profile.mapping.comments | |
Definition | Comments about this mapping, including version notes, issues, scope limitations, and other important notes for usage. |
Control | 0..1 |
Type | string |
Profile.structure | |
Definition | A constraint statement about what contents a resource or data type may have. |
Control | 0..* |
Invariants | Defined on this element Inv-12: Only complex types can be constrained, not primitive types such as string etc. (xpath: upper-case(substring(f:type,1,1))=substring(f:type,1,1)) Inv-18: Element paths must be unique - or not (LM) (xpath: count(f:element) >= count(distinct-values(f:element/f:path/@value))) Inv-29: Parameter names must be unique within structure (xpath: count(distinct-values(f:searchParam/f:name/@value)) =count(f:searchParam/f:name)) Affect this element Inv-8: SHALL define at least one structure constraint or extension definition (xpath: exists(f:structure) or exists(f:extensionDefn)) |
To Do | Consider adding elements to support capturing events. |
Profile.structure.type | |
Definition | The Resource or Data type being described. |
Control | 1..1 |
Binding | FHIRDefinedType: Any defined Resource or Data Type name |
Type | code |
Comments | Only complex types can be constrained, not primitive types such as string etc. |
Invariants | Affect this element Inv-12: Only complex types can be constrained, not primitive types such as string etc. (xpath: upper-case(substring(f:type,1,1))=substring(f:type,1,1)) |
Profile.structure.name | |
Definition | The name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile). |
Control | 0..1 |
Type | string |
Comments | This field is the target for a resource.profile. |
Profile.structure.publish | |
Definition | This definition of a profile on a structure is published as a formal statement. Some structural definitions might be defined purely for internal use within the profile, and not intended to be used outside that context. |
Control | 0..1 |
Type | boolean |
Comments | If there is more than one published structure for each type, and the URL reference to the profile doesn't specify which named structure to use (using a URL fragment, e.g. #...) then which profile to use is indeterminate, and an error should be raised. |
Profile.structure.purpose | |
Definition | Human summary: why describe this resource?. |
Control | 0..1 |
Type | string |
Profile.structure.element | |
Definition | Captures constraints on each element within the resource. |
Control | 0..* |
Invariants | Defined on this element Inv-11: Must have either a slice or a definition, but not both (xpath: exists(f:slicing) != exists(f:definition)) Inv-20: An element must either be a definition or a slicing descriptor, never both. (xpath: exists(f:slicing)!=exists(f:definition)) Inv-21: An element that's a slicing descriptor must not be preceded by an element that starts with the same path and must be followed by an element with exactly the same path. (xpath: not(f:slicing) or (not(starts-with(preceding-sibling::f:element[1]/f:path/@value, current()/f:path/@value)) and following-sibling::f:element[1]/f:path/@value=current()/f:path/@value)) |
Profile.structure.element.path | |
Definition | The path identifies the element and is expressed as a "."-separated list of ancestor elements, beginning with the name of the resource. |
Control | 1..1 |
Type | string |
Profile.structure.element.representation | |
Definition | Codes that define how this element is represented in instances, when the deviation varies from the normal case. |
Control | 0..* |
Binding | PropertyRepresentation: How a property is represented on the wire (see http://hl7.org/fhir/property-representation for values) |
Type | code |
Comments | This is rarely used except for special cases where the representation deviates from the norml, which is done only very reluctantly, and can only be done in the base standard (and profiles must reproduce what the base standard does. |
Profile.structure.element.name | |
Definition | The name of this element definition (to refer to it from other element definitions using Profile.structure.element.definition.nameReference). This is a unique name referring to a specific set of constraints applied to this element. One use of this is to provide a name to different slices of the same element. |
Control | 0..1 |
Type | string |
Comments | The name SHALL be unique within the profile and all imported profiles within the context of the constrained resource element. (Though to avoid confusion, uniqueness across all elements is recommended.). |
Profile.structure.element.slicing | |
Definition | Indicates that the element is sliced into a set of alternative definitions (there are multiple definitions on a single element in the base resource). The set of slices is any elements that come after this in the element sequence that have the same path, until a shorter path occurs (the shorter path terminates the set). |
Control | 0..1 |
Profile.structure.element.slicing.discriminator | |
Definition | Designates which child element is used to discriminate between the slices when processing an instance. The value of the child element in the instance SHALL completely distinguish which slice the element in the resource matches based on the allowed values for that element in each of the slices. |
Control | 1..1 |
Type | id |
Profile.structure.element.slicing.ordered | |
Definition | If the matching elements have to occur in the same order as defined in the profile. |
Control | 1..1 |
Type | boolean |
Comments | Order should only be required when it is a pressing concern for presentation. Profile authors should consider making the order a feature of the rules about the narrative, not the rules about the data - requiring ordered data makes the profile much less re-usable. |
Profile.structure.element.slicing.rules | |
Definition | Whether additional slices are allowed or not. When the slices are ordered, profile authors can also say that additional slices are only allowed at the end. |
Control | 1..1 |
Binding | SlicingRules: How slices are interpreted when evaluating an instance (see http://hl7.org/fhir/resource-slicing-rules for values) |
Type | code |
Comments | Allowing additional elements makes for a much for flexible template - it's open for use in wider contexts, but also means that the content of the resource is not closed, and applications have to decide how to handle content not described by the profile. |
Profile.structure.element.definition | |
Definition | Definition of the content of the element to provide a more specific definition than that contained for the element in the base resource. |
Control | 0..1 |
Comments | The definition SHALL be a proper constraint on the definition of the base resource. |
Invariants | Defined on this element Inv-2: Either a namereference or a fixed value (but not both) is permitted (xpath: not(exists(f:nameReference) and exists(f:*[starts-with(local-name(.), 'value')]))) Inv-7: Binding can only be present for coded elements (xpath: not(exists(f:binding)) or f:type/f:code/@value=('code','Coding','CodeableConcept','Quantity')) Inv-10: Value may only be specified if the type consists of a single repetition that has a type corresponding to one of the primitive data types. (xpath: not(exists(f:*[starts-with(local-name(.), 'value')])) or (count(f:type)=1 and f:type/f:code[substring(@value,1,1)=lower-case(substring(@value,1,1))])) Inv-19: Element names must be unique (xpath: count(f:element[f:name]) = count(distinct-values(f:element/f:name/@value))) Inv-22: If a definition has multiple types with the same code, each must specify a profile (xpath: count(f:type[not(f:profile)]) = count(distinct-values(f:type[not(f:profile)]/f:code/@value))) Inv-23: Types must be unique by the combination of code and profile (xpath: not(exists(for $type in f:type return $type/preceding-sibling::f:type[f:code/@value=$type/f:code/@value and f:profile/@value = $type/f:profile/@value]))) Inv-24: Constraints must be unique by key (xpath: count(f:constraint) = count(distinct-values(f:constraint/f:key/@value))) Inv-25: Constraint names must be unique. (xpath: count(f:constraint[f:name]) = count(distinct-values(f:constraint/f:name/@value))) |
Profile.structure.element.definition.short | |
Definition | A concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification). |
Control | 1..1 |
Type | string |
Comments | May change the term to provide language more appropriate to the context of the profile or to reflect slicing. |
Profile.structure.element.definition.formal | |
Definition | The definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource. |
Control | 1..1 |
Type | string |
Requirements | To allow a user to clarify the usage of an element in a particular context. |
Comments | It is easy for a different definition to change the meaning of an element and this can have nasty downstream consequences. Please be careful when providing definitions. |
Profile.structure.element.definition.comments | |
Definition | Comments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc. |
Control | 0..1 |
Type | string |
Comments | If it is possible to capture usage rules using invariants, that mechanism should be used in preference to this element. |
Profile.structure.element.definition.requirements | |
Definition | Explains why this element is needed and why it's been constrained as it has. |
Control | 0..1 |
Type | string |
Profile.structure.element.definition.synonym | |
Definition | Identifies additional names by which this element might also be known. |
Control | 0..* |
Type | string |
Requirements | Allows for better easier recognition of the element by multiple communities, including international communities. |
Profile.structure.element.definition.min | |
Definition | The minimum number of times this element SHALL appear in the instance. |
Control | 1..1 |
Type | integer |
Profile.structure.element.definition.max | |
Definition | The maximum number of times this element is permitted to appear in the instance. |
Control | 1..1 |
Type | string |
Invariants | Defined on this element Inv-6: Max SHALL be a number or "*" (xpath: @value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='')) Affect this element Inv-6: Max SHALL be a number or "*" (xpath: @value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='')) |
Profile.structure.element.definition.type | |
Definition | The data type or resource that the value of this element is permitted to be. |
Control | 0..* |
Comments | The Type of the element can be left blank, in which case the type is inherited from the resource. The type can only be listed in this field if it is an allowed option in the base resource. |
Invariants | Defined on this element Inv-9: Aggregation may only be specified if one of the allowed types for the element is a resource (xpath: not(exists(f:aggregation)) or exists(f:code[starts-with(@value, 'Resource(')])) |
Profile.structure.element.definition.type.code | |
Definition | Name of Data type or Resource. |
Control | 1..1 |
Binding | DataType: Any defined Data Type name |
Type | code |
Comments | If the element is a reference to another resource, this element contains "ResourceReference", and the profile element refers to the profile of the allowed target of the resource, which may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/profiles/Patient). There would be one pair of type/code for each allowed target resource type. |
Profile.structure.element.definition.type.profile | |
Definition | Identifies a profile that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. |
Control | 0..1 |
Type | uri |
Comments | The reference might be a simple name in the form #[name], which is a reference to another named constraint in a resource - where the resource contains more than one constraint, or a URL which is a reference to a resource Profile, with a terminal #[name] which identifies a specific structure entry in the profile. |
Invariants | Affect this element Inv-8: SHALL define at least one structure constraint or extension definition (xpath: exists(f:structure) or exists(f:extensionDefn)) |
Profile.structure.element.definition.type.aggregation | |
Definition | If the type is a reference to another resource, how the resource is or can be aggreated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle. |
Control | 0..* |
Binding | AggregationMode: How resource references can be aggregated (see http://hl7.org/fhir/resource-aggregation-mode for values) |
Type | code |
Invariants | Affect this element Inv-9: Aggregation may only be specified if one of the allowed types for the element is a resource (xpath: not(exists(f:aggregation)) or exists(f:code[starts-with(@value, 'Resource(')])) |
Profile.structure.element.definition.nameReference | |
Definition | Identifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element. |
Control | 0..1 |
Type | string |
Comments | If child components of this element are defined, they act as constraints on the referenced slice. |
Invariants | Affect this element Inv-2: Either a namereference or a fixed value (but not both) is permitted (xpath: not(exists(f:nameReference) and exists(f:*[starts-with(local-name(.), 'value')]))) |
Profile.structure.element.definition.value[x] | |
Definition | Specifies a primitive value that SHALL hold for this element in the instance. |
Control | 0..1 |
Type | * |
Comments | To specify a fixed value for a complex data type, include the child elements for the type and specify fixed values for each property independently. |
Invariants | Affect this element Inv-2: Either a namereference or a fixed value (but not both) is permitted (xpath: not(exists(f:nameReference) and exists(f:*[starts-with(local-name(.), 'value')]))) Inv-10: Value may only be specified if the type consists of a single repetition that has a type corresponding to one of the primitive data types. (xpath: not(exists(f:*[starts-with(local-name(.), 'value')])) or (count(f:type)=1 and f:type/f:code[substring(@value,1,1)=lower-case(substring(@value,1,1))])) |
Profile.structure.element.definition.example[x] | |
Definition | An example value for this element. |
Control | 0..1 |
Type | * |
Comments | If the example value are fully populated, the publication tool can generate an instance automatically. |
Profile.structure.element.definition.maxLength | |
Definition | Indicates the shortest length that SHALL be supported by conformant instances without truncation. |
Control | 0..1 |
Type | integer |
Comments | If not specified, there is no conformance expectation for length support. |
To Do | Need to flesh this out more - leverage v2 approach. |
Profile.structure.element.definition.condition | |
Definition | A reference to an invariant that may make additional statements about the cardinality or value in the instance. |
Control | 0..* |
Type | id |
Profile.structure.element.definition.constraint | |
Definition | Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance. |
Control | 0..* |
Comments | Constraints should be declared on the "context" element - the lowest element in the hierarchy that is common to all nodes referenced by the constraint. |
Profile.structure.element.definition.constraint.key | |
Definition | Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality. |
Control | 1..1 |
Type | id |
Profile.structure.element.definition.constraint.name | |
Definition | Used to label the constraint in OCL or in short displays incapable of displaying the full human description. |
Control | 0..1 |
Type | string |
Profile.structure.element.definition.constraint.severity | |
Definition | Identifies the impact constraint violation has on the conformance of the instance. |
Control | 1..1 |
Binding | ConstraintSeverity: SHALL applications comply with this constraint? (see http://hl7.org/fhir/constraint-severity for values) |
Type | code |
Comments | This allows constraints to be asserted as "shall" (error) and "should" (warning). |
Profile.structure.element.definition.constraint.human | |
Definition | Text that can be used to describe the constraint in messages identifying that the constraint has been violated. |
Control | 1..1 |
Type | string |
Comments | Should be expressed in business terms as much as possible. |
Profile.structure.element.definition.constraint.xpath | |
Definition | XPath expression of constraint. |
Control | 1..1 |
Type | string |
Requirements | Used in Schematron tests of the validity of the resource. |
Comments | Elements SHALL use "f" as the namespace prefix for the FHIR namespace, and "x" for the xhtml namespace, and SHALL not use any other prefixes. |
Profile.structure.element.definition.mustSupport | |
Definition | If true, conformant resource authors SHALL be capable of providing a value for the element and resource consumers SHALL be capable of extracting and doing something useful with the data element. If false, the element may be ignored and not supported. |
Control | 0..1 |
Type | boolean |
Requirements | Allows a profile to set expectations for system capabilities beyond merely respecting cardinality constraints. |
Comments | "Something useful" is context dependent. This flag is never set to true by the FHIR specification itself - it is only set to true in profiles, and when the profile sets it true, it SHALL describe what it means for applications to support the element. In general, the question is what would a reasonable observer expect of a system that explicitly claims to "support" this element?. |
Profile.structure.element.definition.isModifier | |
Definition | If true, the value of this element affects the interpretation of the element or resource that contains it, and the value of the element cannot be ignored. Typically, this is used for status, negation and qualification codes. The effect of this is that the element cannot be ignored by systems: they SHALL either recognize the element and process it, and/or a pre-determination has been made that it is not relevant to their particular system. |
Control | 1..1 |
Type | boolean |
Requirements | Allows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them. |
Comments | Only the definition of an element can set IsModifier true - either the specification itself or where an extension is originally defined. Once set to false, it cannot be set to true in derived profiles. An element/extension that has isModifier=true SHOULD also have a minimum cardinality of 1, so that there is no lack of clarity about what to do if it is missing. If it can be missing, the definition SHALL make the meaning of a missing element clear. |
Profile.structure.element.definition.binding | |
Definition | Binds to a value set if this element is coded (code, Coding, CodeableConcept). |
Control | 0..1 |
Invariants | Defined on this element Inv-3: provide either a reference or a description (or both) (xpath: (exists(f:referenceUri) or exists(f:referenceResource)) or exists(f:description)) Inv-14: Example value sets are always extensible (xpath: not(f:Conformance/value='example' and f:isExtensible.value='false')) Affect this element Inv-12: Only complex types can be constrained, not primitive types such as string etc. (xpath: upper-case(substring(f:type,1,1))=substring(f:type,1,1)) |
Profile.structure.element.definition.binding.name | |
Definition | A descriptive name for this - can be useful for generating implementation artifacts. |
Control | 1..1 |
Type | string |
Comments | SHALL be unique within the profile. If the same name as an imported profile, will override the imported binding (and SHALL be a proper constraint on the imported binding). |
Invariants | Affect this element Inv-11: Must have either a slice or a definition, but not both (xpath: exists(f:slicing) != exists(f:definition)) |
Profile.structure.element.definition.binding.isExtensible | |
Definition | If true, then conformant systems may use additional codes or (where the data type permits) text alone to convey concepts not covered by the set of codes identified in the binding. If false, then conformant systems are constrained to the provided codes alone. |
Control | 1..1 |
Type | boolean |
Comments | When the binding use used for elements with a type of "code" (rather than Coding or CodableConcept), the binding is treated as non-extensible regardless of the value of this property. |
Invariants | Affect this element Inv-14: Example value sets are always extensible (xpath: not(f:Conformance/value='example' and f:isExtensible.value='false')) |
Profile.structure.element.definition.binding.conformance | |
Definition | Indicates the degree of conformance expectations associated with this binding. |
Control | 0..1 |
Binding | BindingConformance: Binding conformance for applications (see http://hl7.org/fhir/binding-conformance for values) |
Type | code |
Invariants | Affect this element Inv-14: Example value sets are always extensible (xpath: not(f:Conformance/value='example' and f:isExtensible.value='false')) |
Profile.structure.element.definition.binding.description | |
Definition | Describes the intended use of this particular set of codes. |
Control | 0..1 |
Type | string |
Invariants | Affect this element Inv-3: provide either a reference or a description (or both) (xpath: (exists(f:referenceUri) or exists(f:referenceResource)) or exists(f:description)) |
Profile.structure.element.definition.binding.reference[x] | |
Definition | Points to the value set or external definition that identifies the set of codes to be used. |
Control | 0..1 |
Type | uri|Resource(ValueSet) |
Comments | For value sets,the referenceResource, the display can contain the value set description. The reference may be version-specific or not. |
Invariants | Defined on this element Inv-13: uri SHALL start with http:// or https:// (xpath: starts-with(@value, 'http:') or starts-with(@value, 'https:')) Affect this element Inv-3: provide either a reference or a description (or both) (xpath: (exists(f:referenceUri) or exists(f:referenceResource)) or exists(f:description)) |
Profile.structure.element.definition.mapping | |
Definition | Identifies a concept from an external specification that roughly corresponds to this element. |
Control | 0..* |
Requirements | Provides guidance to implementers familiar with or converting content from other specifications. |
Comments | Mappings are not necessarily specific enough for safe translation. |
Profile.structure.element.definition.mapping.identity | |
Definition | An internal reference to the definition of a mapping. |
Control | 1..1 |
Type | id |
Invariants | Affect this element Inv-26: Must have at a name or a uri (or both) (xpath: exists(f:uri) or exists(f:name)) |
Profile.structure.element.definition.mapping.map | |
Definition | Expresses what part of the target specification corresponds to this element. |
Control | 1..1 |
Type | string |
Comments | For most mappings, the syntax is undefined. Syntax will be provided for mappings to the RIM. Multiple mappings may be possible and may include constraints on other resource elements that identify when a particular mapping applies. |
Profile.structure.searchParam | |
Definition | Additional search parameters for implementations to support and/or make use of. |
Control | 0..* |
Profile.structure.searchParam.name | |
Definition | The name of the standard or custom search parameter. |
Control | 1..1 |
Type | string |
Requirements | Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. |
Profile.structure.searchParam.type | |
Definition | The type of value a search parameter refers to, and how the content is interpreted. |
Control | 1..1 |
Binding | SearchParamType: Data types allowed to be used for search parameters (see http://hl7.org/fhir/search-param-type for values) |
Type | code |
Profile.structure.searchParam.documentation | |
Definition | A specification for search parameters. For standard parameters, provides additional information on how the parameter is used in this solution. For custom parameters, provides a description of what the parameter does. |
Control | 1..1 |
Type | string |
Profile.structure.searchParam.xpath | |
Definition | An XPath expression that returns a set of elements for the search parameter. |
Control | 0..1 |
Type | string |
Requirements | Note that the elements are sometimes complex elements where logic is required to determine quite how to handle them. E.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. |
Profile.structure.searchParam.target | |
Definition | Types of resource (if a resource is referenced). |
Control | 0..* |
Binding | ResourceType: Any defined Resource Type name |
Type | code |
Profile.extensionDefn | |
Definition | An extension defined as part of the profile. |
Control | 0..* |
Invariants | Affect this element Inv-8: SHALL define at least one structure constraint or extension definition (xpath: exists(f:structure) or exists(f:extensionDefn)) |
Profile.extensionDefn.code | |
Definition | A unique code (within the profile) used to identify the extension. |
Control | 1..1 |
Type | code |
Comments | Matches the portion of a reference to an extension after the # in the a url to the profile. |
Invariants | Defined on this element Inv-5: Codes SHALL be unique in the context of a profile (xpath: count(ancestor::f:Profile/f:extensionDefn/f:code[@value=current()/@value])=1) Affect this element Inv-5: Codes SHALL be unique in the context of a profile (xpath: count(ancestor::f:Profile/f:extensionDefn/f:code[@value=current()/@value])=1) |
Profile.extensionDefn.display | |
Definition | Defined so that applications can use this name when displaying the value of the extension to the user. |
Control | 0..1 |
Type | string |
Comments | Applications don't have to use this name, but can always fall back to it. |
Profile.extensionDefn.contextType | |
Definition | Identifies the type of context to which the extension applies. |
Control | 1..1 |
Binding | ExtensionContext: How an extension context is interpreted (see http://hl7.org/fhir/extension-context for values) |
Type | code |
Profile.extensionDefn.context | |
Definition | Identifies the types of resource or data type elements to which the extension can be applied. |
Control | 1..* |
Type | string |
Profile.extensionDefn.definition | |
Definition | Definition of the extension and its content. |
Control | 1..1 |
Type | See Profile.structure.element.definition |
Profile.query | |
Definition | Definition of a named query and its parameters and their meaning. |
Control | 0..* |
Profile.query.name | |
Definition | The name of a query, which is used in the URI from Conformance statements declaring use of the query. Typically this will also be the name for the _query parameter when the query is called, though in some cases it may be aliased by a server to avoid collisions. |
Control | 1..1 |
Type | string |
Profile.query.documentation | |
Definition | Description of the query - the functionality it offers, and considerations about how it functions and to use it. |
Control | 1..1 |
Type | string |
Profile.query.parameter | |
Definition | A parameter of a named query. |
Control | 0..* |
Type | See Profile.structure.searchParam |