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

6.14.9 Resource Profile - Formal Definitions

Formal definitions for the elements in the Profile resource.

Profile
DefinitionA 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.
Control1..1
AliasesTemplate
CommentsOften called a clinical template.
InvariantsDefined 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
DefinitionThe 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).
Control0..1
Typestring
Summarytrue
CommentsN/A.
Profile.version
DefinitionThe 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.
Control0..1
Typestring
RequirementsThere 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.
Summarytrue
CommentsN/A.
Profile.name
DefinitionA free text natural language name identifying the Profile.
Control1..1
Typestring
Summarytrue
CommentsNot expected to be globally unique.
Profile.publisher
DefinitionDetails of the individual or organization who accepts responsibility for publishing the profile.
Control0..1
Typestring
RequirementsHelps establish the "authority/credibility" of the profile. May also allow for contact.
Summarytrue
CommentsUsually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.
Profile.telecom
DefinitionContact details to assist a user in finding and communicating with the publisher.
Control0..*
TypeContact
Summarytrue
CommentsMay be a web site, an email address, a telephone number (tel:), etc.
Profile.description
DefinitionA free text natural language description of the profile and its use.
Control0..1
Typestring
Summarytrue
CommentsThis 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
DefinitionA set of terms from external terminologies that may be used to assist with indexing and searching of templates.
Control0..*
TypeCoding
RequirementsAssist in searching for appropriate profiles.
Summarytrue
Profile.status
DefinitionThe status of the profile.
Control1..1
BindingResourceProfileStatus: The lifecycle status of a Resource Profile (see http://hl7.org/fhir/resource-profile-status for values)
Typecode
Is Modifiertrue
RequirementsAllows filtering of profiles that are appropriate for use vs. not.
Summarytrue
Profile.experimental
DefinitionThis profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
Control0..1
Typeboolean
RequirementsAllows filtering of profiles that are appropriate for use vs. not.
Summarytrue
Profile.date
DefinitionThe date that this version of the profile was published.
Control0..1
TypedateTime
Summarytrue
Profile.requirements
DefinitionThe Scope and Usage that this profile was created to meet.
Control0..1
Typestring
Profile.fhirVersion
DefinitionThe version of the FHIR specification on which this profile is based.
Control0..1
Typeid
Summarytrue
CommentsA 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
DefinitionAn external specification that the content is mapped to.
Control0..*
InvariantsDefined 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
DefinitionAn Internal id that is used to identify this mapping set when specific mappings are made.
Control1..1
Typeid
CommentsThe specification is described once, with general comments, and then specific mappings are made that reference this declaration.
Profile.mapping.uri
DefinitionA URI that identifies the specification that this mapping is expressed to.
Control0..1
Typeuri
CommentsA formal identity for the specification being mapped to helps with identifying maps consistently.
InvariantsAffect 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
DefinitionA name for the specification that is being mapped to.
Control0..1
Typestring
InvariantsAffect 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
DefinitionComments about this mapping, including version notes, issues, scope limitations, and other important notes for usage.
Control0..1
Typestring
Profile.structure
DefinitionA constraint statement about what contents a resource or data type may have.
Control0..*
InvariantsDefined 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 DoConsider adding elements to support capturing events.
Profile.structure.type
DefinitionThe Resource or Data type being described.
Control1..1
BindingFHIRDefinedType: Any defined Resource or Data Type name
Typecode
CommentsOnly complex types can be constrained, not primitive types such as string etc.
InvariantsAffect 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
DefinitionThe name of this resource constraint statement (to refer to it from other resource constraints - from Profile.structure.element.definition.type.profile).
Control0..1
Typestring
CommentsThis field is the target for a resource.profile.
Profile.structure.publish
DefinitionThis 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.
Control0..1
Typeboolean
CommentsIf 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
DefinitionHuman summary: why describe this resource?.
Control0..1
Typestring
Profile.structure.element
DefinitionCaptures constraints on each element within the resource.
Control0..*
InvariantsDefined 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
DefinitionThe path identifies the element and is expressed as a "."-separated list of ancestor elements, beginning with the name of the resource.
Control1..1
Typestring
Profile.structure.element.representation
DefinitionCodes that define how this element is represented in instances, when the deviation varies from the normal case.
Control0..*
BindingPropertyRepresentation: How a property is represented on the wire (see http://hl7.org/fhir/property-representation for values)
Typecode
CommentsThis 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
DefinitionThe 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.
Control0..1
Typestring
CommentsThe 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
DefinitionIndicates 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).
Control0..1
Profile.structure.element.slicing.discriminator
DefinitionDesignates 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.
Control1..1
Typeid
Profile.structure.element.slicing.ordered
DefinitionIf the matching elements have to occur in the same order as defined in the profile.
Control1..1
Typeboolean
CommentsOrder 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
DefinitionWhether 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.
Control1..1
BindingSlicingRules: How slices are interpreted when evaluating an instance (see http://hl7.org/fhir/resource-slicing-rules for values)
Typecode
CommentsAllowing 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
DefinitionDefinition of the content of the element to provide a more specific definition than that contained for the element in the base resource.
Control0..1
CommentsThe definition SHALL be a proper constraint on the definition of the base resource.
InvariantsDefined 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
DefinitionA concise definition that is shown in the generated XML format that summarizes profiles (used throughout the specification).
Control1..1
Typestring
CommentsMay change the term to provide language more appropriate to the context of the profile or to reflect slicing.
Profile.structure.element.definition.formal
DefinitionThe definition SHALL be consistent with the base definition, but convey the meaning of the element in the particular context of use of the resource.
Control1..1
Typestring
RequirementsTo allow a user to clarify the usage of an element in a particular context.
CommentsIt 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
DefinitionComments about the use of the element, including notes about how to use the data properly, exceptions to proper use, etc.
Control0..1
Typestring
CommentsIf it is possible to capture usage rules using invariants, that mechanism should be used in preference to this element.
Profile.structure.element.definition.requirements
DefinitionExplains why this element is needed and why it's been constrained as it has.
Control0..1
Typestring
Profile.structure.element.definition.synonym
DefinitionIdentifies additional names by which this element might also be known.
Control0..*
Typestring
RequirementsAllows for better easier recognition of the element by multiple communities, including international communities.
Profile.structure.element.definition.min
DefinitionThe minimum number of times this element SHALL appear in the instance.
Control1..1
Typeinteger
Profile.structure.element.definition.max
DefinitionThe maximum number of times this element is permitted to appear in the instance.
Control1..1
Typestring
InvariantsDefined 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
DefinitionThe data type or resource that the value of this element is permitted to be.
Control0..*
CommentsThe 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.
InvariantsDefined 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
DefinitionName of Data type or Resource.
Control1..1
BindingDataType: Any defined Data Type name
Typecode
CommentsIf 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
DefinitionIdentifies 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.
Control0..1
Typeuri
CommentsThe 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.
InvariantsAffect 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
DefinitionIf 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.
Control0..*
BindingAggregationMode: How resource references can be aggregated (see http://hl7.org/fhir/resource-aggregation-mode for values)
Typecode
InvariantsAffect 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
DefinitionIdentifies the name of a slice defined elsewhere in the profile whose constraints should be applied to the current element.
Control0..1
Typestring
CommentsIf child components of this element are defined, they act as constraints on the referenced slice.
InvariantsAffect 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]
DefinitionSpecifies a primitive value that SHALL hold for this element in the instance.
Control0..1
Type*
CommentsTo specify a fixed value for a complex data type, include the child elements for the type and specify fixed values for each property independently.
InvariantsAffect 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]
DefinitionAn example value for this element.
Control0..1
Type*
CommentsIf the example value are fully populated, the publication tool can generate an instance automatically.
Profile.structure.element.definition.maxLength
DefinitionIndicates the shortest length that SHALL be supported by conformant instances without truncation.
Control0..1
Typeinteger
CommentsIf not specified, there is no conformance expectation for length support.
To DoNeed to flesh this out more - leverage v2 approach.
Profile.structure.element.definition.condition
DefinitionA reference to an invariant that may make additional statements about the cardinality or value in the instance.
Control0..*
Typeid
Profile.structure.element.definition.constraint
DefinitionFormal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.
Control0..*
CommentsConstraints 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
DefinitionAllows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality.
Control1..1
Typeid
Profile.structure.element.definition.constraint.name
DefinitionUsed to label the constraint in OCL or in short displays incapable of displaying the full human description.
Control0..1
Typestring
Profile.structure.element.definition.constraint.severity
DefinitionIdentifies the impact constraint violation has on the conformance of the instance.
Control1..1
BindingConstraintSeverity: SHALL applications comply with this constraint? (see http://hl7.org/fhir/constraint-severity for values)
Typecode
CommentsThis allows constraints to be asserted as "shall" (error) and "should" (warning).
Profile.structure.element.definition.constraint.human
DefinitionText that can be used to describe the constraint in messages identifying that the constraint has been violated.
Control1..1
Typestring
CommentsShould be expressed in business terms as much as possible.
Profile.structure.element.definition.constraint.xpath
DefinitionXPath expression of constraint.
Control1..1
Typestring
RequirementsUsed in Schematron tests of the validity of the resource.
CommentsElements 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
DefinitionIf 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.
Control0..1
Typeboolean
RequirementsAllows 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
DefinitionIf 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.
Control1..1
Typeboolean
RequirementsAllows elements to be introduced into a specification that can't safely be ignored by applications that don't recognize them.
CommentsOnly 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
DefinitionBinds to a value set if this element is coded (code, Coding, CodeableConcept).
Control0..1
InvariantsDefined 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
DefinitionA descriptive name for this - can be useful for generating implementation artifacts.
Control1..1
Typestring
CommentsSHALL 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).
InvariantsAffect 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
DefinitionIf 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.
Control1..1
Typeboolean
CommentsWhen 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.
InvariantsAffect 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
DefinitionIndicates the degree of conformance expectations associated with this binding.
Control0..1
BindingBindingConformance: Binding conformance for applications (see http://hl7.org/fhir/binding-conformance for values)
Typecode
InvariantsAffect 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
DefinitionDescribes the intended use of this particular set of codes.
Control0..1
Typestring
InvariantsAffect 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]
DefinitionPoints to the value set or external definition that identifies the set of codes to be used.
Control0..1
Typeuri|Resource(ValueSet)
CommentsFor value sets,the referenceResource, the display can contain the value set description. The reference may be version-specific or not.
InvariantsDefined 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
DefinitionIdentifies a concept from an external specification that roughly corresponds to this element.
Control0..*
RequirementsProvides guidance to implementers familiar with or converting content from other specifications.
CommentsMappings are not necessarily specific enough for safe translation.
Profile.structure.element.definition.mapping.identity
DefinitionAn internal reference to the definition of a mapping.
Control1..1
Typeid
InvariantsAffect 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
DefinitionExpresses what part of the target specification corresponds to this element.
Control1..1
Typestring
CommentsFor 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
DefinitionAdditional search parameters for implementations to support and/or make use of.
Control0..*
Profile.structure.searchParam.name
DefinitionThe name of the standard or custom search parameter.
Control1..1
Typestring
RequirementsParameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined.
Profile.structure.searchParam.type
DefinitionThe type of value a search parameter refers to, and how the content is interpreted.
Control1..1
BindingSearchParamType: Data types allowed to be used for search parameters (see http://hl7.org/fhir/search-param-type for values)
Typecode
Profile.structure.searchParam.documentation
DefinitionA 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.
Control1..1
Typestring
Profile.structure.searchParam.xpath
DefinitionAn XPath expression that returns a set of elements for the search parameter.
Control0..1
Typestring
RequirementsNote 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
DefinitionTypes of resource (if a resource is referenced).
Control0..*
BindingResourceType: Any defined Resource Type name
Typecode
Profile.extensionDefn
DefinitionAn extension defined as part of the profile.
Control0..*
InvariantsAffect 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
DefinitionA unique code (within the profile) used to identify the extension.
Control1..1
Typecode
CommentsMatches the portion of a reference to an extension after the # in the a url to the profile.
InvariantsDefined 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
DefinitionDefined so that applications can use this name when displaying the value of the extension to the user.
Control0..1
Typestring
CommentsApplications don't have to use this name, but can always fall back to it.
Profile.extensionDefn.contextType
DefinitionIdentifies the type of context to which the extension applies.
Control1..1
BindingExtensionContext: How an extension context is interpreted (see http://hl7.org/fhir/extension-context for values)
Typecode
Profile.extensionDefn.context
DefinitionIdentifies the types of resource or data type elements to which the extension can be applied.
Control1..*
Typestring
Profile.extensionDefn.definition
DefinitionDefinition of the extension and its content.
Control1..1
TypeSee Profile.structure.element.definition
Profile.query
DefinitionDefinition of a named query and its parameters and their meaning.
Control0..*
Profile.query.name
DefinitionThe 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.
Control1..1
Typestring
Profile.query.documentation
DefinitionDescription of the query - the functionality it offers, and considerations about how it functions and to use it.
Control1..1
Typestring
Profile.query.parameter
DefinitionA parameter of a named query.
Control0..*
TypeSee Profile.structure.searchParam

comments powered by Disqus