This is Snapshot #3 for FHIR R5, released to support Connectathon 32. For a full list of available versions, see the Directory of published versions.
FHIR Infrastructure Work Group | Maturity Level: N/A | Standards Status: Informative | Compartments: Not linked to any defined compartments |
Raw Turtle (+ also see Turtle/RDF Format Specification)
General Capability Example
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- [a fhir:CapabilityStatement; fhir:nodeRole fhir:treeRoot; fhir:Resource.id [ fhir:value "example"]; # fhir:DomainResource.text [ fhir:Narrative.status [ fhir:value "generated" ]; fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <p>The EHR Server supports the following transactions for the resource Person: read, vread, \n update, history, search(name,gender), create and updates.</p>\n <p>The EHR System supports the following message: admin-notify::Person.</p>\n <p>The EHR Application has a \n <a href=\"http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796\">general document profile</a>.\n </p>\n </div>" ]; # fhir:CapabilityStatement.url [ fhir:value "urn:uuid:68d043b5-9ecf-4559-a57a-396e0d452311"]; # the identifier for this capability statement. The identifier and version establish identifiers that other specifications etc.may use to refer to the capability statement that this resource represents in a logical manner rather than in a literal (URL) fashion The identifier should be globally unique - a UUID, an OID, or a URL/URI fhir:CapabilityStatement.version [ fhir:value "20130510"]; # fhir:CapabilityStatement.name [ fhir:value "ACME-EHR"]; # fhir:CapabilityStatement.title [ fhir:value "ACME EHR capability statement"]; # fhir:CapabilityStatement.status [ fhir:value "draft"]; # fhir:CapabilityStatement.experimental [ fhir:value "true"^^xsd:boolean]; # fhir:CapabilityStatement.date [ fhir:value "2012-01-04"^^xsd:date]; # fhir:CapabilityStatement.publisher [ fhir:value "ACME Corporation"]; # fhir:CapabilityStatement.contact [ fhir:index 0; fhir:ContactDetail.name [ fhir:value "System Administrator" ]; fhir:ContactDetail.telecom [ fhir:index 0; fhir:ContactPoint.system [ fhir:value "email" ]; fhir:ContactPoint.value [ fhir:value "wile@acme.org" ] ] ]; # fhir:CapabilityStatement.description [ fhir:value "This is the FHIR capability statement for the main EHR at ACME for the private interface - it does not describe the public interface"]; # fhir:CapabilityStatement.useContext [ fhir:index 0; fhir:UsageContext.code [ fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/usage-context-type" ]; fhir:Coding.code [ fhir:value "focus" ] ]; fhir:UsageContext.valueCodeableConcept [ fhir:CodeableConcept.coding [ fhir:index 0; fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/variant-state" ]; fhir:Coding.code [ fhir:value "positive" ] ] ] ]; # fhir:CapabilityStatement.jurisdiction [ fhir:index 0; fhir:CodeableConcept.coding [ fhir:index 0; fhir:Coding.system [ fhir:value "urn:iso:std:iso:3166" ]; fhir:Coding.code [ fhir:value "US" ]; fhir:Coding.display [ fhir:value "United States of America (the)" ] ] ]; # fhir:CapabilityStatement.purpose [ fhir:value "Main EHR capability statement, published for contracting and operational support"]; # fhir:CapabilityStatement.copyright [ fhir:value "Copyright © Acme Healthcare and GoodCorp EHR Systems"]; # fhir:CapabilityStatement.kind [ fhir:value "instance"]; # fhir:CapabilityStatement.instantiates [ fhir:value "http://ihe.org/fhir/CapabilityStatement/pixm-client"; fhir:index 0; fhir:link <http://ihe.org/fhir/CapabilityStatement/pixm-client> ]; # fhir:CapabilityStatement.software [ fhir:CapabilityStatement.software.name [ fhir:value "EHR" ]; fhir:CapabilityStatement.software.version [ fhir:value "0.00.020.2134" ]; fhir:CapabilityStatement.software.releaseDate [ fhir:value "2012-01-04"^^xsd:date ] ]; # fhir:CapabilityStatement.implementation [ fhir:CapabilityStatement.implementation.description [ fhir:value "main EHR at ACME" ]; fhir:CapabilityStatement.implementation.url [ fhir:value "http://10.2.3.4/fhir" ] ]; # fhir:CapabilityStatement.fhirVersion [ fhir:value "5.0.0"]; # while the FHIR infrastructure is turning over prior to development, a version is required. fhir:CapabilityStatement.format [ fhir:value "xml"; fhir:index 0 ], [ fhir:value "json"; fhir:index 1 ]; # this system can do either xml or json. (Listing both implies full support for either, with interconversion) fhir:CapabilityStatement.patchFormat [ fhir:value "application/xml-patch+xml"; fhir:index 0 ], [ fhir:value "application/json-patch+json"; fhir:index 1 ]; # this system can perform the patch operation with either xml or json. (Listing both implies full support for either) fhir:CapabilityStatement.acceptLanguage [ fhir:value "en"; fhir:index 0 ], [ fhir:value "es"; fhir:index 1 ]; # This server supports english and spanish - that is, these are the languages it is useful to ask for content in Some resources mayb contain other languages, and only some kinds of resources may have content that changes when asking for a particular language fhir:CapabilityStatement.implementationGuide [ fhir:value "http://hl7.org/fhir/us/lab"; fhir:index 0; fhir:link <http://hl7.org/fhir/us/lab> ]; # this system supports the US Lab implementation guide fhir:CapabilityStatement.rest [ fhir:index 0; fhir:CapabilityStatement.rest.mode [ fhir:value "server" ]; # this is a server capability statement. Note that servers are required to provide \n one of these. It can easily be edited by hand - copy this, replace the metadata above, \n delete the messaging and document stuff below, and then replace the details appropriately. fhir:CapabilityStatement.rest.documentation [ fhir:value "Main FHIR endpoint for acem health" ]; fhir:CapabilityStatement.rest.security [ fhir:CapabilityStatement.rest.security.cors [ fhir:value "true"^^xsd:boolean ]; # cors support is highly recommended - mandatory if using SMART on FHIR fhir:CapabilityStatement.rest.security.service [ fhir:index 0; fhir:CodeableConcept.coding [ fhir:index 0; fhir:Coding.system [ fhir:value "http://hl7.org/fhir/restful-security-service" ]; fhir:Coding.code [ fhir:value "SMART-on-FHIR" ] ] ]; fhir:CapabilityStatement.rest.security.description [ fhir:value "See Smart on FHIR documentation" ] ]; fhir:CapabilityStatement.rest.resource [ fhir:index 0; fhir:CapabilityStatement.rest.resource.type [ fhir:value "Patient" ]; fhir:CapabilityStatement.rest.resource.profile [ fhir:value "http://registry.fhir.org/r5/StructureDefinition/7896271d-57f6-4231-89dc-dcc91eab2416"; fhir:link <http://registry.fhir.org/r5/StructureDefinition/7896271d-57f6-4231-89dc-dcc91eab2416> ]; # \n This application simply uses a profile registered directly with HL7 (an example, not a \n profile that actually exists). For the simplest \n case of a FHIR REST Server, just delete this profile reference. Profile references do \n not need to be a UUID, though a profile registry could insist that they are fhir:CapabilityStatement.rest.resource.supportedProfile [ fhir:value "http://registry.fhir.org/r5/StructureDefinition/00ab9e7a-06c7-4f77-9234-4154ca1e3347"; fhir:index 0; fhir:link <http://registry.fhir.org/r5/StructureDefinition/00ab9e7a-06c7-4f77-9234-4154ca1e3347> ]; # this system supports a specific profile for animals fhir:CapabilityStatement.rest.resource.documentation [ fhir:value "This server does not let the clients create identities." ]; fhir:CapabilityStatement.rest.resource.interaction [ fhir:index 0; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "read" ] ], [ fhir:index 1; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "vread" ]; fhir:CapabilityStatement.rest.resource.interaction.documentation [ fhir:value "Only supported for patient records since 12-Dec 2012" ] ], [ fhir:index 2; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "update" ] ], [ fhir:index 3; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "history-instance" ] ], [ fhir:index 4; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "create" ] ], [ fhir:index 5; fhir:CapabilityStatement.rest.resource.interaction.code [ fhir:value "history-type" ] ]; fhir:CapabilityStatement.rest.resource.versioning [ fhir:value "versioned-update" ]; fhir:CapabilityStatement.rest.resource.readHistory [ fhir:value "true"^^xsd:boolean ]; fhir:CapabilityStatement.rest.resource.updateCreate [ fhir:value "false"^^xsd:boolean ]; # this server doesn't let the clients create identities fhir:CapabilityStatement.rest.resource.conditionalCreate [ fhir:value "true"^^xsd:boolean ]; # it's good to support conditional create on patients; this solves a common middleware problem fhir:CapabilityStatement.rest.resource.conditionalRead [ fhir:value "full-support" ]; fhir:CapabilityStatement.rest.resource.conditionalUpdate [ fhir:value "false"^^xsd:boolean ]; fhir:CapabilityStatement.rest.resource.conditionalPatch [ fhir:value "false"^^xsd:boolean ]; fhir:CapabilityStatement.rest.resource.conditionalDelete [ fhir:value "not-supported" ]; # 0..1 If allows\/uses conditional update fhir:CapabilityStatement.rest.resource.searchInclude [ fhir:value "Patient:organization"; fhir:index 0 ]; fhir:CapabilityStatement.rest.resource.searchRevInclude [ fhir:value "Person:patient"; fhir:index 0 ]; fhir:CapabilityStatement.rest.resource.searchParam [ fhir:index 0; fhir:CapabilityStatement.rest.resource.searchParam.name [ fhir:value "identifier" ]; fhir:CapabilityStatement.rest.resource.searchParam.definition [ fhir:value "http://hl7.org/fhir/SearchParameter/Patient-identifier"; fhir:link <http://hl7.org/fhir/SearchParameter/Patient-identifier> ]; fhir:CapabilityStatement.rest.resource.searchParam.type [ fhir:value "token" ]; fhir:CapabilityStatement.rest.resource.searchParam.documentation [ fhir:value "Only supports search by institution MRN" ] ], [ fhir:index 1; fhir:CapabilityStatement.rest.resource.searchParam.name [ fhir:value "general-practitioner" ]; fhir:CapabilityStatement.rest.resource.searchParam.definition [ fhir:value "http://hl7.org/fhir/SearchParameter/Patient-general-practitioner"; fhir:link <http://hl7.org/fhir/SearchParameter/Patient-general-practitioner> ]; fhir:CapabilityStatement.rest.resource.searchParam.type [ fhir:value "reference" ] ] ]; # zero or more of these - declaration of support for a resource fhir:CapabilityStatement.rest.interaction [ fhir:index 0; fhir:CapabilityStatement.rest.interaction.code [ fhir:value "transaction" ] ], [ fhir:index 1; fhir:CapabilityStatement.rest.interaction.code [ fhir:value "history-system" ] ]; fhir:CapabilityStatement.rest.compartment [ fhir:value "http://hl7.org/fhir/CompartmentDefinition/patient"; fhir:index 0; fhir:link <http://hl7.org/fhir/CompartmentDefinition/patient> ] ]; # in a real capability statement, it's unlikely that a single capability statement would declare capability for REST, messaging and documents, though it is legal. This example does so in order to show all the parts of a capability statement fhir:CapabilityStatement.messaging [ fhir:index 0; fhir:CapabilityStatement.messaging.endpoint [ fhir:index 0; fhir:CapabilityStatement.messaging.endpoint.protocol [ fhir:Coding.system [ fhir:value "http://hl7.org/fhir/message-transport" ]; fhir:Coding.code [ fhir:value "mllp" ] ]; fhir:CapabilityStatement.messaging.endpoint.address [ fhir:value "mllp:10.1.1.10:9234" ] # LLP server at 10.1.1.10 on port 9234 ]; fhir:CapabilityStatement.messaging.reliableCache [ fhir:value "30"^^xsd:nonNegativeInteger ]; fhir:CapabilityStatement.messaging.documentation [ fhir:value "ADT A08 equivalent for external system notifications" ]; fhir:CapabilityStatement.messaging.supportedMessage [ fhir:index 0; fhir:CapabilityStatement.messaging.supportedMessage.mode [ fhir:value "receiver" ]; fhir:CapabilityStatement.messaging.supportedMessage.definition [ fhir:value "http://hl7.org/fhir/MessageDefinition/example"; fhir:link <http://hl7.org/fhir/MessageDefinition/example> ] ] ]; # a messaging capability statement. Applications are not required to make a capability statement with regard to messaging, though there is active argument that they should. fhir:CapabilityStatement.document [ fhir:index 0; fhir:CapabilityStatement.document.mode [ fhir:value "consumer" ]; fhir:CapabilityStatement.document.documentation [ fhir:value "Basic rules for all documents in the EHR system" ]; fhir:CapabilityStatement.document.profile [ fhir:value "http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796"; fhir:link <http://fhir.hl7.org/base/Profilebc054d23-75e1-4dc6-aca5-838b6b1ac81d/_history/b5fdd9fc-b021-4ea1-911a-721a60663796> ] # this is the important element: a reference to a published document profile \n note that this is a version specific reference. ]] . # a document capability statement # - ontology header ------------------------------------------------------------ [a owl:Ontology; owl:imports fhir:fhir.ttl] . # -------------------------------------------------------------------------------------
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.
FHIR ®© HL7.org 2011+. FHIR R5 Ballot hl7.fhir.core#5.0.0-snapshot3 generated on Wed, Dec 14, 2022 07:16+1100.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R4B |
Compare to R5 Draft |
|
Propose a change