This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Profile for conformance
<Profile xmlns="http://hl7.org/fhir"> <id value="Conformance"/> <meta> <lastUpdated value="2015-02-23T09:07:27.665+11:00"/> </meta> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"><!-- Snipped for brevity --></div> </text> <url value="http://hl7.org/fhir/Profile/Conformance"/> <name value="Conformance"/> <publisher value="HL7 FHIR Project (FHIR Management Group)"/> <contact> <telecom> <system value="url"/> <value value="http://hl7.org/fhir"/> </telecom> </contact> <contact> <telecom> <system value="url"/> <value value="http://www.hl7.org/Special/committees/fhirmg/index.cfm"/> </telecom> </contact> <description value="Base Profile for Conformance Resource"/> <status value="draft"/> <date value="2015-02-23T09:07:27+11:00"/> <mapping> <identity value="rim"/> <uri value="http://hl7.org/v3"/> <name value="RIM"/> </mapping> <type value="Conformance"/> <snapshot> <element> <path value="Conformance"/> <short value="A conformance statement"/> <definition value="A conformance statement is a set of requirements for a desired implementation or a description of how a target application fulfills those requirements in a particular implementation."/> <min value="1"/> <max value="1"/> <constraint> <key value="cnf-1"/> <name value="Content Required"/> <severity value="error"/> <human value="A Conformance statement SHALL have at least one of rest, messaging or document"/> <xpath value="exists(f:rest) or exists(f:messaging) or exists(f:document)"/> </constraint> <constraint> <key value="cnf-2"/> <name value="Details"/> <severity value="error"/> <human value="A Conformance statement SHALL have at least one of description, software, or implementation"/> <xpath value="count(f:software | f:implementation | f:description) > 0"/> </constraint> <constraint> <key value="cnf-4"/> <name value="End point populated when multiple"/> <severity value="error"/> <human value="If there is more than one messaging element, endpoint must be specified for each one"/> <xpath value="count(f:messaging)<=1 or not(f:messaging[not(f:endpoint)])"/> </constraint> <constraint> <key value="cnf-5"/> <name value="Messaging endpoints unique"/> <severity value="error"/> <human value="The set of end points listed for messaging must be unique"/> <xpath value="count(f:messaging/f:endpoint)=count(distinct-values(f:messaging/f:endpoint/@value))"/> </constraint> <constraint> <key value="cnf-7"/> <name value="Document unique"/> <severity value="error"/> <human value="The set of documents must be unique by the combination of profile & mode"/> <xpath value="count(f:document[f:mode='producer'])=count(distinct-values(f:document[f:mode='producer']/f:profile/@ value)) and count(f:document[f:mode='consumer'])=count(distinct-values(f:document[f:mode='consumer']/ f:profile/@value))"/> </constraint> <constraint> <key value="cnf-8"/> <name value="Rest unique by mode"/> <severity value="error"/> <human value="There can only be one REST declaration per mode"/> <xpath value="count(f:rest)=count(distinct-values(f:rest/f:mode/@value))"/> </constraint> </element> <element> <path value="Conformance.id"/> <short value="Logical id of this artefact"/> <definition value="The logical id of the resource, as used in the url for the resoure. Once assigned, this value never changes."/> <comments value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation. Bundles always have an id, though it is usually a generated UUID."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> </element> <element> <path value="Conformance.meta"/> <short value="Metadata about the resource"/> <definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource."/> <min value="0"/> <max value="1"/> <type> <code value="Meta"/> </type> </element> <element> <path value="Conformance.implicitRules"/> <short value="A set of rules under which this content was created"/> <definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content."/> <comments value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element as much as possible."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <isModifier value="true"/> </element> <element> <path value="Conformance.language"/> <short value="Language of the resource content"/> <definition value="The base language in which the resource is written."/> <comments value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="Language"/> <isExtensible value="false"/> <conformance value="required"/> <description value="A human language"/> <referenceUri value="http://tools.ietf.org/html/bcp47"/> </binding> </element> <element> <path value="Conformance.text"/> <short value="Text summary of the resource, for human interpretation"/> <definition value="A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety."/> <comments value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative."/> <synonym value="narrative"/> <synonym value="html"/> <synonym value="xhtml"/> <synonym value="display"/> <min value="0"/> <max value="1"/> <type> <code value="Narrative"/> </type> <condition value="dom-1"/> <mapping> <identity value="rim"/> <map value="Act.text?"/> </mapping> </element> <element> <path value="Conformance.contained"/> <short value="Contained, inline Resources"/> <definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope."/> <comments value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again."/> <synonym value="inline resources"/> <synonym value="anonymous resources"/> <synonym value="contained resources"/> <min value="0"/> <max value="*"/> <type> <code value="Resource"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.url"/> <short value="Logical uri to reference this statement"/> <definition value="The uri that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance (should be globally unique URI, and an be urn:uuid: or urn:oid:)."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.version"/> <short value="Logical id for this version of the statement"/> <definition value="The identifier that is used to identify this version of the conformance statement 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."/> <comments value="There may be multiple different instances of a conformance statement that have the same identifier but different versions."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.name"/> <short value="Informal name for this conformance statement"/> <definition value="A free text natural language name identifying the conformance statement."/> <comments value="The name is not expected to be globally unique."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.publisher"/> <short value="Name of the publisher (Organization or individual)"/> <definition value="The name of the individual or organization that published the conformance."/> <comments value="Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context."/> <requirements value="Helps establish the "authority/credibility" of the conformance. May also allow for contact."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.contact"/> <short value="Contact details of the publisher"/> <definition value="Contacts to assist a user in finding and communicating with the publisher."/> <comments value="May be a web site, an email address, a telephone number (tel:), etc."/> <min value="0"/> <max value="*"/> <isSummary value="true"/> </element> <element> <path value="Conformance.contact.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.contact.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.contact.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.contact.name"/> <short value="Name of a individual to contact"/> <definition value="The name of an individual to contact regarding the conformance."/> <comments value="If there is no named individual, the telecom is for the organization as a whole."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.contact.telecom"/> <short value="Contact details for individual or publisher"/> <definition value="Contact details for individual (if a name was provided) or the publisher."/> <min value="0"/> <max value="*"/> <type> <code value="ContactPoint"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.description"/> <short value="Human description of the conformance statement"/> <definition value="A free text natural language description of the conformance statement and its use. Typically, this is used when the profile describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP."/> <comments value="This field cmay include the purpose of this conformance statement, comments about its context etc. This does not need to be populated if the description is adequately implied by the software or implementation details."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.requirements"/> <short value="Why is this needed?"/> <definition value="Explains why this conformance statement is needed and why it's been constrained as it has."/> <comments value="This element does not describe the usage of the conformance statement (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.copyright"/> <short value="Use and/or Publishing restrictions"/> <definition value="A copyright statement relating to the conformamce statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement."/> <synonym value="License"/> <synonym value="Restrictions"/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.status"/> <short value="draft | active | retired"/> <definition value="The status of this conformance statement."/> <comments value="This is not intended for use with actual conformance statements, but where conformance statements are used to describe possible or desired systems."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <isModifier value="true"/> <isSummary value="true"/> <binding> <name value="ConformanceStatementStatus"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The status of this conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/conformance-statement-status"/> </referenceReference> </binding> </element> <element> <path value="Conformance.experimental"/> <short value="If for testing purposes, not real usage"/> <definition value="A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage."/> <comments value="Allows filtering of conformance statements that are appropriate for use vs. not."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.date"/> <short value="Publication Date(/time)"/> <definition value="The date (and optionally time) when the conformance statement was published."/> <min value="1"/> <max value="1"/> <type> <code value="dateTime"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software"/> <short value="Software that is covered by this conformance statement"/> <definition value="Software that is covered by this conformance statement. It is used when the profile describes the capabilities of a particular software version, independent of an installation."/> <min value="0"/> <max value="1"/> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.software.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.software.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.software.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.software.name"/> <short value="A name the software is known by"/> <definition value="Name software is known by."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software.version"/> <short value="Version covered by this statement"/> <definition value="The version identifier for the software covered by this statement."/> <comments value="If possible, version should be specified, as statements are likely to be different for different versions of software."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software.releaseDate"/> <short value="Date this version released"/> <definition value="Date this version of the software released."/> <min value="0"/> <max value="1"/> <type> <code value="dateTime"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation"/> <short value="If this describes a specific instance"/> <definition value="Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program."/> <min value="0"/> <max value="1"/> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.implementation.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.implementation.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.implementation.description"/> <short value="Describes this specific instance"/> <definition value="Information about the specific installation that this conformance statement relates to."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation.url"/> <short value="Base URL for the installation"/> <definition value="A base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.fhirVersion"/> <short value="FHIR Version"/> <definition value="The version of the FHIR specification on which this conformance statement is based."/> <min value="1"/> <max value="1"/> <type> <code value="id"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.acceptUnknown"/> <short value="True if application accepts unknown elements"/> <definition value="A flag that indicates whether the application accepts unknown elements as part of a resource."/> <comments value="This is not about extensions, but about unknown elements in a resource - these can only arise as later versions of the specification are published, because this is the only place where such elements can be defined. Hence this element is about inter-version compatibility."/> <min value="1"/> <max value="1"/> <type> <code value="boolean"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.format"/> <short value="formats supported (xml | json | mime type)"/> <definition value="A list of the formats supported by this implementation."/> <comments value=""xml" or "json" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here."/> <min value="1"/> <max value="*"/> <type> <code value="code"/> </type> <binding> <name value="MimeType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mime type of an attachment"/> <referenceUri value="http://www.rfc-editor.org/bcp/bcp13.txt"/> </binding> </element> <element> <path value="Conformance.profile"/> <short value="Profiles supported by the system"/> <definition value="A list of profiles supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources, conformant to a particular profile, and allows its clients to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile."/> <comments value="Supported profiles are different to the profiles that apply to a particular resource in rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports- this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that does? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). Typical supported profiles cross resource types to describe a network of related resources, so they are listed here rather than by resource. However they do not need to describe more than one resource."/> <min value="0"/> <max value="*"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.rest"/> <short value="If the endpoint is a RESTful one"/> <definition value="A definition of the restful capabilities of the solution, if any."/> <comments value="Multiple repetitions allow definition of both client and / or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements)."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> <constraint> <key value="cnf-10"/> <name value="Query unique in rest mode"/> <severity value="error"/> <human value="A given query can only be described once per RESTful mode"/> <xpath value="count(f:query)=count(distinct-values(f:query/f:name/@value))"/> </constraint> <constraint> <key value="cnf-9"/> <name value="Resource unique in rest mode"/> <severity value="error"/> <human value="A given resource can only be described once per RESTful mode"/> <xpath value="count(f:resource)=count(distinct-values(f:resource/f:type/@value))"/> </constraint> </element> <element> <path value="Conformance.rest.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.mode"/> <short value="client | server"/> <definition value="Identifies whether this portion of the statement is describing ability to initiate or receive restful operations."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="RestfulConformanceMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mode of a RESTful conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/restful-conformance-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.documentation"/> <short value="General description of implementation"/> <definition value="Information about the system's restful capabilities that apply across all applications, such as security."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.security"/> <short value="Information about security of implementation"/> <definition value="Information about security of implementation."/> <min value="0"/> <max value="1"/> </element> <element> <path value="Conformance.rest.security.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.security.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.security.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.security.cors"/> <short value="Adds CORS Headers (http://enable-cors.org/)"/> <definition value="Server adds CORS headers when responding to requests - this enables javascript applications to use the server."/> <comments value="The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Meth od: GET, POST, PUT, DELETE."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.security.service"/> <short value="OAuth | OAuth2 | NTLM | Basic | Kerberos"/> <definition value="Types of security services are supported/required by the system."/> <min value="0"/> <max value="*"/> <type> <code value="CodeableConcept"/> </type> <binding> <name value="RestfulSecurityService"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="Types of security services used with FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/restful-security-service"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.security.description"/> <short value="General description of how security works"/> <definition value="General description of how security works."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.security.certificate"/> <short value="Certificates associated with security profiles"/> <definition value="Certificates associated with security profiles."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.security.certificate.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.security.certificate.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.security.certificate.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.security.certificate.type"/> <short value="Mime type for certificate"/> <definition value="Mime type for certificate."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="MimeType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mime type of an attachment"/> <referenceUri value="http://www.rfc-editor.org/bcp/bcp13.txt"/> </binding> </element> <element> <path value="Conformance.rest.security.certificate.blob"/> <short value="Actual certificate"/> <definition value="Actual certificate."/> <min value="0"/> <max value="1"/> <type> <code value="base64Binary"/> </type> </element> <element> <path value="Conformance.rest.resource"/> <short value="Resource served on the REST interface"/> <definition value="A specification of the restful capabilities of the solution for a specific resource type."/> <comments value="Max of one repetition per resource type."/> <min value="1"/> <max value="*"/> <constraint> <key value="cnf-12"/> <name value="SearchParam unique in resource"/> <severity value="error"/> <human value="Search parameter names must be unique in the context of a resource"/> <xpath value="count(f:searchParam)=count(distinct-values(f:searchParam/f:name/@value))"/> </constraint> <constraint> <key value="cnf-11"/> <name value="Operation unique in resource"/> <severity value="error"/> <human value="Operation codes must be unique in the context of a resource"/> <xpath value="count(f:operation)=count(distinct-values(f:operation/f:code/@value))"/> </constraint> </element> <element> <path value="Conformance.rest.resource.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.resource.type"/> <short value="A resource type that is supported"/> <definition value="A type of resource exposed via the restful interface."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.profile"/> <short value="What structural features are supported"/> <definition value="A specification of the profile that describes the solution's support for the resource, including any constraints on cardinality, bindings, lengths or other limitations."/> <comments value="The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system."/> <min value="0"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.rest.resource.interaction"/> <short value="What operations are supported?"/> <definition value="Identifies a restful operation supported by the solution."/> <min value="1"/> <max value="*"/> </element> <element> <path value="Conformance.rest.resource.interaction.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.interaction.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.interaction.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.resource.interaction.code"/> <short value="read | vread | update | delete | history-instance | validate | history-type | create | search-type"/> <definition value="Coded identifier of the operation, supported by the system resource."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="TypeRestfulInteraction"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Operations supported by REST at the type or instance level"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/type-restful-interaction"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.interaction.documentation"/> <short value="Anything special about operation behavior"/> <definition value="Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'."/> <requirements value="REST allows a degree of variability in the implementation of RESTful solutions that is useful for exchange partners to be aware of."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.versioning"/> <short value="no-version | versioned | versioned-update"/> <definition value="Thi field is set to true to specify that the system does not support (server) or use (client) versioning for this resource type. If this is not set to true, the server must at least correctly track and populate the versionId meta-property on resources."/> <comments value="If a server supports versionIds correctly, it should support vread too, but is not required to do so."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceVersionPolicy"/> <isExtensible value="false"/> <conformance value="required"/> <description value="How the system supports versioning for a resource"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/versioning-policy"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.readHistory"/> <short value="Whether vRead can return past versions"/> <definition value="A flag for whether the server is able to return past versions as part of the vRead operation."/> <comments value="It is useful to support the vRead operation for current operations, even if past versions aren't available."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.updateCreate"/> <short value="If allows/uses update to a new location"/> <definition value="A flag to indicate that the server allows the client to create new identities on the server. If the update operation is used (client) or allowed (server) to a new location where a resource doesn't already exist. This means that the server allows the client to create new identities on the server."/> <comments value="Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalCreate"/> <short value="If allows/uses conditional create"/> <definition value="A flag that indicates that the server supports conditional create."/> <comments value="Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalUpdate"/> <short value="If allows/uses conditional update"/> <definition value="A flag that indicates that the server supports conditional update."/> <comments value="Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalDelete"/> <short value="If allows/uses conditional delete"/> <definition value="A flag that indicates that the server supports conditional delete."/> <comments value="Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.searchInclude"/> <short value="_include values supported by the server"/> <definition value="A list of _include values supported by the server."/> <comments value="If this list is empty, the server does not support includes."/> <min value="0"/> <max value="*"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam"/> <short value="Search params supported by implementation"/> <definition value="Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.resource.searchParam.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.searchParam.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.resource.searchParam.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.resource.searchParam.name"/> <short value="Name of search parameter"/> <definition value="The name of the search parameter used in the interface."/> <comments value="Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.definition"/> <short value="Source of definition for parameter"/> <definition value="A formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter."/> <comments value="This SHOULD be present, and matches SearchParameter.url."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.type"/> <short value="number | date | string | token | reference | composite | quantity"/> <definition value="The type of value a search parameter refers to, and how the content is interpreted."/> <comments value="While this can be looked up from the definition, it is included here as a convenience for systems that auto-generate a query interface based on the server conformance statement. It SHALL be the same as the type in the search parameter definition."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="SearchParamType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Data types allowed to be used for search parameters"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/search-param-type"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.searchParam.documentation"/> <short value="Server-specific usage"/> <definition value="This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.target"/> <short value="Types of resource (if a resource reference)"/> <definition value="Types of resource (if a resource is referenced)."/> <comments value="This SHALL be the same as or a proper subset of the resources listed in the search parameter definition."/> <min value="0"/> <max value="*"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.searchParam.chain"/> <short value="Chained names supported"/> <definition value="Chained names supported."/> <min value="0"/> <max value="*"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.interaction"/> <short value="What operations are supported?"/> <definition value="A specification of restful operations supported by the system."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.interaction.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.interaction.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.interaction.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.interaction.code"/> <short value="transaction | search-system | history-system"/> <definition value="A coded identifier of the operation, supported by the system."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="SystemRestfulInteraction"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Operations supported by REST at the system level"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/system-restful-interaction"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.interaction.documentation"/> <short value="Anything special about operation behavior"/> <definition value="Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.operation"/> <short value="Definition of an operation or a custom query"/> <definition value="Definition of an operation or a named query and with its parameters and their meaning and type."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.operation.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.operation.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.rest.operation.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.rest.operation.name"/> <short value="Name by which the operation/query is invoked"/> <definition value="The name of a query, which is used in the _query parameter when the query is called."/> <comments value="The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.operation.definition"/> <short value="The defined operation/query"/> <definition value="Where the formal definition can be found."/> <comments value="This can be used to build ah HTML form to invoke the operation, for instance."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/OperationDefinition"/> </type> </element> <element> <path value="Conformance.rest.documentMailbox"/> <short value="How documents are accepted in /Mailbox"/> <definition value="A list of profiles that this server implements for accepting documents in the mailbox. If this list is empty, then documents are not accepted. The base specification has the profile identifier "http://hl7.org/fhir/documents/mailbox". Other specifications can declare their own identifier for this purpose."/> <comments value="If a server accepts messages on the /Mailbox end-point, it declares this in the messaging elements."/> <min value="0"/> <max value="*"/> <type> <code value="uri"/> </type> </element> <element> <path value="Conformance.messaging"/> <short value="If messaging is supported"/> <definition value="A description of the messaging capabilities of the solution."/> <comments value="Multiple repetitions allow the documentation of multiple endpoints per solution."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> <constraint> <key value="cnf-3"/> <name value="End points for Implementations"/> <severity value="error"/> <human value="Messaging end point is required (and is only permitted) when statement is for an implementation"/> <xpath value="exists(f:endpoint) = exists(parent::f:Conformance/f:implementation)"/> </constraint> <constraint> <key value="cnf-6"/> <name value="Event unique"/> <severity value="error"/> <human value="The set of events per messaging endpoint must be unique by the combination of code & mode"/> <xpath value="count(f:event[f:mode='sender'])=count(distinct-values(f:event[f:mode='sender']/f:code/@value)) and count(f:event[f:mode='receiver'])=count(distinct-values(f:event[f:mode='receiver']/f:code/@value ))"/> </constraint> </element> <element> <path value="Conformance.messaging.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.messaging.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.messaging.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.messaging.endpoint"/> <short value="Actual endpoint being described"/> <definition value="An address to which messages and/or replies are to be sent."/> <comments value="For solutions that do not use network addresses for routing, it can be just an identifier."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <condition value="cnf-3"/> </element> <element> <path value="Conformance.messaging.reliableCache"/> <short value="Reliable Message Cache Length (min)"/> <definition value="Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender)."/> <comments value="If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging."/> <min value="0"/> <max value="1"/> <type> <code value="integer"/> </type> </element> <element> <path value="Conformance.messaging.documentation"/> <short value="Messaging interface behavior details"/> <definition value="Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.messaging.event"/> <short value="Declare support for this event"/> <definition value="A description of the solution's support for an event at this end point."/> <comments value="The same event may be listed up to two times - once as sender and once as receiver."/> <min value="1"/> <max value="*"/> </element> <element> <path value="Conformance.messaging.event.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.messaging.event.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.messaging.event.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.messaging.event.code"/> <short value="Event type"/> <definition value="A coded identifier of a supported messaging event."/> <min value="1"/> <max value="1"/> <type> <code value="Coding"/> </type> <binding> <name value="MessageEvent"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="One of the message events defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-events"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.category"/> <short value="Consequence | Currency | Notification"/> <definition value="The impact of the content of the message."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="MessageSignificanceCategory"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The impact of the content of a message"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-significance-category"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.mode"/> <short value="sender | receiver"/> <definition value="The mode of this event declaration - whether application is sender or receiver."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ConformanceEventMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mode of a message conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-conformance-event-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.protocol"/> <short value="http | ftp | mllp +"/> <definition value="A list of the messaging transport protocol(s) identifiers, supported by this endpoint."/> <min value="0"/> <max value="*"/> <type> <code value="Coding"/> </type> <binding> <name value="MessageTransport"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="The protocol used for message transport"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-transport"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.focus"/> <short value="Resource that's focus of message"/> <definition value="A resource associated with the event. This is the resource that defines the event."/> <comments value="This SHALL be provided if the event type supports multiple different resource types."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.request"/> <short value="Profile that describes the request"/> <definition value="Information about the request for this event."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.messaging.event.response"/> <short value="Profile that describes the response"/> <definition value="Information about the response for this event."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.messaging.event.documentation"/> <short value="Endpoint-specific event documentation"/> <definition value="Guidance on how this event is handled, such as internal system trigger points, business rules, etc."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.document"/> <short value="Document definition"/> <definition value="A document definition."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> </element> <element> <path value="Conformance.document.id"/> <representation value="xmlAttr"/> <short value="xml:id (or equivalent in JSON)"/> <definition value="unique id for the element within a resource (for internal references)."/> <min value="0"/> <max value="1"/> <type> <code value="id"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.document.extension"/> <short value="Additional Content defined by implementations"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element> <path value="Conformance.document.modifierExtension"/> <short value="Extensions that cannot be ignored"/> <definition value="May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions."/> <comments value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone."/> <synonym value="extensions"/> <synonym value="user content"/> <synonym value="modifiers"/> <min value="0"/> <max value="*"/> <type> <code value="Extension"/> </type> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element> <path value="Conformance.document.mode"/> <short value="producer | consumer"/> <definition value="Mode of this document declaration - whether application is producer or consumer."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="DocumentMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Whether the application produces or consumes documents"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/document-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.document.documentation"/> <short value="Description of document support"/> <definition value="A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.document.profile"/> <short value="Constraint on a resource used in the document"/> <definition value="A constraint on a resource used in the document."/> <comments value="The first resource is the document resource."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> </snapshot> <differential> <element> <path value="Conformance"/> <short value="A conformance statement"/> <definition value="A conformance statement is a set of requirements for a desired implementation or a description of how a target application fulfills those requirements in a particular implementation."/> <min value="1"/> <max value="1"/> <constraint> <key value="cnf-1"/> <name value="Content Required"/> <severity value="error"/> <human value="A Conformance statement SHALL have at least one of rest, messaging or document"/> <xpath value="exists(f:rest) or exists(f:messaging) or exists(f:document)"/> </constraint> <constraint> <key value="cnf-2"/> <name value="Details"/> <severity value="error"/> <human value="A Conformance statement SHALL have at least one of description, software, or implementation"/> <xpath value="count(f:software | f:implementation | f:description) > 0"/> </constraint> <constraint> <key value="cnf-4"/> <name value="End point populated when multiple"/> <severity value="error"/> <human value="If there is more than one messaging element, endpoint must be specified for each one"/> <xpath value="count(f:messaging)<=1 or not(f:messaging[not(f:endpoint)])"/> </constraint> <constraint> <key value="cnf-5"/> <name value="Messaging endpoints unique"/> <severity value="error"/> <human value="The set of end points listed for messaging must be unique"/> <xpath value="count(f:messaging/f:endpoint)=count(distinct-values(f:messaging/f:endpoint/@value))"/> </constraint> <constraint> <key value="cnf-7"/> <name value="Document unique"/> <severity value="error"/> <human value="The set of documents must be unique by the combination of profile & mode"/> <xpath value="count(f:document[f:mode='producer'])=count(distinct-values(f:document[f:mode='producer']/f:profile/@ value)) and count(f:document[f:mode='consumer'])=count(distinct-values(f:document[f:mode='consumer']/ f:profile/@value))"/> </constraint> <constraint> <key value="cnf-8"/> <name value="Rest unique by mode"/> <severity value="error"/> <human value="There can only be one REST declaration per mode"/> <xpath value="count(f:rest)=count(distinct-values(f:rest/f:mode/@value))"/> </constraint> </element> <element> <path value="Conformance.url"/> <short value="Logical uri to reference this statement"/> <definition value="The uri that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance (should be globally unique URI, and an be urn:uuid: or urn:oid:)."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.version"/> <short value="Logical id for this version of the statement"/> <definition value="The identifier that is used to identify this version of the conformance statement 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."/> <comments value="There may be multiple different instances of a conformance statement that have the same identifier but different versions."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.name"/> <short value="Informal name for this conformance statement"/> <definition value="A free text natural language name identifying the conformance statement."/> <comments value="The name is not expected to be globally unique."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.publisher"/> <short value="Name of the publisher (Organization or individual)"/> <definition value="The name of the individual or organization that published the conformance."/> <comments value="Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context."/> <requirements value="Helps establish the "authority/credibility" of the conformance. May also allow for contact."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.contact"/> <short value="Contact details of the publisher"/> <definition value="Contacts to assist a user in finding and communicating with the publisher."/> <comments value="May be a web site, an email address, a telephone number (tel:), etc."/> <min value="0"/> <max value="*"/> <isSummary value="true"/> </element> <element> <path value="Conformance.contact.name"/> <short value="Name of a individual to contact"/> <definition value="The name of an individual to contact regarding the conformance."/> <comments value="If there is no named individual, the telecom is for the organization as a whole."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.contact.telecom"/> <short value="Contact details for individual or publisher"/> <definition value="Contact details for individual (if a name was provided) or the publisher."/> <min value="0"/> <max value="*"/> <type> <code value="ContactPoint"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.description"/> <short value="Human description of the conformance statement"/> <definition value="A free text natural language description of the conformance statement and its use. Typically, this is used when the profile describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP."/> <comments value="This field cmay include the purpose of this conformance statement, comments about its context etc. This does not need to be populated if the description is adequately implied by the software or implementation details."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.requirements"/> <short value="Why is this needed?"/> <definition value="Explains why this conformance statement is needed and why it's been constrained as it has."/> <comments value="This element does not describe the usage of the conformance statement (that's done in comments), rather it's for traceability of *why* the element is either needed or why the constraints exist as they do. This may be used to point to source materials or specifications that drove the structure of this data element."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.copyright"/> <short value="Use and/or Publishing restrictions"/> <definition value="A copyright statement relating to the conformamce statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the details of the system described by the conformance statement."/> <synonym value="License"/> <synonym value="Restrictions"/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.status"/> <short value="draft | active | retired"/> <definition value="The status of this conformance statement."/> <comments value="This is not intended for use with actual conformance statements, but where conformance statements are used to describe possible or desired systems."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <isModifier value="true"/> <isSummary value="true"/> <binding> <name value="ConformanceStatementStatus"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The status of this conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/conformance-statement-status"/> </referenceReference> </binding> </element> <element> <path value="Conformance.experimental"/> <short value="If for testing purposes, not real usage"/> <definition value="A flag to indicate that this conformance statement is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage."/> <comments value="Allows filtering of conformance statements that are appropriate for use vs. not."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.date"/> <short value="Publication Date(/time)"/> <definition value="The date (and optionally time) when the conformance statement was published."/> <min value="1"/> <max value="1"/> <type> <code value="dateTime"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software"/> <short value="Software that is covered by this conformance statement"/> <definition value="Software that is covered by this conformance statement. It is used when the profile describes the capabilities of a particular software version, independent of an installation."/> <min value="0"/> <max value="1"/> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.software.name"/> <short value="A name the software is known by"/> <definition value="Name software is known by."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software.version"/> <short value="Version covered by this statement"/> <definition value="The version identifier for the software covered by this statement."/> <comments value="If possible, version should be specified, as statements are likely to be different for different versions of software."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.software.releaseDate"/> <short value="Date this version released"/> <definition value="Date this version of the software released."/> <min value="0"/> <max value="1"/> <type> <code value="dateTime"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation"/> <short value="If this describes a specific instance"/> <definition value="Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program."/> <min value="0"/> <max value="1"/> <condition value="cnf-2"/> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation.description"/> <short value="Describes this specific instance"/> <definition value="Information about the specific installation that this conformance statement relates to."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.implementation.url"/> <short value="Base URL for the installation"/> <definition value="A base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.fhirVersion"/> <short value="FHIR Version"/> <definition value="The version of the FHIR specification on which this conformance statement is based."/> <min value="1"/> <max value="1"/> <type> <code value="id"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.acceptUnknown"/> <short value="True if application accepts unknown elements"/> <definition value="A flag that indicates whether the application accepts unknown elements as part of a resource."/> <comments value="This is not about extensions, but about unknown elements in a resource - these can only arise as later versions of the specification are published, because this is the only place where such elements can be defined. Hence this element is about inter-version compatibility."/> <min value="1"/> <max value="1"/> <type> <code value="boolean"/> </type> <isSummary value="true"/> </element> <element> <path value="Conformance.format"/> <short value="formats supported (xml | json | mime type)"/> <definition value="A list of the formats supported by this implementation."/> <comments value=""xml" or "json" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here."/> <min value="1"/> <max value="*"/> <type> <code value="code"/> </type> <binding> <name value="MimeType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mime type of an attachment"/> <referenceUri value="http://www.rfc-editor.org/bcp/bcp13.txt"/> </binding> </element> <element> <path value="Conformance.profile"/> <short value="Profiles supported by the system"/> <definition value="A list of profiles supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources, conformant to a particular profile, and allows its clients to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile."/> <comments value="Supported profiles are different to the profiles that apply to a particular resource in rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports- this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that does? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile). Typical supported profiles cross resource types to describe a network of related resources, so they are listed here rather than by resource. However they do not need to describe more than one resource."/> <min value="0"/> <max value="*"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.rest"/> <short value="If the endpoint is a RESTful one"/> <definition value="A definition of the restful capabilities of the solution, if any."/> <comments value="Multiple repetitions allow definition of both client and / or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements)."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> <constraint> <key value="cnf-10"/> <name value="Query unique in rest mode"/> <severity value="error"/> <human value="A given query can only be described once per RESTful mode"/> <xpath value="count(f:query)=count(distinct-values(f:query/f:name/@value))"/> </constraint> <constraint> <key value="cnf-9"/> <name value="Resource unique in rest mode"/> <severity value="error"/> <human value="A given resource can only be described once per RESTful mode"/> <xpath value="count(f:resource)=count(distinct-values(f:resource/f:type/@value))"/> </constraint> </element> <element> <path value="Conformance.rest.mode"/> <short value="client | server"/> <definition value="Identifies whether this portion of the statement is describing ability to initiate or receive restful operations."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="RestfulConformanceMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mode of a RESTful conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/restful-conformance-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.documentation"/> <short value="General description of implementation"/> <definition value="Information about the system's restful capabilities that apply across all applications, such as security."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.security"/> <short value="Information about security of implementation"/> <definition value="Information about security of implementation."/> <min value="0"/> <max value="1"/> </element> <element> <path value="Conformance.rest.security.cors"/> <short value="Adds CORS Headers (http://enable-cors.org/)"/> <definition value="Server adds CORS headers when responding to requests - this enables javascript applications to use the server."/> <comments value="The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Meth od: GET, POST, PUT, DELETE."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.security.service"/> <short value="OAuth | OAuth2 | NTLM | Basic | Kerberos"/> <definition value="Types of security services are supported/required by the system."/> <min value="0"/> <max value="*"/> <type> <code value="CodeableConcept"/> </type> <binding> <name value="RestfulSecurityService"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="Types of security services used with FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/restful-security-service"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.security.description"/> <short value="General description of how security works"/> <definition value="General description of how security works."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.security.certificate"/> <short value="Certificates associated with security profiles"/> <definition value="Certificates associated with security profiles."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.security.certificate.type"/> <short value="Mime type for certificate"/> <definition value="Mime type for certificate."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="MimeType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mime type of an attachment"/> <referenceUri value="http://www.rfc-editor.org/bcp/bcp13.txt"/> </binding> </element> <element> <path value="Conformance.rest.security.certificate.blob"/> <short value="Actual certificate"/> <definition value="Actual certificate."/> <min value="0"/> <max value="1"/> <type> <code value="base64Binary"/> </type> </element> <element> <path value="Conformance.rest.resource"/> <short value="Resource served on the REST interface"/> <definition value="A specification of the restful capabilities of the solution for a specific resource type."/> <comments value="Max of one repetition per resource type."/> <min value="1"/> <max value="*"/> <constraint> <key value="cnf-12"/> <name value="SearchParam unique in resource"/> <severity value="error"/> <human value="Search parameter names must be unique in the context of a resource"/> <xpath value="count(f:searchParam)=count(distinct-values(f:searchParam/f:name/@value))"/> </constraint> <constraint> <key value="cnf-11"/> <name value="Operation unique in resource"/> <severity value="error"/> <human value="Operation codes must be unique in the context of a resource"/> <xpath value="count(f:operation)=count(distinct-values(f:operation/f:code/@value))"/> </constraint> </element> <element> <path value="Conformance.rest.resource.type"/> <short value="A resource type that is supported"/> <definition value="A type of resource exposed via the restful interface."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.profile"/> <short value="What structural features are supported"/> <definition value="A specification of the profile that describes the solution's support for the resource, including any constraints on cardinality, bindings, lengths or other limitations."/> <comments value="The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system."/> <min value="0"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.rest.resource.interaction"/> <short value="What operations are supported?"/> <definition value="Identifies a restful operation supported by the solution."/> <min value="1"/> <max value="*"/> </element> <element> <path value="Conformance.rest.resource.interaction.code"/> <short value="read | vread | update | delete | history-instance | validate | history-type | create | search-type"/> <definition value="Coded identifier of the operation, supported by the system resource."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="TypeRestfulInteraction"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Operations supported by REST at the type or instance level"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/type-restful-interaction"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.interaction.documentation"/> <short value="Anything special about operation behavior"/> <definition value="Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'."/> <requirements value="REST allows a degree of variability in the implementation of RESTful solutions that is useful for exchange partners to be aware of."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.versioning"/> <short value="no-version | versioned | versioned-update"/> <definition value="Thi field is set to true to specify that the system does not support (server) or use (client) versioning for this resource type. If this is not set to true, the server must at least correctly track and populate the versionId meta-property on resources."/> <comments value="If a server supports versionIds correctly, it should support vread too, but is not required to do so."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceVersionPolicy"/> <isExtensible value="false"/> <conformance value="required"/> <description value="How the system supports versioning for a resource"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/versioning-policy"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.readHistory"/> <short value="Whether vRead can return past versions"/> <definition value="A flag for whether the server is able to return past versions as part of the vRead operation."/> <comments value="It is useful to support the vRead operation for current operations, even if past versions aren't available."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.updateCreate"/> <short value="If allows/uses update to a new location"/> <definition value="A flag to indicate that the server allows the client to create new identities on the server. If the update operation is used (client) or allowed (server) to a new location where a resource doesn't already exist. This means that the server allows the client to create new identities on the server."/> <comments value="Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalCreate"/> <short value="If allows/uses conditional create"/> <definition value="A flag that indicates that the server supports conditional create."/> <comments value="Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalUpdate"/> <short value="If allows/uses conditional update"/> <definition value="A flag that indicates that the server supports conditional update."/> <comments value="Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.conditionalDelete"/> <short value="If allows/uses conditional delete"/> <definition value="A flag that indicates that the server supports conditional delete."/> <comments value="Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2."/> <min value="0"/> <max value="1"/> <type> <code value="boolean"/> </type> </element> <element> <path value="Conformance.rest.resource.searchInclude"/> <short value="_include values supported by the server"/> <definition value="A list of _include values supported by the server."/> <comments value="If this list is empty, the server does not support includes."/> <min value="0"/> <max value="*"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam"/> <short value="Search params supported by implementation"/> <definition value="Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.resource.searchParam.name"/> <short value="Name of search parameter"/> <definition value="The name of the search parameter used in the interface."/> <comments value="Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.definition"/> <short value="Source of definition for parameter"/> <definition value="A formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter."/> <comments value="This SHOULD be present, and matches SearchParameter.url."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.type"/> <short value="number | date | string | token | reference | composite | quantity"/> <definition value="The type of value a search parameter refers to, and how the content is interpreted."/> <comments value="While this can be looked up from the definition, it is included here as a convenience for systems that auto-generate a query interface based on the server conformance statement. It SHALL be the same as the type in the search parameter definition."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="SearchParamType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Data types allowed to be used for search parameters"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/search-param-type"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.searchParam.documentation"/> <short value="Server-specific usage"/> <definition value="This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.resource.searchParam.target"/> <short value="Types of resource (if a resource reference)"/> <definition value="Types of resource (if a resource is referenced)."/> <comments value="This SHALL be the same as or a proper subset of the resources listed in the search parameter definition."/> <min value="0"/> <max value="*"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.resource.searchParam.chain"/> <short value="Chained names supported"/> <definition value="Chained names supported."/> <min value="0"/> <max value="*"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.interaction"/> <short value="What operations are supported?"/> <definition value="A specification of restful operations supported by the system."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.interaction.code"/> <short value="transaction | search-system | history-system"/> <definition value="A coded identifier of the operation, supported by the system."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="SystemRestfulInteraction"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Operations supported by REST at the system level"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/system-restful-interaction"/> </referenceReference> </binding> </element> <element> <path value="Conformance.rest.interaction.documentation"/> <short value="Anything special about operation behavior"/> <definition value="Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.operation"/> <short value="Definition of an operation or a custom query"/> <definition value="Definition of an operation or a named query and with its parameters and their meaning and type."/> <min value="0"/> <max value="*"/> </element> <element> <path value="Conformance.rest.operation.name"/> <short value="Name by which the operation/query is invoked"/> <definition value="The name of a query, which is used in the _query parameter when the query is called."/> <comments value="The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used."/> <min value="1"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.rest.operation.definition"/> <short value="The defined operation/query"/> <definition value="Where the formal definition can be found."/> <comments value="This can be used to build ah HTML form to invoke the operation, for instance."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/OperationDefinition"/> </type> </element> <element> <path value="Conformance.rest.documentMailbox"/> <short value="How documents are accepted in /Mailbox"/> <definition value="A list of profiles that this server implements for accepting documents in the mailbox. If this list is empty, then documents are not accepted. The base specification has the profile identifier "http://hl7.org/fhir/documents/mailbox". Other specifications can declare their own identifier for this purpose."/> <comments value="If a server accepts messages on the /Mailbox end-point, it declares this in the messaging elements."/> <min value="0"/> <max value="*"/> <type> <code value="uri"/> </type> </element> <element> <path value="Conformance.messaging"/> <short value="If messaging is supported"/> <definition value="A description of the messaging capabilities of the solution."/> <comments value="Multiple repetitions allow the documentation of multiple endpoints per solution."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> <constraint> <key value="cnf-3"/> <name value="End points for Implementations"/> <severity value="error"/> <human value="Messaging end point is required (and is only permitted) when statement is for an implementation"/> <xpath value="exists(f:endpoint) = exists(parent::f:Conformance/f:implementation)"/> </constraint> <constraint> <key value="cnf-6"/> <name value="Event unique"/> <severity value="error"/> <human value="The set of events per messaging endpoint must be unique by the combination of code & mode"/> <xpath value="count(f:event[f:mode='sender'])=count(distinct-values(f:event[f:mode='sender']/f:code/@value)) and count(f:event[f:mode='receiver'])=count(distinct-values(f:event[f:mode='receiver']/f:code/@value ))"/> </constraint> </element> <element> <path value="Conformance.messaging.endpoint"/> <short value="Actual endpoint being described"/> <definition value="An address to which messages and/or replies are to be sent."/> <comments value="For solutions that do not use network addresses for routing, it can be just an identifier."/> <min value="0"/> <max value="1"/> <type> <code value="uri"/> </type> <condition value="cnf-3"/> </element> <element> <path value="Conformance.messaging.reliableCache"/> <short value="Reliable Message Cache Length (min)"/> <definition value="Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender)."/> <comments value="If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging."/> <min value="0"/> <max value="1"/> <type> <code value="integer"/> </type> </element> <element> <path value="Conformance.messaging.documentation"/> <short value="Messaging interface behavior details"/> <definition value="Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.messaging.event"/> <short value="Declare support for this event"/> <definition value="A description of the solution's support for an event at this end point."/> <comments value="The same event may be listed up to two times - once as sender and once as receiver."/> <min value="1"/> <max value="*"/> </element> <element> <path value="Conformance.messaging.event.code"/> <short value="Event type"/> <definition value="A coded identifier of a supported messaging event."/> <min value="1"/> <max value="1"/> <type> <code value="Coding"/> </type> <binding> <name value="MessageEvent"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="One of the message events defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-events"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.category"/> <short value="Consequence | Currency | Notification"/> <definition value="The impact of the content of the message."/> <min value="0"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="MessageSignificanceCategory"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The impact of the content of a message"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-significance-category"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.mode"/> <short value="sender | receiver"/> <definition value="The mode of this event declaration - whether application is sender or receiver."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ConformanceEventMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="The mode of a message conformance statement"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-conformance-event-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.protocol"/> <short value="http | ftp | mllp +"/> <definition value="A list of the messaging transport protocol(s) identifiers, supported by this endpoint."/> <min value="0"/> <max value="*"/> <type> <code value="Coding"/> </type> <binding> <name value="MessageTransport"/> <isExtensible value="true"/> <conformance value="preferred"/> <description value="The protocol used for message transport"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/message-transport"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.focus"/> <short value="Resource that's focus of message"/> <definition value="A resource associated with the event. This is the resource that defines the event."/> <comments value="This SHALL be provided if the event type supports multiple different resource types."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="ResourceType"/> <isExtensible value="false"/> <conformance value="required"/> <description value="One of the resource types defined as part of FHIR"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/resource-types"/> </referenceReference> </binding> </element> <element> <path value="Conformance.messaging.event.request"/> <short value="Profile that describes the request"/> <definition value="Information about the request for this event."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.messaging.event.response"/> <short value="Profile that describes the response"/> <definition value="Information about the response for this event."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> <element> <path value="Conformance.messaging.event.documentation"/> <short value="Endpoint-specific event documentation"/> <definition value="Guidance on how this event is handled, such as internal system trigger points, business rules, etc."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.document"/> <short value="Document definition"/> <definition value="A document definition."/> <min value="0"/> <max value="*"/> <condition value="cnf-1"/> </element> <element> <path value="Conformance.document.mode"/> <short value="producer | consumer"/> <definition value="Mode of this document declaration - whether application is producer or consumer."/> <min value="1"/> <max value="1"/> <type> <code value="code"/> </type> <binding> <name value="DocumentMode"/> <isExtensible value="false"/> <conformance value="required"/> <description value="Whether the application produces or consumes documents"/> <referenceReference> <reference value="http://hl7.org/fhir/vs/document-mode"/> </referenceReference> </binding> </element> <element> <path value="Conformance.document.documentation"/> <short value="Description of document support"/> <definition value="A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc."/> <min value="0"/> <max value="1"/> <type> <code value="string"/> </type> </element> <element> <path value="Conformance.document.profile"/> <short value="Constraint on a resource used in the document"/> <definition value="A constraint on a resource used in the document."/> <comments value="The first resource is the document resource."/> <min value="1"/> <max value="1"/> <type> <code value="Reference"/> <profile value="http://hl7.org/fhir/Profile/Profile"/> </type> </element> </differential> </Profile>
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.