DSTU2 STU 3 Candidate
This page is part of the FHIR Specification (v1.0.2: DSTU 2). The current version which supercedes this version is

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . For a full list of available versions, see the Directory of published versions

6.16 6.17 Resource Conformance - Content Resource Conformance - Content

A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
FHIR Infrastructure FHIR Infrastructure Work Group Work Group Maturity Level : 2 Maturity Level : 2 Compartments : Not linked to any defined compartments : Not linked to any defined compartments

A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.

6.16.1 Scope and Usage 6.17.1 Scope and Usage The conformance statement is a key part of the overall conformance framework in FHIR. It is used as a statement of the features of actual software, or of a set of rules for an application to conform to. This statement connects to all the detailed statements of functionality, such as

The conformance statement is a key part of the overall conformance framework in FHIR. It is used as a statement of the features of actual software, or of a set of rules for an application to conform to. This statement connects to all the detailed statements of functionality, such as StructureDefinitions and and ValueSets . This composite statement of application functionality is used as either the source or target of a conformance assessment. For further information about Conformance testing, see Conformance Rules and Profiling FHIR . Specifically, conformance statements are used in one of three ways: . This composite statement of application functionality is used as either the source or target of a conformance assessment. For further information about Conformance testing, see Conformance Rules and Profiling FHIR .

Specifically, conformance statements are used in one of three ways:

6.16.1.1 6.17.1.1 Describe an actual implementation Describe an actual implementation In this scenario, the conformance statement describes the capabilities of a deployed and configured solution available at a particular access point or set of access points. The statement describes exactly how to interface with that deployed solution and thus provides for a degree of self-configuration of software solutions. This is the type of profile that FHIR restful solutions are expected to make available on invocation of the

In this scenario, the conformance statement describes the capabilities of a deployed and configured solution available at a particular access point or set of access points. The statement describes exactly how to interface with that deployed solution and thus provides for a degree of self-configuration of software solutions.

This is the type of profile that FHIR restful solutions are expected to make available on invocation of the conformance operation. It is also the type of statement that forms a basis for the testing, certification or commissioning of specific software installations. operation. It is also the type of statement that forms a basis for the testing, certification or commissioning of specific software installations.

6.16.1.2 6.17.1.2 Describe software solution capabilities Describe software solution capabilities In this scenario, the conformance statement describes generic capabilities of a software application or component solution. The solution might be available for purchase or other acquisition and might be deployed and configured at any number of independent sites. Because it is not dependent on any particular implementation, the profile cannot provide specific details such as endpoint addresses. It may also need to document various configurations in which the application can be set up or describe the degree of customizability associated with the solution. This type of statement may be used as a marketing tool by software and system developers to formally describe their capabilities. It can also be used as the basis for conformance testing of software solutions independent of a particular installation.

In this scenario, the conformance statement describes generic capabilities of a software application or component solution. The solution might be available for purchase or other acquisition and might be deployed and configured at any number of independent sites. Because it is not dependent on any particular implementation, the profile cannot provide specific details such as endpoint addresses. It may also need to document various configurations in which the application can be set up or describe the degree of customizability associated with the solution.

This type of statement may be used as a marketing tool by software and system developers to formally describe their capabilities. It can also be used as the basis for conformance testing of software solutions independent of a particular installation.

6.16.1.3 6.17.1.3 Describe a desired solution Describe a desired solution In this scenario, the conformance statement describes the capabilities of a desired system. It might be used as part of an architectural design process to document needed system capabilities, or might be used as part of an RFP process to formally document the requirements of a requested solution and to document the criteria by which proposals will be evaluated. These three types of profiles can be used together. A requirements statement can be compared against the solution statements proffered by respondents to an RFP. A solution statement for a software package forms the starting point for the implementation statement associated with a particular installation of that software package.

In this scenario, the conformance statement describes the capabilities of a desired system. It might be used as part of an architectural design process to document needed system capabilities, or might be used as part of an RFP process to formally document the requirements of a requested solution and to document the criteria by which proposals will be evaluated.

These three types of profiles can be used together. A requirements statement can be compared against the solution statements proffered by respondents to an RFP. A solution statement for a software package forms the starting point for the implementation statement associated with a particular installation of that software package.

6.16.2 Background and Context 6.17.2 Background and Context Conformance Statements provide for a degree of automatic configuration and adaptation. However, capturing absolutely every variation that could impact the interoperability of two systems, let alone keeping that detailed information up-to-date as systems evolve through maintenance and upgrades is rarely practical. Therefore, conformance statements should be seen as an interim step. They provide a degree of automation. However, they also provide a great deal of human-readable content that can minimize the need for direct communication between the operators of the systems being configured to interoperate. This resource is referenced by

Conformance Statements provide for a degree of automatic configuration and adaptation. However, capturing absolutely every variation that could impact the interoperability of two systems, let alone keeping that detailed information up-to-date as systems evolve through maintenance and upgrades is rarely practical. Therefore, conformance statements should be seen as an interim step. They provide a degree of automation. However, they also provide a great deal of human-readable content that can minimize the need for direct communication between the operators of the systems being configured to interoperate.

This resource is referenced by testscript

6.16.3 Resource Content 6.17.3 Resource Content

Structure

Name Flags Card. Type Description & Constraints Description & Constraints doco
. . Conformance I DomainResource A conformance statement A conformance statement
Conformance statements of kind 'requirements' do not have software or implementation elements Conformance statements of kind 'requirements' do not have software or implementation elements
A Conformance statement SHALL have at least one of REST, messaging or document A Conformance statement SHALL have at least one of REST, messaging or document
Conformance statements of kind 'software' do not have implementation elements Conformance statements of kind 'software' do not have implementation elements
A Conformance statement SHALL have at least one of description, software, or implementation A Conformance statement SHALL have at least one of description, software, or implementation
Messaging end-point is required (and is only permitted) when statement is for an implementation Messaging end-point is required (and is only permitted) when statement is for an implementation
The set of documents must be unique by the combination of profile & mode The set of documents must be unique by the combination of profile & mode
There can only be one REST declaration per mode There can only be one REST declaration per mode
. . . url Σ 0..1 uri Logical uri to reference this statement Logical uri to reference this statement
. . . version Σ 0..1 string Logical id for this version of the statement Logical id for this version of the statement
. . . name Σ 0..1 string Informal name for this conformance statement Informal name for this conformance statement
. . . status ?! ?! Σ 0..1 1..1 code draft | active | retired draft | active | retired
ConformanceResourceStatus ( ( Required )
. . . experimental Σ 0..1 boolean If for testing purposes, not real usage If for testing purposes, not real usage
. . publisher . date Σ 1..1 dateTime Publication Date(/time)
... publisher Σ 0..1 string Name of the publisher (Organization or individual) Name of the publisher (Organization or individual)
. . . contact Σ 0..* BackboneElement Contact details of the publisher Contact details of the publisher
. . . . name Σ 0..1 string Name of a individual to contact Name of an individual to contact
. . . . telecom Σ 0..* ContactPoint Contact details for individual or publisher Contact details for individual or publisher
. . date . description Σ Σ I 1..1 0..1 dateTime string Publication Date(/time) Human description of the conformance statement
. . description . useContext Σ I 0..1 0..* string CodeableConcept Human description of the conformance statement Content intends to support these contexts
Context of Use ValueSet ( Extensible )
. . . requirements 0..1 string Why is this needed? Why this resource has been created
. . . copyright 0..1 string Use and/or publishing restrictions Use and/or publishing restrictions
. . . kind Σ 1..1 code instance | capability | requirements instance | capability | requirements
ConformanceStatementKind ( ( Required )
. . . software Σ Σ I 0..1 BackboneElement Software that is covered by this conformance statement Software that is covered by this conformance statement
. . . . name Σ 1..1 string A name the software is known by A name the software is known by
. . . . version Σ 0..1 string Version covered by this statement Version covered by this statement
. . . . releaseDate Σ 0..1 dateTime Date this version released Date this version released
. . . implementation Σ Σ I 0..1 BackboneElement If this describes a specific instance If this describes a specific instance
. . . . description Σ 1..1 string Describes this specific instance Describes this specific instance
. . . . url Σ 0..1 uri Base URL for the installation Base URL for the installation
. . . fhirVersion Σ 1..1 id FHIR Version the system uses FHIR Version the system uses
. . . acceptUnknown Σ 1..1 code no | extensions | elements | both no | extensions | elements | both
UnknownContentCode ( ( Required )
. . . format Σ 1..* code formats supported (xml | json | mime type) formats supported (xml | json | mime type)
MimeType MimeType ( ( Required )
. . . profile 0..* Reference ( StructureDefinition ) Profiles for use cases supported Profiles for use cases supported
. . . rest Σ Σ I 0..* BackboneElement If the endpoint is a RESTful one If the endpoint is a RESTful one
A given resource can only be described once per RESTful mode A given resource can only be described once per RESTful mode
. . . . mode Σ 1..1 code client | server client | server
RestfulConformanceMode ( ( Required )
. . . . documentation 0..1 string General description of implementation General description of implementation
. . . . security 0..1 BackboneElement Information about security of implementation Information about security of implementation
. . . . . cors 0..1 boolean Adds CORS Headers (http://enable-cors.org/) Adds CORS Headers (http://enable-cors.org/)
. . . . . service 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
RestfulSecurityService ( ( Extensible )
. . . . . description 0..1 string General description of how security works General description of how security works
. . . . . certificate 0..* BackboneElement Certificates associated with security profiles Certificates associated with security profiles
. . . . . . type 0..1 code Mime type for certificate Mime type for certificate
MimeType MimeType ( ( Required )
. . . . . . blob 0..1 base64Binary Actual certificate Actual certificate
. . . . resource Σ Σ I 1..* 0..* BackboneElement Resource served on the REST interface Resource served on the REST interface
Search parameter names must be unique in the context of a resource Search parameter names must be unique in the context of a resource
. . . . . type Σ 1..1 code A resource type that is supported A resource type that is supported
ResourceType ( ( Required )
. . . . . profile 0..1 Reference ( StructureDefinition ) Base System profile for all uses of resource Base System profile for all uses of resource
. . . . . interaction 1..* BackboneElement What operations are supported? What operations are supported?
. . . . . . code 1..1 code read | vread | update | delete | history-instance | validate | history-type | create | search-type read | vread | update | delete | history-instance | history-type | create | search-type
TypeRestfulInteraction ( ( Required )
. . . . . . documentation 0..1 string Anything special about operation behavior Anything special about operation behavior
. . . . . versioning 0..1 code no-version | versioned | versioned-update no-version | versioned | versioned-update
ResourceVersionPolicy ( ( Required )
. . . . . readHistory 0..1 boolean Whether vRead can return past versions Whether vRead can return past versions
. . . . . updateCreate 0..1 boolean If update can commit to a new identity If update can commit to a new identity
. . . . . conditionalCreate 0..1 boolean If allows/uses conditional create If allows/uses conditional create
. . . . . conditionalUpdate 0..1 boolean If allows/uses conditional update If allows/uses conditional update
. . . . . conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported not-supported | single | multiple - how conditional delete is supported
ConditionalDeleteStatus ( ( Required )
. . . . . searchInclude 0..* string _include values supported by the server _include values supported by the server
. . . . . searchRevInclude 0..* string _revinclude values supported by the server _revinclude values supported by the server
. . . . . searchParam I 0..* BackboneElement Search params supported by implementation Search params supported by implementation
Search parameters can only have chain names when the search parameter type is 'reference' Search parameters can only have chain names when the search parameter type is 'reference'
. . . . . . name 1..1 string Name of search parameter Name of search parameter
. . . . . . definition 0..1 uri Source of definition for parameter Source of definition for parameter
. . . . . . type 1..1 code number | date | string | token | reference | composite | quantity | uri number | date | string | token | reference | composite | quantity | uri
SearchParamType ( ( Required )
. . . . . . documentation 0..1 string Server-specific usage Server-specific usage
. . . . . . target 0..* code Types of resource (if a resource reference) Types of resource (if a resource reference)
ResourceType ( ( Required )
. . . . . . modifier 0..* code missing | exact | contains | not | text | in | not-in | below | above | type missing | exact | contains | not | text | in | not-in | below | above | type
SearchModifierCode ( ( Required )
. . . . . . chain 0..* string Chained names supported Chained names supported
. . . . interaction 0..* BackboneElement What operations are supported? What operations are supported?
. . . . . code 1..1 code transaction | search-system | history-system transaction | search-system | history-system
SystemRestfulInteraction ( ( Required )
. . . . . documentation 0..1 string Anything special about operation behavior Anything special about operation behavior
. . . . transactionMode 0..1 code not-supported | batch | transaction | both not-supported | batch | transaction | both
TransactionMode ( ( Required )
. . . . searchParam 0..* see see searchParam Search params for searching all resources Search params for searching all resources
. . . . operation 0..* BackboneElement Definition of an operation or a custom query Definition of an operation or a custom query
. . . . . name 1..1 string Name by which the operation/query is invoked Name by which the operation/query is invoked
. . . . . definition 1..1 Reference ( OperationDefinition ) The defined operation/query The defined operation/query
. . . . compartment 0..* uri Compartments served/used by system Compartments served/used by system
. . . messaging I 0..* BackboneElement If messaging is supported If messaging is supported
. . . . endpoint 0..* BackboneElement A messaging service end-point Where messages should be sent
. . . . . protocol 1..1 Coding http | ftp | mllp + http | ftp | mllp +
MessageTransport ( ( Extensible )
. . . . . address 1..1 uri Address of end-point Address of end-point
. . . . reliableCache 0..1 unsignedInt Reliable Message Cache Length (min) Reliable Message Cache Length (min)
. . . . documentation 0..1 string Messaging interface behavior details Messaging interface behavior details
. . . . event 1..* BackboneElement Declare support for this event Declare support for this event
. . . . . code 1..1 Coding Event type Event type
MessageEvent ( ( Preferred )
. . . . . category 0..1 code Consequence | Currency | Notification Consequence | Currency | Notification
MessageSignificanceCategory ( ( Required )
. . . . . mode 1..1 code sender | receiver sender | receiver
ConformanceEventMode ( ( Required )
. . . . . focus 1..1 code Resource that's focus of message Resource that's focus of message
ResourceType ( ( Required )
. . . . . request 1..1 Reference ( StructureDefinition ) Profile that describes the request Profile that describes the request
. . . . . response 1..1 Reference ( StructureDefinition ) Profile that describes the response Profile that describes the response
. . . . . documentation 0..1 string Endpoint-specific event documentation Endpoint-specific event documentation
. . . document I 0..* BackboneElement Document definition Document definition
. . . . mode 1..1 code producer | consumer producer | consumer
DocumentMode ( ( Required )
. . . . documentation 0..1 string Description of document support Description of document support
. . . . profile 1..1 Reference ( StructureDefinition ) Constraint on a resource used in the document Constraint on a resource used in the document

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

Conformance ( ( DomainResource ) An absolute URL that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this conformance statement is (or will be) published An absolute URL that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this conformance statement is (or will be) published url : : uri [0..1] [0..1] 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 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 version : : string [0..1] [0..1] A free text natural language name identifying the conformance statement A free text natural language name identifying the conformance statement name : : string [0..1] [0..1] The status of this conformance statement (this element modifies the meaning of other elements) The status of this conformance statement (this element modifies the meaning of other elements) status : : code [0..1] « [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required) The lifecycle status of a Value Set or Concept Map. (Strength=Required) ConformanceResourceStatus ! » ! » 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 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 experimental : : boolean [0..1] [0..1] The name of the individual or organization that published the conformance The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes publisher : string [0..1] date : dateTime [1..1] The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes The name of the individual or organization that published the conformance date : dateTime [1..1] publisher : string [0..1] A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP description : : string [0..1] [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of conformance statements useContext : CodeableConcept [0..*] « Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. (Strength=Extensible) Context of Use ValueSet + » Explains why this conformance statement is needed and why it's been constrained as it has Explains why this conformance statement is needed and why it's been constrained as it has requirements : : string [0..1] [0..1] A copyright statement relating to the conformance 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 A copyright statement relating to the conformance 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 copyright : : string [0..1] [0..1] The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) kind : : code [1..1] « [1..1] « How a conformance statement is intended to be used. (Strength=Required) How a conformance statement is intended to be used. (Strength=Required) ConformanceStatementKind ! » ! » The version of the FHIR specification on which this conformance statement is based The version of the FHIR specification on which this conformance statement is based fhirVersion : : id [1..1] [1..1] A code that indicates whether the application accepts unknown elements or extensions when reading resources A code that indicates whether the application accepts unknown elements or extensions when reading resources acceptUnknown : : code [1..1] « [1..1] « A code that indicates whether an application accepts unknown elements or extensions when reading resources. (Strength=Required) A code that indicates whether an application accepts unknown elements or extensions when reading resources. (Strength=Required) UnknownContentCode ! » ! » A list of the formats supported by this implementation using their content types A list of the formats supported by this implementation using their content types format : : code [1..*] « [1..*] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) MimeType ! » ! » A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services 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. See further discussion in [Using Profiles]{profiling.html#profile-uses} A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services 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. See further discussion in [Using Profiles]{profiling.html#profile-uses} profile : : Reference [0..*] « [0..*] « StructureDefinition » » Contact The name of an individual to contact regarding the conformance The name of an individual to contact regarding the conformance name : : string [0..1] [0..1] Contact details for individual (if a name was provided) or the publisher Contact details for individual (if a name was provided) or the publisher telecom : : ContactPoint [0..*] [0..*] Software Name software is known by Name software is known by name : : string [1..1] [1..1] The version identifier for the software covered by this statement The version identifier for the software covered by this statement version : : string [0..1] [0..1] Date this version of the software released Date this version of the software released releaseDate : : dateTime [0..1] [0..1] Implementation Information about the specific installation that this conformance statement relates to Information about the specific installation that this conformance statement relates to description : : string [1..1] [1..1] An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces url : : uri [0..1] [0..1] Rest Identifies whether this portion of the statement is describing ability to initiate or receive restful operations Identifies whether this portion of the statement is describing ability to initiate or receive restful operations mode : : code [1..1] « [1..1] « The mode of a RESTful conformance statement. (Strength=Required) The mode of a RESTful conformance statement. (Strength=Required) RestfulConformanceMode ! » ! » Information about the system's restful capabilities that apply across all applications, such as security Information about the system's restful capabilities that apply across all applications, such as security documentation : : string [0..1] [0..1] A code that indicates how transactions are supported A code that indicates how transactions are supported transactionMode : : code [0..1] « [0..1] « A code that indicates how transactions are supported. (Strength=Required) A code that indicates how transactions are supported. (Strength=Required) TransactionMode ! » ! » An absolute URI which is a reference to the definition of a compartment hosted by the system An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by it's canonical URL compartment : : uri [0..*] [0..*] Security Server adds CORS headers when responding to requests - this enables javascript applications to use the server Server adds CORS headers when responding to requests - this enables javascript applications to use the server cors : : boolean [0..1] [0..1] Types of security services are supported/required by the system Types of security services are supported/required by the system service : : CodeableConcept [0..*] « [0..*] « Types of security services used with FHIR. (Strength=Extensible) Types of security services used with FHIR. (Strength=Extensible) RestfulSecurityService + » + » General description of how security works General description of how security works description : : string [0..1] [0..1] Certificate Mime type for certificate Mime type for certificate type : : code [0..1] « [0..1] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) MimeType ! » ! » Actual certificate Actual certificate blob : : base64Binary [0..1] [0..1] Resource A type of resource exposed via the restful interface A type of resource exposed via the restful interface type : : code [1..1] « [1..1] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} profile : : Reference [0..1] « [0..1] « StructureDefinition » » This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API versioning : : code [0..1] « [0..1] « How the system supports versioning for a resource. (Strength=Required) How the system supports versioning for a resource. (Strength=Required) ResourceVersionPolicy ! » ! » A flag for whether the server is able to return past versions as part of the vRead operation A flag for whether the server is able to return past versions as part of the vRead operation readHistory : : boolean [0..1] [0..1] A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server updateCreate : : boolean [0..1] [0..1] A flag that indicates that the server supports conditional create A flag that indicates that the server supports conditional create conditionalCreate : : boolean [0..1] [0..1] A flag that indicates that the server supports conditional update A flag that indicates that the server supports conditional update conditionalUpdate : : boolean [0..1] [0..1] A code that indicates how the server supports conditional delete A code that indicates how the server supports conditional delete conditionalDelete : : code [0..1] « [0..1] « A code that indicates how the server supports conditional delete. (Strength=Required) A code that indicates how the server supports conditional delete. (Strength=Required) ConditionalDeleteStatus ! » ! » A list of _include values supported by the server A list of _include values supported by the server searchInclude : : string [0..*] [0..*] A list of _revinclude (reverse include) values supported by the server A list of _revinclude (reverse include) values supported by the server searchRevInclude : : string [0..*] [0..*] ResourceInteraction Coded identifier of the operation, supported by the system resource Coded identifier of the operation, supported by the system resource code : : code [1..1] « [1..1] « Operations supported by REST at the type or instance level. (Strength=Required) Operations supported by REST at the type or instance level. (Strength=Required) TypeRestfulInteraction ! » ! » 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' 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' documentation : : string [0..1] [0..1] SearchParam The name of the search parameter used in the interface The name of the search parameter used in the interface name : : string [1..1] [1..1] An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) definition : : uri [0..1] [0..1] The type of value a search parameter refers to, and how the content is interpreted The type of value a search parameter refers to, and how the content is interpreted type : : code [1..1] « [1..1] « Data types allowed to be used for search parameters. (Strength=Required) Data types allowed to be used for search parameters. (Strength=Required) SearchParamType ! » ! » This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms documentation : : string [0..1] [0..1] Types of resource (if a resource is referenced) Types of resource (if a resource is referenced) target : : code [0..*] « [0..*] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » A modifier supported for the search parameter A modifier supported for the search parameter modifier : : code [0..*] « [0..*] « A supported modifier for a search parameter. (Strength=Required) A supported modifier for a search parameter. (Strength=Required) SearchModifierCode ! » ! » Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type chain : : string [0..*] [0..*] SystemInteraction A coded identifier of the operation, supported by the system A coded identifier of the operation, supported by the system code : : code [1..1] « [1..1] « Operations supported by REST at the system level. (Strength=Required) Operations supported by REST at the system level. (Strength=Required) SystemRestfulInteraction ! » ! » 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 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 documentation : : string [0..1] [0..1] Operation The name of a query, which is used in the _query parameter when the query is called The name of the operation or query. For an operation, this is the name prefixed with $ and used in the url. For a query, this is the name used in the _query parameter when the query is called name : : string [1..1] [1..1] Where the formal definition can be found Where the formal definition can be found definition : : Reference [1..1] « [1..1] « OperationDefinition » » Messaging 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) 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) reliableCache : : unsignedInt [0..1] [0..1] 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 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 documentation : : string [0..1] [0..1] Endpoint A list of the messaging transport protocol(s) identifiers, supported by this endpoint A list of the messaging transport protocol(s) identifiers, supported by this endpoint protocol : : Coding [1..1] « [1..1] « The protocol used for message transport. (Strength=Extensible) The protocol used for message transport. (Strength=Extensible) MessageTransport + » + » The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier address : : uri [1..1] [1..1] Event A coded identifier of a supported messaging event A coded identifier of a supported messaging event code : : Coding [1..1] « [1..1] « One of the message events defined as part of FHIR. (Strength=Preferred) One of the message events defined as part of FHIR. (Strength=Preferred) MessageEvent ? » ? » The impact of the content of the message The impact of the content of the message category : : code [0..1] « [0..1] « The impact of the content of a message. (Strength=Required) The impact of the content of a message. (Strength=Required) MessageSignificanceCategory ! » ! » The mode of this event declaration - whether application is sender or receiver The mode of this event declaration - whether application is sender or receiver mode : : code [1..1] « [1..1] « The mode of a message conformance statement. (Strength=Required) The mode of a message conformance statement. (Strength=Required) ConformanceEventMode ! » ! » A resource associated with the event. This is the resource that defines the event A resource associated with the event. This is the resource that defines the event focus : : code [1..1] « [1..1] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » Information about the request for this event Information about the request for this event request : : Reference [1..1] « [1..1] « StructureDefinition » » Information about the response for this event Information about the response for this event response : : Reference [1..1] « [1..1] « StructureDefinition » » Guidance on how this event is handled, such as internal system trigger points, business rules, etc Guidance on how this event is handled, such as internal system trigger points, business rules, etc documentation : : string [0..1] [0..1] Document Mode of this document declaration - whether application is producer or consumer Mode of this document declaration - whether application is producer or consumer mode : : code [1..1] « [1..1] « Whether the application produces or consumes documents. (Strength=Required) Whether the application produces or consumes documents. (Strength=Required) DocumentMode ! » ! » 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 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 documentation : : string [0..1] [0..1] A constraint on a resource used in the document A constraint on a resource used in the document profile : : Reference [1..1] « [1..1] « StructureDefinition » » Contacts to assist a user in finding and communicating with the publisher Contacts to assist a user in finding and communicating with the publisher contact [0..*] Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation software [0..1] 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 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 implementation [0..1] Certificates associated with security profiles Certificates associated with security profiles certificate [0..*] Information about security implementation from an interface perspective - what a client needs to know Information about security implementation from an interface perspective - what a client needs to know security [0..1] Identifies a restful operation supported by the solution Identifies a restful operation supported by the solution interaction [1..*] 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 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 searchParam [0..*] A specification of the restful capabilities of the solution for a specific resource type A specification of the restful capabilities of the solution for a specific resource type resource [1..*] [0..*] A specification of restful operations supported by the system A specification of restful operations supported by the system interaction [0..*] Search parameters that are supported for searching all resources 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 Search parameters that are supported for searching all resources 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 searchParam [0..*] Definition of an operation or a named query and with its parameters and their meaning and type Definition of an operation or a named query and with its parameters and their meaning and type operation [0..*] A definition of the restful capabilities of the solution, if any A definition of the restful capabilities of the solution, if any rest [0..*] An endpoint (network accessible address) to which messages and/or replies are to be sent An endpoint (network accessible address) to which messages and/or replies are to be sent endpoint [0..*] A description of the solution's support for an event at this end-point A description of the solution's support for an event at this end-point event [1..*] A description of the messaging capabilities of the solution A description of the messaging capabilities of the solution messaging [0..*] A document definition A document definition document [0..*]

XML Template XML Template

<Conformance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical uri to reference this statement -->
 <version value="[string]"/><!-- 0..1 Logical id for this version of the statement -->
 <name value="[string]"/><!-- 0..1 Informal name for this conformance statement -->
 <

 <status value="[code]"/><!-- 1..1 draft | active | retired -->

 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 1..1 Publication Date(/time) -->

 <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) -->
 <contact>  <!-- 0..* Contact details of the publisher -->
  <

  <name value="[string]"/><!-- 0..1 Name of an individual to contact -->

  <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom>
 </contact>
 <

 <description value="[string]"/><!-- ?? 0..1 Human description of the conformance statement -->
 <

 <useContext><!-- 0..* CodeableConcept Content intends to support these contexts --></useContext>
 <requirements value="[string]"/><!-- 0..1 Why this resource has been created -->

 <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions -->
 <kind value="[code]"/><!-- 1..1 instance | capability | requirements -->
 <software>  <!-- ?? 0..1 Software that is covered by this conformance statement -->
  <name value="[string]"/><!-- 1..1 A name the software is known by -->
  <version value="[string]"/><!-- 0..1 Version covered by this statement -->
  <releaseDate value="[dateTime]"/><!-- 0..1 Date this version released -->
 </software>
 <implementation>  <!-- ?? 0..1 If this describes a specific instance -->
  <description value="[string]"/><!-- 1..1 Describes this specific instance -->
  <url value="[uri]"/><!-- 0..1 Base URL for the installation -->
 </implementation>
 <fhirVersion value="[id]"/><!-- 1..1 FHIR Version the system uses -->
 <acceptUnknown value="[code]"/><!-- 1..1 no | extensions | elements | both -->
 <format value="[code]"/><!-- 1..* formats supported (xml | json | mime type)  -->
 <profile><!-- 0..* Reference(StructureDefinition) Profiles for use cases supported --></profile>
 <rest>  <!-- ?? 0..* If the endpoint is a RESTful one -->
  <mode value="[code]"/><!-- 1..1 client | server -->
  <documentation value="[string]"/><!-- 0..1 General description of implementation -->
  <security>  <!-- 0..1 Information about security of implementation -->
   <cors value="[boolean]"/><!-- 0..1 Adds CORS Headers (http://enable-cors.org/) -->
   <service><!-- 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates --></service>
   <description value="[string]"/><!-- 0..1 General description of how security works -->
   <certificate>  <!-- 0..* Certificates associated with security profiles -->
    <type value="[code]"/><!-- 0..1 Mime type for certificate  -->
    <blob value="[base64Binary]"/><!-- 0..1 Actual certificate -->
   </certificate>
  </security>
  <

  <resource>  <!-- 0..* Resource served on the REST interface -->

   <type value="[code]"/><!-- 1..1 A resource type that is supported -->
   <profile><!-- 0..1 Reference(StructureDefinition) Base System profile for all uses of resource --></profile>
   <interaction>  <!-- 1..* What operations are supported? -->
    <

    <code value="[code]"/><!-- 1..1 read | vread | update | delete | history-instance | history-type | create | search-type -->

    <documentation value="[string]"/><!-- 0..1 Anything special about operation behavior -->
   </interaction>
   <versioning value="[code]"/><!-- 0..1 no-version | versioned | versioned-update -->
   <readHistory value="[boolean]"/><!-- 0..1 Whether vRead can return past versions -->
   <updateCreate value="[boolean]"/><!-- 0..1 If update can commit to a new identity -->
   <conditionalCreate value="[boolean]"/><!-- 0..1 If allows/uses conditional create -->
   <conditionalUpdate value="[boolean]"/><!-- 0..1 If allows/uses conditional update -->
   <conditionalDelete value="[code]"/><!-- 0..1 not-supported | single | multiple - how conditional delete is supported -->
   <searchInclude value="[string]"/><!-- 0..* _include values supported by the server -->
   <searchRevInclude value="[string]"/><!-- 0..* _revinclude values supported by the server -->
   <searchParam>  <!-- 0..* Search params supported by implementation -->
    <name value="[string]"/><!-- 1..1 Name of search parameter -->
    <definition value="[uri]"/><!-- 0..1 Source of definition for parameter -->
    <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri -->
    <documentation value="[string]"/><!-- 0..1 Server-specific usage -->
    <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) -->
    <modifier value="[code]"/><!-- 0..* missing | exact | contains | not | text | in | not-in | below | above | type -->
    <chain value="[string]"/><!-- 0..* Chained names supported -->
   </searchParam>
  </resource>
  <interaction>  <!-- 0..* What operations are supported? -->
   <code value="[code]"/><!-- 1..1 transaction | search-system | history-system -->
   <documentation value="[string]"/><!-- 0..1 Anything special about operation behavior -->
  </interaction>
  <transactionMode value="[code]"/><!-- 0..1 not-supported | batch | transaction | both -->
  <searchParam><!-- 0..* Content as for Conformance.rest.resource.searchParam Search params for searching all resources --></searchParam>
  <operation>  <!-- 0..* Definition of an operation or a custom query -->
   <

   <name value="[string]"/><!-- 1..1 Name by which the operation/query is invoked -->

   <definition><!-- 1..1 Reference(OperationDefinition) The defined operation/query --></definition>
  </operation>
  <

  <compartment value="[uri]"/><!-- 0..* Compartments served/used by system -->

 </rest>
 <messaging>  <!-- ?? 0..* If messaging is supported -->
  <

  <endpoint>  <!-- 0..* Where messages should be sent -->

   <protocol><!-- 1..1 Coding http | ftp | mllp + --></protocol>
   <address value="[uri]"/><!-- 1..1 Address of end-point -->
  </endpoint>
  <reliableCache value="[unsignedInt]"/><!-- 0..1 Reliable Message Cache Length (min) -->
  <documentation value="[string]"/><!-- 0..1 Messaging interface behavior details -->
  <event>  <!-- 1..* Declare support for this event -->
   <code><!-- 1..1 Coding Event type --></code>
   <category value="[code]"/><!-- 0..1 Consequence | Currency | Notification -->
   <mode value="[code]"/><!-- 1..1 sender | receiver -->
   <focus value="[code]"/><!-- 1..1 Resource that's focus of message -->
   <request><!-- 1..1 Reference(StructureDefinition) Profile that describes the request --></request>
   <response><!-- 1..1 Reference(StructureDefinition) Profile that describes the response --></response>
   <documentation value="[string]"/><!-- 0..1 Endpoint-specific event documentation -->
  </event>
 </messaging>
 <document>  <!-- ?? 0..* Document definition -->
  <mode value="[code]"/><!-- 1..1 producer | consumer -->
  <documentation value="[string]"/><!-- 0..1 Description of document support -->
  <profile><!-- 1..1 Reference(StructureDefinition) Constraint on a resource used in the document --></profile>
 </document>
</Conformance>

JSON Template JSON Template

{doco
  "resourceType" : "Conformance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical uri to reference this statement
  "version" : "<string>", // Logical id for this version of the statement
  "name" : "<string>", // Informal name for this conformance statement
  "

  "status" : "<code>", // R!  draft | active | retired

  "experimental" : <boolean>, // If for testing purposes, not real usage
  "date" : "<dateTime>", // R!  Publication Date(/time)

  "publisher" : "<string>", // Name of the publisher (Organization or individual)
  "contact" : [{ // Contact details of the publisher
    "

    "name" : "<string>", // Name of an individual to contact

    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "

  "description" : "<string>", // C? Human description of the conformance statement
  "

  "useContext" : [{ CodeableConcept }], // Content intends to support these contexts
  "requirements" : "<string>", // Why this resource has been created

  "copyright" : "<string>", // Use and/or publishing restrictions
  "kind" : "<code>", // R!  instance | capability | requirements
  "software" : { // C? Software that is covered by this conformance statement
    "name" : "<string>", // R!  A name the software is known by
    "version" : "<string>", // Version covered by this statement
    "releaseDate" : "<dateTime>" // Date this version released
  },
  "implementation" : { // C? If this describes a specific instance
    "description" : "<string>", // R!  Describes this specific instance
    "url" : "<uri>" // Base URL for the installation
  },
  "fhirVersion" : "<id>", // R!  FHIR Version the system uses
  "acceptUnknown" : "<code>", // R!  no | extensions | elements | both
  "format" : ["<code>"], // R!  formats supported (xml | json | mime type) 
  "profile" : [{ Reference(StructureDefinition) }], // Profiles for use cases supported
  "rest" : [{ // C? If the endpoint is a RESTful one
    "mode" : "<code>", // R!  client | server
    "documentation" : "<string>", // General description of implementation
    "security" : { // Information about security of implementation
      "cors" : <boolean>, // Adds CORS Headers (http://enable-cors.org/)
      "service" : [{ CodeableConcept }], // OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
      "description" : "<string>", // General description of how security works
      "certificate" : [{ // Certificates associated with security profiles
        "type" : "<code>", // Mime type for certificate 
        "blob" : "<base64Binary>" // Actual certificate
      }]
    },
    "

    "resource" : [{ // Resource served on the REST interface

      "type" : "<code>", // R!  A resource type that is supported
      "profile" : { Reference(StructureDefinition) }, // Base System profile for all uses of resource
      "interaction" : [{ // R!  What operations are supported?
        "

        "code" : "<code>", // R!  read | vread | update | delete | history-instance | history-type | create | search-type

        "documentation" : "<string>" // Anything special about operation behavior
      }],
      "versioning" : "<code>", // no-version | versioned | versioned-update
      "readHistory" : <boolean>, // Whether vRead can return past versions
      "updateCreate" : <boolean>, // If update can commit to a new identity
      "conditionalCreate" : <boolean>, // If allows/uses conditional create
      "conditionalUpdate" : <boolean>, // If allows/uses conditional update
      "conditionalDelete" : "<code>", // not-supported | single | multiple - how conditional delete is supported
      "searchInclude" : ["<string>"], // _include values supported by the server
      "searchRevInclude" : ["<string>"], // _revinclude values supported by the server
      "searchParam" : [{ // Search params supported by implementation
        "name" : "<string>", // R!  Name of search parameter
        "definition" : "<uri>", // Source of definition for parameter
        "type" : "<code>", // R!  number | date | string | token | reference | composite | quantity | uri
        "documentation" : "<string>", // Server-specific usage
        "target" : ["<code>"], // Types of resource (if a resource reference)
        "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type
        "chain" : ["<string>"] // Chained names supported
      }]
    }],
    "interaction" : [{ // What operations are supported?
      "code" : "<code>", // R!  transaction | search-system | history-system
      "documentation" : "<string>" // Anything special about operation behavior
    }],
    "transactionMode" : "<code>", // not-supported | batch | transaction | both
    "searchParam" : [{ Content as for Conformance.rest.resource.searchParam }], // Search params for searching all resources
    "operation" : [{ // Definition of an operation or a custom query
      "

      "name" : "<string>", // R!  Name by which the operation/query is invoked

      "definition" : { Reference(OperationDefinition) } // R!  The defined operation/query
    }],
    "

    "compartment" : ["<uri>"] // Compartments served/used by system

  }],
  "messaging" : [{ // C? If messaging is supported
    "

    "endpoint" : [{ // Where messages should be sent

      "protocol" : { Coding }, // R!  http | ftp | mllp +
      "address" : "<uri>" // R!  Address of end-point
    }],
    "reliableCache" : "<unsignedInt>", // Reliable Message Cache Length (min)
    "documentation" : "<string>", // Messaging interface behavior details
    "event" : [{ // R!  Declare support for this event
      "code" : { Coding }, // R!  Event type
      "category" : "<code>", // Consequence | Currency | Notification
      "mode" : "<code>", // R!  sender | receiver
      "focus" : "<code>", // R!  Resource that's focus of message
      "request" : { Reference(StructureDefinition) }, // R!  Profile that describes the request
      "response" : { Reference(StructureDefinition) }, // R!  Profile that describes the response
      "documentation" : "<string>" // Endpoint-specific event documentation
    }]
  }],
  "document" : [{ // C? Document definition
    "mode" : "<code>", // R!  producer | consumer
    "documentation" : "<string>", // Description of document support
    "profile" : { Reference(StructureDefinition) } // R!  Constraint on a resource used in the document
  }]
}

Structure

Name Flags Card. Type Description & Constraints Description & Constraints doco
. . Conformance I DomainResource A conformance statement A conformance statement
Conformance statements of kind 'requirements' do not have software or implementation elements Conformance statements of kind 'requirements' do not have software or implementation elements
A Conformance statement SHALL have at least one of REST, messaging or document A Conformance statement SHALL have at least one of REST, messaging or document
Conformance statements of kind 'software' do not have implementation elements Conformance statements of kind 'software' do not have implementation elements
A Conformance statement SHALL have at least one of description, software, or implementation A Conformance statement SHALL have at least one of description, software, or implementation
Messaging end-point is required (and is only permitted) when statement is for an implementation Messaging end-point is required (and is only permitted) when statement is for an implementation
The set of documents must be unique by the combination of profile & mode The set of documents must be unique by the combination of profile & mode
There can only be one REST declaration per mode There can only be one REST declaration per mode
. . . url Σ 0..1 uri Logical uri to reference this statement Logical uri to reference this statement
. . . version Σ 0..1 string Logical id for this version of the statement Logical id for this version of the statement
. . . name Σ 0..1 string Informal name for this conformance statement Informal name for this conformance statement
. . . status ?! ?! Σ 0..1 1..1 code draft | active | retired draft | active | retired
ConformanceResourceStatus ( ( Required )
. . . experimental Σ 0..1 boolean If for testing purposes, not real usage If for testing purposes, not real usage
. . publisher . date Σ 1..1 dateTime Publication Date(/time)
... publisher Σ 0..1 string Name of the publisher (Organization or individual) Name of the publisher (Organization or individual)
. . . contact Σ 0..* BackboneElement Contact details of the publisher Contact details of the publisher
. . . . name Σ 0..1 string Name of a individual to contact Name of an individual to contact
. . . . telecom Σ 0..* ContactPoint Contact details for individual or publisher Contact details for individual or publisher
. . date . description Σ Σ I 1..1 0..1 dateTime string Publication Date(/time) Human description of the conformance statement
. . description . useContext Σ I 0..1 0..* string CodeableConcept Human description of the conformance statement Content intends to support these contexts
Context of Use ValueSet ( Extensible )
. . . requirements 0..1 string Why is this needed? Why this resource has been created
. . . copyright 0..1 string Use and/or publishing restrictions Use and/or publishing restrictions
. . . kind Σ 1..1 code instance | capability | requirements instance | capability | requirements
ConformanceStatementKind ( ( Required )
. . . software Σ Σ I 0..1 BackboneElement Software that is covered by this conformance statement Software that is covered by this conformance statement
. . . . name Σ 1..1 string A name the software is known by A name the software is known by
. . . . version Σ 0..1 string Version covered by this statement Version covered by this statement
. . . . releaseDate Σ 0..1 dateTime Date this version released Date this version released
. . . implementation Σ Σ I 0..1 BackboneElement If this describes a specific instance If this describes a specific instance
. . . . description Σ 1..1 string Describes this specific instance Describes this specific instance
. . . . url Σ 0..1 uri Base URL for the installation Base URL for the installation
. . . fhirVersion Σ 1..1 id FHIR Version the system uses FHIR Version the system uses
. . . acceptUnknown Σ 1..1 code no | extensions | elements | both no | extensions | elements | both
UnknownContentCode ( ( Required )
. . . format Σ 1..* code formats supported (xml | json | mime type) formats supported (xml | json | mime type)
MimeType MimeType ( ( Required )
. . . profile 0..* Reference ( StructureDefinition ) Profiles for use cases supported Profiles for use cases supported
. . . rest Σ Σ I 0..* BackboneElement If the endpoint is a RESTful one If the endpoint is a RESTful one
A given resource can only be described once per RESTful mode A given resource can only be described once per RESTful mode
. . . . mode Σ 1..1 code client | server client | server
RestfulConformanceMode ( ( Required )
. . . . documentation 0..1 string General description of implementation General description of implementation
. . . . security 0..1 BackboneElement Information about security of implementation Information about security of implementation
. . . . . cors 0..1 boolean Adds CORS Headers (http://enable-cors.org/) Adds CORS Headers (http://enable-cors.org/)
. . . . . service 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
RestfulSecurityService ( ( Extensible )
. . . . . description 0..1 string General description of how security works General description of how security works
. . . . . certificate 0..* BackboneElement Certificates associated with security profiles Certificates associated with security profiles
. . . . . . type 0..1 code Mime type for certificate Mime type for certificate
MimeType MimeType ( ( Required )
. . . . . . blob 0..1 base64Binary Actual certificate Actual certificate
. . . . resource Σ Σ I 1..* 0..* BackboneElement Resource served on the REST interface Resource served on the REST interface
Search parameter names must be unique in the context of a resource Search parameter names must be unique in the context of a resource
. . . . . type Σ 1..1 code A resource type that is supported A resource type that is supported
ResourceType ( ( Required )
. . . . . profile 0..1 Reference ( StructureDefinition ) Base System profile for all uses of resource Base System profile for all uses of resource
. . . . . interaction 1..* BackboneElement What operations are supported? What operations are supported?
. . . . . . code 1..1 code read | vread | update | delete | history-instance | validate | history-type | create | search-type read | vread | update | delete | history-instance | history-type | create | search-type
TypeRestfulInteraction ( ( Required )
. . . . . . documentation 0..1 string Anything special about operation behavior Anything special about operation behavior
. . . . . versioning 0..1 code no-version | versioned | versioned-update no-version | versioned | versioned-update
ResourceVersionPolicy ( ( Required )
. . . . . readHistory 0..1 boolean Whether vRead can return past versions Whether vRead can return past versions
. . . . . updateCreate 0..1 boolean If update can commit to a new identity If update can commit to a new identity
. . . . . conditionalCreate 0..1 boolean If allows/uses conditional create If allows/uses conditional create
. . . . . conditionalUpdate 0..1 boolean If allows/uses conditional update If allows/uses conditional update
. . . . . conditionalDelete 0..1 code not-supported | single | multiple - how conditional delete is supported not-supported | single | multiple - how conditional delete is supported
ConditionalDeleteStatus ( ( Required )
. . . . . searchInclude 0..* string _include values supported by the server _include values supported by the server
. . . . . searchRevInclude 0..* string _revinclude values supported by the server _revinclude values supported by the server
. . . . . searchParam I 0..* BackboneElement Search params supported by implementation Search params supported by implementation
Search parameters can only have chain names when the search parameter type is 'reference' Search parameters can only have chain names when the search parameter type is 'reference'
. . . . . . name 1..1 string Name of search parameter Name of search parameter
. . . . . . definition 0..1 uri Source of definition for parameter Source of definition for parameter
. . . . . . type 1..1 code number | date | string | token | reference | composite | quantity | uri number | date | string | token | reference | composite | quantity | uri
SearchParamType ( ( Required )
. . . . . . documentation 0..1 string Server-specific usage Server-specific usage
. . . . . . target 0..* code Types of resource (if a resource reference) Types of resource (if a resource reference)
ResourceType ( ( Required )
. . . . . . modifier 0..* code missing | exact | contains | not | text | in | not-in | below | above | type missing | exact | contains | not | text | in | not-in | below | above | type
SearchModifierCode ( ( Required )
. . . . . . chain 0..* string Chained names supported Chained names supported
. . . . interaction 0..* BackboneElement What operations are supported? What operations are supported?
. . . . . code 1..1 code transaction | search-system | history-system transaction | search-system | history-system
SystemRestfulInteraction ( ( Required )
. . . . . documentation 0..1 string Anything special about operation behavior Anything special about operation behavior
. . . . transactionMode 0..1 code not-supported | batch | transaction | both not-supported | batch | transaction | both
TransactionMode ( ( Required )
. . . . searchParam 0..* see see searchParam Search params for searching all resources Search params for searching all resources
. . . . operation 0..* BackboneElement Definition of an operation or a custom query Definition of an operation or a custom query
. . . . . name 1..1 string Name by which the operation/query is invoked Name by which the operation/query is invoked
. . . . . definition 1..1 Reference ( OperationDefinition ) The defined operation/query The defined operation/query
. . . . compartment 0..* uri Compartments served/used by system Compartments served/used by system
. . . messaging I 0..* BackboneElement If messaging is supported If messaging is supported
. . . . endpoint 0..* BackboneElement A messaging service end-point Where messages should be sent
. . . . . protocol 1..1 Coding http | ftp | mllp + http | ftp | mllp +
MessageTransport ( ( Extensible )
. . . . . address 1..1 uri Address of end-point Address of end-point
. . . . reliableCache 0..1 unsignedInt Reliable Message Cache Length (min) Reliable Message Cache Length (min)
. . . . documentation 0..1 string Messaging interface behavior details Messaging interface behavior details
. . . . event 1..* BackboneElement Declare support for this event Declare support for this event
. . . . . code 1..1 Coding Event type Event type
MessageEvent ( ( Preferred )
. . . . . category 0..1 code Consequence | Currency | Notification Consequence | Currency | Notification
MessageSignificanceCategory ( ( Required )
. . . . . mode 1..1 code sender | receiver sender | receiver
ConformanceEventMode ( ( Required )
. . . . . focus 1..1 code Resource that's focus of message Resource that's focus of message
ResourceType ( ( Required )
. . . . . request 1..1 Reference ( StructureDefinition ) Profile that describes the request Profile that describes the request
. . . . . response 1..1 Reference ( StructureDefinition ) Profile that describes the response Profile that describes the response
. . . . . documentation 0..1 string Endpoint-specific event documentation Endpoint-specific event documentation
. . . document I 0..* BackboneElement Document definition Document definition
. . . . mode 1..1 code producer | consumer producer | consumer
DocumentMode ( ( Required )
. . . . documentation 0..1 string Description of document support Description of document support
. . . . profile 1..1 Reference ( StructureDefinition ) Constraint on a resource used in the document Constraint on a resource used in the document

Documentation for this format doco Documentation for this format

UML Diagram UML Diagram

Conformance ( ( DomainResource ) An absolute URL that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this conformance statement is (or will be) published An absolute URL that is used to identify this conformance statement when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this conformance statement is (or will be) published url : : uri [0..1] [0..1] 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 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 version : : string [0..1] [0..1] A free text natural language name identifying the conformance statement A free text natural language name identifying the conformance statement name : : string [0..1] [0..1] The status of this conformance statement (this element modifies the meaning of other elements) The status of this conformance statement (this element modifies the meaning of other elements) status : : code [0..1] « [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required) The lifecycle status of a Value Set or Concept Map. (Strength=Required) ConformanceResourceStatus ! » ! » 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 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 experimental : : boolean [0..1] [0..1] The name of the individual or organization that published the conformance The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes publisher : string [0..1] date : dateTime [1..1] The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes The name of the individual or organization that published the conformance date : dateTime [1..1] publisher : string [0..1] A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP A free text natural language description of the conformance statement and its use. Typically, this is used when the conformance statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP description : : string [0..1] [0..1] The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of conformance statements useContext : CodeableConcept [0..*] « Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. (Strength=Extensible) Context of Use ValueSet + » Explains why this conformance statement is needed and why it's been constrained as it has Explains why this conformance statement is needed and why it's been constrained as it has requirements : : string [0..1] [0..1] A copyright statement relating to the conformance 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 A copyright statement relating to the conformance 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 copyright : : string [0..1] [0..1] The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind not instance of software) or a class of implementation (e.g. a desired purchase) kind : : code [1..1] « [1..1] « How a conformance statement is intended to be used. (Strength=Required) How a conformance statement is intended to be used. (Strength=Required) ConformanceStatementKind ! » ! » The version of the FHIR specification on which this conformance statement is based The version of the FHIR specification on which this conformance statement is based fhirVersion : : id [1..1] [1..1] A code that indicates whether the application accepts unknown elements or extensions when reading resources A code that indicates whether the application accepts unknown elements or extensions when reading resources acceptUnknown : : code [1..1] « [1..1] « A code that indicates whether an application accepts unknown elements or extensions when reading resources. (Strength=Required) A code that indicates whether an application accepts unknown elements or extensions when reading resources. (Strength=Required) UnknownContentCode ! » ! » A list of the formats supported by this implementation using their content types A list of the formats supported by this implementation using their content types format : : code [1..*] « [1..*] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) MimeType ! » ! » A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services 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. See further discussion in [Using Profiles]{profiling.html#profile-uses} A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services 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. See further discussion in [Using Profiles]{profiling.html#profile-uses} profile : : Reference [0..*] « [0..*] « StructureDefinition » » Contact The name of an individual to contact regarding the conformance The name of an individual to contact regarding the conformance name : : string [0..1] [0..1] Contact details for individual (if a name was provided) or the publisher Contact details for individual (if a name was provided) or the publisher telecom : : ContactPoint [0..*] [0..*] Software Name software is known by Name software is known by name : : string [1..1] [1..1] The version identifier for the software covered by this statement The version identifier for the software covered by this statement version : : string [0..1] [0..1] Date this version of the software released Date this version of the software released releaseDate : : dateTime [0..1] [0..1] Implementation Information about the specific installation that this conformance statement relates to Information about the specific installation that this conformance statement relates to description : : string [1..1] [1..1] An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces url : : uri [0..1] [0..1] Rest Identifies whether this portion of the statement is describing ability to initiate or receive restful operations Identifies whether this portion of the statement is describing ability to initiate or receive restful operations mode : : code [1..1] « [1..1] « The mode of a RESTful conformance statement. (Strength=Required) The mode of a RESTful conformance statement. (Strength=Required) RestfulConformanceMode ! » ! » Information about the system's restful capabilities that apply across all applications, such as security Information about the system's restful capabilities that apply across all applications, such as security documentation : : string [0..1] [0..1] A code that indicates how transactions are supported A code that indicates how transactions are supported transactionMode : : code [0..1] « [0..1] « A code that indicates how transactions are supported. (Strength=Required) A code that indicates how transactions are supported. (Strength=Required) TransactionMode ! » ! » An absolute URI which is a reference to the definition of a compartment hosted by the system An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by it's canonical URL compartment : : uri [0..*] [0..*] Security Server adds CORS headers when responding to requests - this enables javascript applications to use the server Server adds CORS headers when responding to requests - this enables javascript applications to use the server cors : : boolean [0..1] [0..1] Types of security services are supported/required by the system Types of security services are supported/required by the system service : : CodeableConcept [0..*] « [0..*] « Types of security services used with FHIR. (Strength=Extensible) Types of security services used with FHIR. (Strength=Extensible) RestfulSecurityService + » + » General description of how security works General description of how security works description : : string [0..1] [0..1] Certificate Mime type for certificate Mime type for certificate type : : code [0..1] « [0..1] « The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) The mime type of an attachment. Any valid mime type is allowed. (Strength=Required) MimeType ! » ! » Actual certificate Actual certificate blob : : base64Binary [0..1] [0..1] Resource A type of resource exposed via the restful interface A type of resource exposed via the restful interface type : : code [1..1] « [1..1] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses} profile : : Reference [0..1] « [0..1] « StructureDefinition » » This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API versioning : : code [0..1] « [0..1] « How the system supports versioning for a resource. (Strength=Required) How the system supports versioning for a resource. (Strength=Required) ResourceVersionPolicy ! » ! » A flag for whether the server is able to return past versions as part of the vRead operation A flag for whether the server is able to return past versions as part of the vRead operation readHistory : : boolean [0..1] [0..1] A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server A flag to indicate that the server allows or needs to allow the client to create new identities on the server (e.g. that is, the client PUTs to a location where there is no existing resource). Allowing this operation means that the server allows the client to create new identities on the server updateCreate : : boolean [0..1] [0..1] A flag that indicates that the server supports conditional create A flag that indicates that the server supports conditional create conditionalCreate : : boolean [0..1] [0..1] A flag that indicates that the server supports conditional update A flag that indicates that the server supports conditional update conditionalUpdate : : boolean [0..1] [0..1] A code that indicates how the server supports conditional delete A code that indicates how the server supports conditional delete conditionalDelete : : code [0..1] « [0..1] « A code that indicates how the server supports conditional delete. (Strength=Required) A code that indicates how the server supports conditional delete. (Strength=Required) ConditionalDeleteStatus ! » ! » A list of _include values supported by the server A list of _include values supported by the server searchInclude : : string [0..*] [0..*] A list of _revinclude (reverse include) values supported by the server A list of _revinclude (reverse include) values supported by the server searchRevInclude : : string [0..*] [0..*] ResourceInteraction Coded identifier of the operation, supported by the system resource Coded identifier of the operation, supported by the system resource code : : code [1..1] « [1..1] « Operations supported by REST at the type or instance level. (Strength=Required) Operations supported by REST at the type or instance level. (Strength=Required) TypeRestfulInteraction ! » ! » 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' 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' documentation : : string [0..1] [0..1] SearchParam The name of the search parameter used in the interface The name of the search parameter used in the interface name : : string [1..1] [1..1] An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [[[SearchParameter.url]]]) definition : : uri [0..1] [0..1] The type of value a search parameter refers to, and how the content is interpreted The type of value a search parameter refers to, and how the content is interpreted type : : code [1..1] « [1..1] « Data types allowed to be used for search parameters. (Strength=Required) Data types allowed to be used for search parameters. (Strength=Required) SearchParamType ! » ! » This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms documentation : : string [0..1] [0..1] Types of resource (if a resource is referenced) Types of resource (if a resource is referenced) target : : code [0..*] « [0..*] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » A modifier supported for the search parameter A modifier supported for the search parameter modifier : : code [0..*] « [0..*] « A supported modifier for a search parameter. (Strength=Required) A supported modifier for a search parameter. (Strength=Required) SearchModifierCode ! » ! » Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference, and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from Conformance.rest.resource.searchParam.name on the target resource type chain : : string [0..*] [0..*] SystemInteraction A coded identifier of the operation, supported by the system A coded identifier of the operation, supported by the system code : : code [1..1] « [1..1] « Operations supported by REST at the system level. (Strength=Required) Operations supported by REST at the system level. (Strength=Required) SystemRestfulInteraction ! » ! » 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 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 documentation : : string [0..1] [0..1] Operation The name of a query, which is used in the _query parameter when the query is called The name of the operation or query. For an operation, this is the name prefixed with $ and used in the url. For a query, this is the name used in the _query parameter when the query is called name : : string [1..1] [1..1] Where the formal definition can be found Where the formal definition can be found definition : : Reference [1..1] « [1..1] « OperationDefinition » » Messaging 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) 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) reliableCache : : unsignedInt [0..1] [0..1] 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 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 documentation : : string [0..1] [0..1] Endpoint A list of the messaging transport protocol(s) identifiers, supported by this endpoint A list of the messaging transport protocol(s) identifiers, supported by this endpoint protocol : : Coding [1..1] « [1..1] « The protocol used for message transport. (Strength=Extensible) The protocol used for message transport. (Strength=Extensible) MessageTransport + » + » The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier address : : uri [1..1] [1..1] Event A coded identifier of a supported messaging event A coded identifier of a supported messaging event code : : Coding [1..1] « [1..1] « One of the message events defined as part of FHIR. (Strength=Preferred) One of the message events defined as part of FHIR. (Strength=Preferred) MessageEvent ? » ? » The impact of the content of the message The impact of the content of the message category : : code [0..1] « [0..1] « The impact of the content of a message. (Strength=Required) The impact of the content of a message. (Strength=Required) MessageSignificanceCategory ! » ! » The mode of this event declaration - whether application is sender or receiver The mode of this event declaration - whether application is sender or receiver mode : : code [1..1] « [1..1] « The mode of a message conformance statement. (Strength=Required) The mode of a message conformance statement. (Strength=Required) ConformanceEventMode ! » ! » A resource associated with the event. This is the resource that defines the event A resource associated with the event. This is the resource that defines the event focus : : code [1..1] « [1..1] « One of the resource types defined as part of FHIR. (Strength=Required) One of the resource types defined as part of FHIR. (Strength=Required) ResourceType ! » ! » Information about the request for this event Information about the request for this event request : : Reference [1..1] « [1..1] « StructureDefinition » » Information about the response for this event Information about the response for this event response : : Reference [1..1] « [1..1] « StructureDefinition » » Guidance on how this event is handled, such as internal system trigger points, business rules, etc Guidance on how this event is handled, such as internal system trigger points, business rules, etc documentation : : string [0..1] [0..1] Document Mode of this document declaration - whether application is producer or consumer Mode of this document declaration - whether application is producer or consumer mode : : code [1..1] « [1..1] « Whether the application produces or consumes documents. (Strength=Required) Whether the application produces or consumes documents. (Strength=Required) DocumentMode ! » ! » 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 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 documentation : : string [0..1] [0..1] A constraint on a resource used in the document A constraint on a resource used in the document profile : : Reference [1..1] « [1..1] « StructureDefinition » » Contacts to assist a user in finding and communicating with the publisher Contacts to assist a user in finding and communicating with the publisher contact [0..*] Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation Software that is covered by this conformance statement. It is used when the conformance statement describes the capabilities of a particular software version, independent of an installation software [0..1] 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 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 implementation [0..1] Certificates associated with security profiles Certificates associated with security profiles certificate [0..*] Information about security implementation from an interface perspective - what a client needs to know Information about security implementation from an interface perspective - what a client needs to know security [0..1] Identifies a restful operation supported by the solution Identifies a restful operation supported by the solution interaction [1..*] 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 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 searchParam [0..*] A specification of the restful capabilities of the solution for a specific resource type A specification of the restful capabilities of the solution for a specific resource type resource [1..*] [0..*] A specification of restful operations supported by the system A specification of restful operations supported by the system interaction [0..*] Search parameters that are supported for searching all resources 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 Search parameters that are supported for searching all resources 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 searchParam [0..*] Definition of an operation or a named query and with its parameters and their meaning and type Definition of an operation or a named query and with its parameters and their meaning and type operation [0..*] A definition of the restful capabilities of the solution, if any A definition of the restful capabilities of the solution, if any rest [0..*] An endpoint (network accessible address) to which messages and/or replies are to be sent An endpoint (network accessible address) to which messages and/or replies are to be sent endpoint [0..*] A description of the solution's support for an event at this end-point A description of the solution's support for an event at this end-point event [1..*] A description of the messaging capabilities of the solution A description of the messaging capabilities of the solution messaging [0..*] A document definition A document definition document [0..*]

XML Template XML Template

<Conformance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical uri to reference this statement -->
 <version value="[string]"/><!-- 0..1 Logical id for this version of the statement -->
 <name value="[string]"/><!-- 0..1 Informal name for this conformance statement -->
 <

 <status value="[code]"/><!-- 1..1 draft | active | retired -->

 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 1..1 Publication Date(/time) -->

 <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) -->
 <contact>  <!-- 0..* Contact details of the publisher -->
  <

  <name value="[string]"/><!-- 0..1 Name of an individual to contact -->

  <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom>
 </contact>
 <

 <description value="[string]"/><!-- ?? 0..1 Human description of the conformance statement -->
 <

 <useContext><!-- 0..* CodeableConcept Content intends to support these contexts --></useContext>
 <requirements value="[string]"/><!-- 0..1 Why this resource has been created -->

 <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions -->
 <kind value="[code]"/><!-- 1..1 instance | capability | requirements -->
 <software>  <!-- ?? 0..1 Software that is covered by this conformance statement -->
  <name value="[string]"/><!-- 1..1 A name the software is known by -->
  <version value="[string]"/><!-- 0..1 Version covered by this statement -->
  <releaseDate value="[dateTime]"/><!-- 0..1 Date this version released -->
 </software>
 <implementation>  <!-- ?? 0..1 If this describes a specific instance -->
  <description value="[string]"/><!-- 1..1 Describes this specific instance -->
  <url value="[uri]"/><!-- 0..1 Base URL for the installation -->
 </implementation>
 <fhirVersion value="[id]"/><!-- 1..1 FHIR Version the system uses -->
 <acceptUnknown value="[code]"/><!-- 1..1 no | extensions | elements | both -->
 <format value="[code]"/><!-- 1..* formats supported (xml | json | mime type)  -->
 <profile><!-- 0..* Reference(StructureDefinition) Profiles for use cases supported --></profile>
 <rest>  <!-- ?? 0..* If the endpoint is a RESTful one -->
  <mode value="[code]"/><!-- 1..1 client | server -->
  <documentation value="[string]"/><!-- 0..1 General description of implementation -->
  <security>  <!-- 0..1 Information about security of implementation -->
   <cors value="[boolean]"/><!-- 0..1 Adds CORS Headers (http://enable-cors.org/) -->
   <service><!-- 0..* CodeableConcept OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates --></service>
   <description value="[string]"/><!-- 0..1 General description of how security works -->
   <certificate>  <!-- 0..* Certificates associated with security profiles -->
    <type value="[code]"/><!-- 0..1 Mime type for certificate  -->
    <blob value="[base64Binary]"/><!-- 0..1 Actual certificate -->
   </certificate>
  </security>
  <

  <resource>  <!-- 0..* Resource served on the REST interface -->

   <type value="[code]"/><!-- 1..1 A resource type that is supported -->
   <profile><!-- 0..1 Reference(StructureDefinition) Base System profile for all uses of resource --></profile>
   <interaction>  <!-- 1..* What operations are supported? -->
    <

    <code value="[code]"/><!-- 1..1 read | vread | update | delete | history-instance | history-type | create | search-type -->

    <documentation value="[string]"/><!-- 0..1 Anything special about operation behavior -->
   </interaction>
   <versioning value="[code]"/><!-- 0..1 no-version | versioned | versioned-update -->
   <readHistory value="[boolean]"/><!-- 0..1 Whether vRead can return past versions -->
   <updateCreate value="[boolean]"/><!-- 0..1 If update can commit to a new identity -->
   <conditionalCreate value="[boolean]"/><!-- 0..1 If allows/uses conditional create -->
   <conditionalUpdate value="[boolean]"/><!-- 0..1 If allows/uses conditional update -->
   <conditionalDelete value="[code]"/><!-- 0..1 not-supported | single | multiple - how conditional delete is supported -->
   <searchInclude value="[string]"/><!-- 0..* _include values supported by the server -->
   <searchRevInclude value="[string]"/><!-- 0..* _revinclude values supported by the server -->
   <searchParam>  <!-- 0..* Search params supported by implementation -->
    <name value="[string]"/><!-- 1..1 Name of search parameter -->
    <definition value="[uri]"/><!-- 0..1 Source of definition for parameter -->
    <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri -->
    <documentation value="[string]"/><!-- 0..1 Server-specific usage -->
    <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) -->
    <modifier value="[code]"/><!-- 0..* missing | exact | contains | not | text | in | not-in | below | above | type -->
    <chain value="[string]"/><!-- 0..* Chained names supported -->
   </searchParam>
  </resource>
  <interaction>  <!-- 0..* What operations are supported? -->
   <code value="[code]"/><!-- 1..1 transaction | search-system | history-system -->
   <documentation value="[string]"/><!-- 0..1 Anything special about operation behavior -->
  </interaction>
  <transactionMode value="[code]"/><!-- 0..1 not-supported | batch | transaction | both -->
  <searchParam><!-- 0..* Content as for Conformance.rest.resource.searchParam Search params for searching all resources --></searchParam>
  <operation>  <!-- 0..* Definition of an operation or a custom query -->
   <

   <name value="[string]"/><!-- 1..1 Name by which the operation/query is invoked -->

   <definition><!-- 1..1 Reference(OperationDefinition) The defined operation/query --></definition>
  </operation>
  <

  <compartment value="[uri]"/><!-- 0..* Compartments served/used by system -->

 </rest>
 <messaging>  <!-- ?? 0..* If messaging is supported -->
  <

  <endpoint>  <!-- 0..* Where messages should be sent -->

   <protocol><!-- 1..1 Coding http | ftp | mllp + --></protocol>
   <address value="[uri]"/><!-- 1..1 Address of end-point -->
  </endpoint>
  <reliableCache value="[unsignedInt]"/><!-- 0..1 Reliable Message Cache Length (min) -->
  <documentation value="[string]"/><!-- 0..1 Messaging interface behavior details -->
  <event>  <!-- 1..* Declare support for this event -->
   <code><!-- 1..1 Coding Event type --></code>
   <category value="[code]"/><!-- 0..1 Consequence | Currency | Notification -->
   <mode value="[code]"/><!-- 1..1 sender | receiver -->
   <focus value="[code]"/><!-- 1..1 Resource that's focus of message -->
   <request><!-- 1..1 Reference(StructureDefinition) Profile that describes the request --></request>
   <response><!-- 1..1 Reference(StructureDefinition) Profile that describes the response --></response>
   <documentation value="[string]"/><!-- 0..1 Endpoint-specific event documentation -->
  </event>
 </messaging>
 <document>  <!-- ?? 0..* Document definition -->
  <mode value="[code]"/><!-- 1..1 producer | consumer -->
  <documentation value="[string]"/><!-- 0..1 Description of document support -->
  <profile><!-- 1..1 Reference(StructureDefinition) Constraint on a resource used in the document --></profile>
 </document>
</Conformance>

JSON Template JSON Template

{doco
  "resourceType" : "Conformance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical uri to reference this statement
  "version" : "<string>", // Logical id for this version of the statement
  "name" : "<string>", // Informal name for this conformance statement
  "

  "status" : "<code>", // R!  draft | active | retired

  "experimental" : <boolean>, // If for testing purposes, not real usage
  "date" : "<dateTime>", // R!  Publication Date(/time)

  "publisher" : "<string>", // Name of the publisher (Organization or individual)
  "contact" : [{ // Contact details of the publisher
    "

    "name" : "<string>", // Name of an individual to contact

    "telecom" : [{ ContactPoint }] // Contact details for individual or publisher
  }],
  "

  "description" : "<string>", // C? Human description of the conformance statement
  "

  "useContext" : [{ CodeableConcept }], // Content intends to support these contexts
  "requirements" : "<string>", // Why this resource has been created

  "copyright" : "<string>", // Use and/or publishing restrictions
  "kind" : "<code>", // R!  instance | capability | requirements
  "software" : { // C? Software that is covered by this conformance statement
    "name" : "<string>", // R!  A name the software is known by
    "version" : "<string>", // Version covered by this statement
    "releaseDate" : "<dateTime>" // Date this version released
  },
  "implementation" : { // C? If this describes a specific instance
    "description" : "<string>", // R!  Describes this specific instance
    "url" : "<uri>" // Base URL for the installation
  },
  "fhirVersion" : "<id>", // R!  FHIR Version the system uses
  "acceptUnknown" : "<code>", // R!  no | extensions | elements | both
  "format" : ["<code>"], // R!  formats supported (xml | json | mime type) 
  "profile" : [{ Reference(StructureDefinition) }], // Profiles for use cases supported
  "rest" : [{ // C? If the endpoint is a RESTful one
    "mode" : "<code>", // R!  client | server
    "documentation" : "<string>", // General description of implementation
    "security" : { // Information about security of implementation
      "cors" : <boolean>, // Adds CORS Headers (http://enable-cors.org/)
      "service" : [{ CodeableConcept }], // OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates
      "description" : "<string>", // General description of how security works
      "certificate" : [{ // Certificates associated with security profiles
        "type" : "<code>", // Mime type for certificate 
        "blob" : "<base64Binary>" // Actual certificate
      }]
    },
    "

    "resource" : [{ // Resource served on the REST interface

      "type" : "<code>", // R!  A resource type that is supported
      "profile" : { Reference(StructureDefinition) }, // Base System profile for all uses of resource
      "interaction" : [{ // R!  What operations are supported?
        "

        "code" : "<code>", // R!  read | vread | update | delete | history-instance | history-type | create | search-type

        "documentation" : "<string>" // Anything special about operation behavior
      }],
      "versioning" : "<code>", // no-version | versioned | versioned-update
      "readHistory" : <boolean>, // Whether vRead can return past versions
      "updateCreate" : <boolean>, // If update can commit to a new identity
      "conditionalCreate" : <boolean>, // If allows/uses conditional create
      "conditionalUpdate" : <boolean>, // If allows/uses conditional update
      "conditionalDelete" : "<code>", // not-supported | single | multiple - how conditional delete is supported
      "searchInclude" : ["<string>"], // _include values supported by the server
      "searchRevInclude" : ["<string>"], // _revinclude values supported by the server
      "searchParam" : [{ // Search params supported by implementation
        "name" : "<string>", // R!  Name of search parameter
        "definition" : "<uri>", // Source of definition for parameter
        "type" : "<code>", // R!  number | date | string | token | reference | composite | quantity | uri
        "documentation" : "<string>", // Server-specific usage
        "target" : ["<code>"], // Types of resource (if a resource reference)
        "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type
        "chain" : ["<string>"] // Chained names supported
      }]
    }],
    "interaction" : [{ // What operations are supported?
      "code" : "<code>", // R!  transaction | search-system | history-system
      "documentation" : "<string>" // Anything special about operation behavior
    }],
    "transactionMode" : "<code>", // not-supported | batch | transaction | both
    "searchParam" : [{ Content as for Conformance.rest.resource.searchParam }], // Search params for searching all resources
    "operation" : [{ // Definition of an operation or a custom query
      "

      "name" : "<string>", // R!  Name by which the operation/query is invoked

      "definition" : { Reference(OperationDefinition) } // R!  The defined operation/query
    }],
    "

    "compartment" : ["<uri>"] // Compartments served/used by system

  }],
  "messaging" : [{ // C? If messaging is supported
    "

    "endpoint" : [{ // Where messages should be sent

      "protocol" : { Coding }, // R!  http | ftp | mllp +
      "address" : "<uri>" // R!  Address of end-point
    }],
    "reliableCache" : "<unsignedInt>", // Reliable Message Cache Length (min)
    "documentation" : "<string>", // Messaging interface behavior details
    "event" : [{ // R!  Declare support for this event
      "code" : { Coding }, // R!  Event type
      "category" : "<code>", // Consequence | Currency | Notification
      "mode" : "<code>", // R!  sender | receiver
      "focus" : "<code>", // R!  Resource that's focus of message
      "request" : { Reference(StructureDefinition) }, // R!  Profile that describes the request
      "response" : { Reference(StructureDefinition) }, // R!  Profile that describes the response
      "documentation" : "<string>" // Endpoint-specific event documentation
    }]
  }],
  "document" : [{ // C? Document definition
    "mode" : "<code>", // R!  producer | consumer
    "documentation" : "<string>", // Description of document support
    "profile" : { Reference(StructureDefinition) } // R!  Constraint on a resource used in the document
  }]
}

  Alternate definitions:

Alternate definitions: Schema / Schematron , Resource Profile ( , Resource Profile ( XML , , JSON ), ), Questionnaire

6.16.3.1 Terminology Bindings 6.17.3.1 Terminology Bindings

Path Definition Type Reference
Conformance.status Conformance.status The lifecycle status of a Value Set or Concept Map. The lifecycle status of a Value Set or Concept Map. Required ConformanceResourceStatus
Conformance.useContext Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. Extensible Context of Use ValueSet
Conformance.kind Conformance.kind How a conformance statement is intended to be used. How a conformance statement is intended to be used. Required ConformanceStatementKind
Conformance.acceptUnknown Conformance.acceptUnknown A code that indicates whether an application accepts unknown elements or extensions when reading resources. A code that indicates whether an application accepts unknown elements or extensions when reading resources. Required UnknownContentCode
Conformance.format
Conformance.rest.security.certificate.type Conformance.rest.security.certificate.type
The mime type of an attachment. Any valid mime type is allowed. The mime type of an attachment. Any valid mime type is allowed. Required BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
Conformance.rest.mode Conformance.rest.mode The mode of a RESTful conformance statement. The mode of a RESTful conformance statement. Required RestfulConformanceMode
Conformance.rest.security.service Conformance.rest.security.service Types of security services used with FHIR. Types of security services used with FHIR. Extensible RestfulSecurityService
Conformance.rest.resource.type
Conformance.rest.resource.searchParam.target
Conformance.messaging.event.focus Conformance.messaging.event.focus
One of the resource types defined as part of FHIR. One of the resource types defined as part of FHIR. Required http://hl7.org/fhir/valueset/resource-types ResourceType
Conformance.rest.resource.interaction.code Conformance.rest.resource.interaction.code Operations supported by REST at the type or instance level. Operations supported by REST at the type or instance level. Required TypeRestfulInteraction
Conformance.rest.resource.versioning Conformance.rest.resource.versioning How the system supports versioning for a resource. How the system supports versioning for a resource. Required ResourceVersionPolicy
Conformance.rest.resource.conditionalDelete Conformance.rest.resource.conditionalDelete A code that indicates how the server supports conditional delete. A code that indicates how the server supports conditional delete. Required ConditionalDeleteStatus
Conformance.rest.resource.searchParam.type Conformance.rest.resource.searchParam.type Data types allowed to be used for search parameters. Data types allowed to be used for search parameters. Required SearchParamType
Conformance.rest.resource.searchParam.modifier Conformance.rest.resource.searchParam.modifier A supported modifier for a search parameter. A supported modifier for a search parameter. Required SearchModifierCode
Conformance.rest.interaction.code Conformance.rest.interaction.code Operations supported by REST at the system level. Operations supported by REST at the system level. Required SystemRestfulInteraction
Conformance.rest.transactionMode Conformance.rest.transactionMode A code that indicates how transactions are supported. A code that indicates how transactions are supported. Required TransactionMode
Conformance.messaging.endpoint.protocol Conformance.messaging.endpoint.protocol The protocol used for message transport. The protocol used for message transport. Extensible MessageTransport
Conformance.messaging.event.code Conformance.messaging.event.code One of the message events defined as part of FHIR. One of the message events defined as part of FHIR. Preferred http://hl7.org/fhir/valueset/message-events MessageEvent
Conformance.messaging.event.category Conformance.messaging.event.category The impact of the content of a message. The impact of the content of a message. Required MessageSignificanceCategory
Conformance.messaging.event.mode Conformance.messaging.event.mode The mode of a message conformance statement. The mode of a message conformance statement. Required ConformanceEventMode
Conformance.document.mode Conformance.document.mode Whether the application produces or consumes documents. Whether the application produces or consumes documents. Required DocumentMode

6.16.3.2 Constraints 6.17.3.2 Constraints

  • cnf-1 : A Conformance statement SHALL have at least one of REST, messaging or document (xpath: exists(f:rest) or exists(f:messaging) or exists(f:document) : A Conformance statement SHALL have at least one of REST, messaging or document ( expression : rest or messaging or document )
  • cnf-12 : On Conformance.rest.resource: Search parameter names must be unique in the context of a resource (xpath on f:Conformance/f:rest/f:resource: count(f:searchParam)=count(distinct-values(f:searchParam/f:name/@value)) : On Conformance.rest.resource: Search parameter names must be unique in the context of a resource ( expression on Conformance.rest.resource: searchParam.select(name).distinct() )
  • cnf-13 : On Conformance.rest.resource.searchParam: Search parameters can only have chain names when the search parameter type is 'reference' (xpath on f:Conformance/f:rest/f:resource/f:searchParam: not(exists(f:chain)) or (f:type/@value = 'reference') : On Conformance.rest.resource.searchParam: Search parameters can only have chain names when the search parameter type is 'reference' ( expression on Conformance.rest.resource.searchParam: chain.empty() or type = 'reference' )
  • cnf-14 : Conformance statements of kind 'requirements' do not have software or implementation elements (xpath: not(exists(f:software) or exists(f:implementation)) or (f:kind/@value != 'requirements') : Conformance statements of kind 'requirements' do not have software or implementation elements ( expression : (software.empty() and implementation.empty()) or kind != 'requirements' )
  • cnf-15 : Conformance statements of kind 'software' do not have implementation elements (xpath: not(exists(f:implementation)) or (f:kind/@value != 'capability') : Conformance statements of kind 'software' do not have implementation elements ( expression : implementation.empty() or kind != 'capability' )
  • cnf-2 : A Conformance statement SHALL have at least one of description, software, or implementation (xpath: count(f:software | f:implementation | f:description) > 0 : A Conformance statement SHALL have at least one of description, software, or implementation ( expression : description or software or implementation )
  • cnf-3 : Messaging end-point is required (and is only permitted) when statement is for an implementation (xpath: not(exists(f:messaging/f:endpoint)) or f:kind/@value = 'instance' : Messaging end-point is required (and is only permitted) when statement is for an implementation ( expression : messaging.endpoint.empty() or kind = 'instance' )
  • cnf-7 : The set of documents must be unique by the combination of profile & mode (xpath: count(f:document[f:mode/@value='producer'])=count(distinct-values(f:document[f:mode/@value='producer']/f:profile/f:reference/@value)) and count(f:document[f:mode/@value='consumer'])=count(distinct-values(f:document[f:mode/@value='consumer']/f:profile/f:reference/@value)) : The set of documents must be unique by the combination of profile & mode ( expression : document.select(profile+mode).distinct() )
  • cnf-8 : There can only be one REST declaration per mode (xpath: count(f:rest)=count(distinct-values(f:rest/f:mode/@value)) : There can only be one REST declaration per mode ( expression : rest.select(mode).distinct() )
  • cnf-9 : On Conformance.rest: A given resource can only be described once per RESTful mode (xpath on f:Conformance/f:rest: count(f:resource)=count(distinct-values(f:resource/f:type/@value)) : On Conformance.rest: A given resource can only be described once per RESTful mode ( expression on Conformance.rest: resource.select(type).distinct() )

6.16.4 Notes: 6.17.4 Notes: The Conformance resource provides for an application to describe its use of the RESTful paradigm messaging events, or FHIR documents. Usually, an application would only describe one, but more than one may be described RESTful conformance rules: RESTful servers are required to provide this resource on demand . Servers SHALL specify what resource types and operations are supported, and SHOULD also specify profiles for each resource type. RESTful clients SHOULD publish a conformance statement The search parameters that a server supports (or a client makes use of) are specified in the resource profile that the conformance statement references Resource Types or operations that are not listed are not supported Messaging conformance rules: The interpretation of request and response depends on the mode. If the mode is sender, then request specifies what the application sends, and response specifies what it accepts. If the mode is "receiver", then this is reversed If a request or response is not specified for an event, then no rules are made for it Events that are not listed are not supported Document conformance rules: Document profiles should directly constrain the Document.information.class & type elements so that there is no ambiguity concerning which profile any given document conforms to. Other service based use of resources: Due to the variability of these services, the

  • The Conformance resource provides for an application to describe its use of the RESTful paradigm messaging events, or FHIR documents. Usually, an application would only describe one, but more than one may be described
  • RESTful conformance rules:
    • RESTful servers are required to provide this resource on demand . Servers SHALL specify what resource types and operations are supported, and SHOULD also specify profiles for each resource type.
    • RESTful clients SHOULD publish a conformance statement
    • The search parameters that a server supports (or a client makes use of) are specified in the resource profile that the conformance statement references
    • Resource Types or operations that are not listed are not supported
  • Messaging conformance rules:
    • The interpretation of request and response depends on the mode. If the mode is sender, then request specifies what the application sends, and response specifies what it accepts. If the mode is "receiver", then this is reversed
    • If a request or response is not specified for an event, then no rules are made for it
    • Events that are not listed are not supported
  • Document conformance rules:
    • Document profiles should directly constrain the Document.information.class & type elements so that there is no ambiguity concerning which profile any given document conforms to.
  • Other service based use of resources: Due to the variability of these services, the Conformance resource does not attempt to describe service based use of resources. The various service specifications will need to describe this usage in their own way. resource does not attempt to describe service based use of resources. The various service specifications will need to describe this usage in their own way.

6.16.4.1 Supporting Profiles 6.17.4.1 Supporting Profiles A conformance profile declares two different kinds of profiles for the functionality it describes. For a discussion of the use of these two types of resources, see two uses for profiles .

A conformance profile declares two different kinds of profiles for the functionality it describes. For a discussion of the use of these two types of resources, see two uses for profiles .

6.16.5 Search Parameters 6.17.5 Search Parameters Search parameters for this resource. The common parameters also apply. See

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services. for more information about searching in REST, messaging, and services.

© HL7.org 2011+. FHIR DSTU2 (v1.0.2-7202) generated on Sat, Oct 24, 2015 07:43+1100. Links: Search
Name Type Description Paths
context token A use context assigned to the conformance statement Conformance.useContext
date date The conformance statement publication date The conformance statement publication date Conformance.date
description string Text search in the description of the conformance statement Text search in the description of the conformance statement Conformance.description
event token Event code in a conformance statement Event code in a conformance statement Conformance.messaging.event.code
fhirversion token The version of FHIR The version of FHIR Conformance.version
format token formats supported (xml | json | mime type) formats supported (xml | json | mime type) Conformance.format
mode token Mode - restful (server/client) or messaging (sender/receiver) Mode - restful (server/client) or messaging (sender/receiver) Conformance.rest.mode
name string Name of the conformance statement Name of the conformance statement Conformance.name
profile publisher reference string A profile id invoked in a conformance statement Name of the publisher of the conformance statement Conformance.rest.resource.profile ( StructureDefinition ) Conformance.publisher
publisher resource string token Name of the publisher of the conformance statement Name of a resource mentioned in a conformance statement Conformance.publisher Conformance.rest.resource.type
resource resourceprofile token reference Name of a resource mentioned in a conformance statement A profile id invoked in a conformance statement Conformance.rest.resource.type Conformance.rest.resource.profile
( StructureDefinition )
security securityservice token OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates OAuth | SMART-on-FHIR | NTLM | Basic | Kerberos | Certificates Conformance.rest.security.service
software string Part of a the name of a software application Part of a the name of a software application Conformance.software.name
status token The current status of the conformance statement The current status of the conformance statement Conformance.status
supported-profile reference Profiles for use cases supported Profiles for use cases supported Conformance.profile
( StructureDefinition )
url uri The uri that identifies the conformance statement The uri that identifies the conformance statement Conformance.url
version token The version identifier of the conformance statement The version identifier of the conformance statement Conformance.version