Skip to content

HeyDonto FHIR R4 API - Conformance (1.0)

The Conformance Module represents metadata about the datatypes, resources and API features of the FHIR specification and can be used to create derived specifications.


Introduction

The core FHIR specification describes a set of resources, frameworks and APIs that are used in many different contexts in healthcare. However, there is wide variability between jurisdictions and across the healthcare ecosystem around practices, requirements, regulations, education and what actions are feasible and/or beneficial.

For this reason, the FHIR specification is a "platform specification" - it creates a common platform or foundation on which a variety of different solutions are implemented. As a consequence, this specification usually requires further adaptation to particular contexts of use.

Typically, these adaptations specify:

  • Rules about which resource elements are or are not used, and what additional elements are added that are not part of the base specification
  • Rules about which of FHIR's RESTful API, messaging and document features are used, and how
  • Rules about which terminologies are used in particular elements
  • Descriptions of how the Resource elements and API features map to local requirements and/or implementations

Note that because of the nature of the healthcare ecosystem, there may be multiple overlapping sets of adaptations - by healthcare domain, by country, by institution, and/or by vendor/implementation.

FHIR provides a set of resources that can be used to represent and share the adaptations listed above in a computable fashion. These resources are collectively called the conformance resources. Although these conformance resources can be used in isolation they are typically used in the context of an Implementation Guide or a Capability Statement:

  • Implementation Guides are documents published by a domain, institution or vendor that describe how FHIR is adapted to support a certain use case (or set of use cases). An implementation guide combines a set of conformance resources and supporting narrative into a document for use by implementers.
  • A capability statements use the conformance resources to document how a client or server has implemented FHIR, i.e. which aspects of the specification and API are implemented and how.

Contents

The content of an Implementation Guide is described using the ImplementationGuide resource, while the capability statement is represented by the CapabilityStatement resource. These two resources make use of the complete set of conformance resources to fully capture the set of adaptations they represent. Note that the CapabilityStatement resource is one of the conformance resources, the first just describing the capabilities of a system, while the latter is the set of all conformance resources, including:

  • The StructureDefinition defines how a particular structure (Resource, Extension or Data Type) is used to:
    • Describe how existing elements in resources and/or data types are used and identify existing elements that are not used. Exact rules on how to do this can be found in the section on conformance rules
    • Define extensions that can be used in resources or data types
    • Reference the Value Sets that specify the content of coded elements, see the terminology module for more details
  • The MessageDefinition describes messages that can be sent and received, including the driving event, contents to be exchanged and responsibilities on receipt
  • The OperationDefinition describes additional operations in addition to those in the base specification
  • The SearchParameter describes additional search capabilities in addition to those in the base specification
  • The CompartmentDefinition describes a logical grouping for resources, used in access control or search

Conformance resources may be used independently, not just within the context of an ImplementationGuide resource or capability statement. See the section Common use cases for examples of such uses.

The conformance resources and their relationships are shown below:

Conformance Resources Relationships

Resources shown with a dotted box are described in other sections of the specification: ValueSet, ConceptMap and StructureMap are from the section on terminology, TestScript is part of the section on Implementer Support.


Security and Privacy

The conformance resources do not represent patient-related data, and as such are less susceptible to data breaching. Some caution is required however:

  • StructureDefinitions may contain invariants formulated as structured expressions that are evaluated by external engines (i.e. xpath), which -if improperly sandboxed- could provide low-level access to the system
  • A server may be implemented in such a way that it will automatically support additional search parameters or compartments definitions uploaded to that system. This may result in searches that use large amounts of processing power, expose sensitive patient data, or both
  • If a server acts as a repository of conformance resources, it should tightly control modifications to its data: updates to conformance resources are usually managed by a review process to ensure backwards compatibility and stability. Worst case, changes to these resources may result in dependent systems running the risk of being misconfigured

Common Use Cases

Conformance resources are commonly used as part of an Implementation Guide or CapabilityStatement resource. There are many ways to use the resources independently however, including:

  • An instance of a resource may reference one or more StructureDefinitions to claim conformance to the rules laid out in those StructureDefinitions
  • A server may serve CapabilityStatement resources, effectively functioning as a discovery endpoint for services within an organization
  • A code-generation tool may use StructureDefinitions and OperationDefinitions to generate code that represents the structures as classes and operations as remotely callable functions to provide an easier programming model to a software developer
  • A server may act as a repository of NamingSystem resources, so vendors and implementers can quickly look up the URLs or oids for a given terminology or identifier system

Developmental Roadmap

A subset of the conformance resources has been tested and used in production tooling and are now normative. These include StructureDefinition and ValueSet.

Others, like CapabilityStatement, have been used widely, but not across all elements. As a consequence, these resources have a considerable number of elements marked for "trial use", while other parts are normative and will no longer change in a substantive way.

Other resources are still under development:

  • ImplementationGuide: used in the HL7 production tooling but has not received much use outside of these tools yet
  • CompartmentDefinition: was new in STU3, and as such has not undergone much production use

These resources have been mainly used in the tools used to build the FHIR publication, early-adopter implementation guides and the FHIR Foundation conformance resource registry. In future, we expect to see more widespread use of these resources in validation tooling, code-generators and more extensive model-based guide authoring tools.

Overview
Languages
Servers
Mock server

https://docs.heydonto.com/_mock/apis/fhir/conformance/

Sandbox

https://api-staging.heydonto.com/

Production

https://api.heydonto.com/

Operations
Operations

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

Query
_countnumber

Number of items to return (default=20).

Example: _count=10
_page_tokenstring

Token for fetching the next page of results.

Example: _page_token=CgYK...
_sortstring

Sort the results by a given field, e.g. _sort=family or _sort=-date.

Example: _sort=family
_elementsstring

Restrict returned fields, e.g. _elements=identifier,name.

Example: _elements=identifier,name
telecomstring

Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE].

Example: telecom=telecom=phone|555-555-5555
_idstring

Search for a specific resource by ID, e.g. _id=abc123.

Example: _id=abc123
identifierstring

Search for resources by identifier token, e.g. identifier=http://hospital.org|12345.

Example: identifier=http://hospital.org|12345
_includeArray of strings

Include related resources, e.g. _include=Appointment:patient.

patientstring

Include related patient resources, e.g. patient=Patient/[id]&.

Example: patient=patient=Patient/[id]&
_revincludeArray of strings

Reverse include related resources, e.g. _revinclude=Observation:subject.

_hasstring

Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5.

Example: _has=Observation:subject:code=http://loinc.org|1234-5
_tagstring

Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag.

Example: _tag=http://example.org/tags|sample-tag
_securitystring

Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL.

Example: _security=RBAC|CONFIDENTIAL
_profilestring

Search by profile in resource meta, e.g. _profile=http://example.org/fhir/StructureDefinition/custom-profile.

Example: _profile=http://example.org/fhir/StructureDefinition/custom-profile
curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition?_count=10&_page_token=CgYK...&_sort=family&_elements=identifier%2Cname&telecom=telecom%3Dphone%2C555-555-5555&_id=abc123&identifier=http%3A%2F%2Fhospital.org%2C12345&_include=string&patient=patient%3DPatient%2F%5Bid%5D%26&_revinclude=string&_has=Observation%3Asubject%3Acode%3Dhttp%3A%2F%2Floinc.org%2C1234-5&_tag=http%3A%2F%2Fexample.org%2Ftags%2Csample-tag&_security=RBAC%2CCONFIDENTIAL&_profile=http%3A%2F%2Fexample.org%2Ffhir%2FStructureDefinition%2Fcustom-profile' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

identifierobject(Identifier)

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

typeany

Indicates the purpose of this bundle - how it is intended to be used.

Enum"document""message""transaction""transaction-response""batch""batch-response""history""searchset""collection"
Example: "searchset"
_typeobject(Element)

Base definition for all elements in a resource.

timestampstring(date-time)(instant)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

An instant in time - known at least to the second

Example: "2024-01-01T00:00:00Z"
_timestampobject(Element)

Base definition for all elements in a resource.

totalnumber(unsignedInt)^[0]|([1-9][0-9]*)$

An integer with a value that is not negative (e.g. >= 0)

Example: 0
_totalobject(Element)

Base definition for all elements in a resource.

linkArray of objects(Bundle_Link)

A series of links that provide context to this bundle.

Example: [{"relation":"search","url":"https://api.heydonto.com/fhir/message-definition/?_count=20"},{"relation":"next","url":"https://api.heydonto.com/fhir/message-definition/?_count=20&_page_token=TOKEN"},{"relation":"first","url":"https://api.heydonto.com/fhir/message-definition/?_count=20"},{"relation":"self","url":"https://api.heydonto.com/fhir/message-definition/?_count=20"}]
entryArray of objects(MessageDefinition)

An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).

Example: [{"resourceType":"MessageDefinition","id":"example","text":{"status":"generated","div":"<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>"},"url":"http://hl7.org/fhir/MessageDefinition/example","name":"EXAMPLE","title":"Message definition base example","status":"draft","experimental":true,"date":"2016-11-09","publisher":"Health Level Seven, Int'l","contact":[{"telecom":[{"system":"url","value":"http://hl7.org"}]}],"purpose":"Defines a base example for other MessageDefinition instances.","eventCoding":{"system":"http://example.org/fhir/message-events","code":"admin-notify"},"category":"notification"}]
signatureobject(Signature)

A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.

Response
application/json
{ "resourceType": "Bundle", "type": "searchset", "total": 100, "link": [ { … }, { … }, { … }, { … } ], "entry": [ { … } ] }

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a MessageDefinition resource

Value"MessageDefinition"
Example: "MessageDefinition"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_urlobject(Element)

Base definition for all elements in a resource.

identifierArray of objects(Identifier)

A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_titleobject(Element)

Base definition for all elements in a resource.

replacesArray of strings(canonical)

A MessageDefinition that is superseded by this definition.

Example: ["http://example.org/Profile"]
statusany

The status of this message definition. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

Example: true
_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(date-time)(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

Example: "2024-01-01T00:00:00Z"
_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"telecom":[{"system":"url","value":"http://hl7.org"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.

jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the message definition is intended to be used.

purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_copyrightobject(Element)

Base definition for all elements in a resource.

basestring(canonical)^\S*$

A URI that is a reference to a canonical URL on a FHIR resource

Example: "http://example.org/Profile"
parentArray of strings(canonical)

Identifies a protocol or workflow that this MessageDefinition represents a step in.

Example: ["http://example.org/Profile"]
eventCodingobject(Coding)

A reference to a code defined by a terminology system.

eventUristring^\S*$

Event code or link to the EventDefinition.

Example: "example-string"
_eventUriobject(Element)

Base definition for all elements in a resource.

categoryany

The impact of the content of the message.

Enum"consequence""currency""notification"
Example: "notification"
_categoryobject(Element)

Base definition for all elements in a resource.

focusArray of objects(MessageDefinition_Focus)

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

responseRequiredany

Declare at a message definition level whether a response is required or only upon error or success, or never.

Enum"always""on-error""never""on-success"
Example: "always"
_responseRequiredobject(Element)

Base definition for all elements in a resource.

allowedResponseArray of objects(MessageDefinition_AllowedResponse)

Indicates what types of messages may be sent as an application-level response to this message.

graphArray of strings(canonical)

Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.

Example: ["http://example.org/Profile"]
curl -i -X POST \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resourceType": "MessageDefinition",
    "id": "example",
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>"
    },
    "url": "http://hl7.org/fhir/MessageDefinition/example",
    "name": "EXAMPLE",
    "title": "Message definition base example",
    "status": "draft",
    "experimental": true,
    "date": "2016-11-09",
    "publisher": "Health Level Seven, Int'\''l",
    "contact": [
      {
        "telecom": [
          {
            "system": "url",
            "value": "http://hl7.org"
          }
        ]
      }
    ],
    "purpose": "Defines a base example for other MessageDefinition instances.",
    "eventCoding": {
      "system": "http://example.org/fhir/message-events",
      "code": "admin-notify"
    },
    "category": "notification"
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a MessageDefinition resource

Value"MessageDefinition"
Example: "MessageDefinition"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_urlobject(Element)

Base definition for all elements in a resource.

identifierArray of objects(Identifier)

A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_titleobject(Element)

Base definition for all elements in a resource.

replacesArray of strings(canonical)

A MessageDefinition that is superseded by this definition.

Example: ["http://example.org/Profile"]
statusany

The status of this message definition. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

Example: true
_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(date-time)(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

Example: "2024-01-01T00:00:00Z"
_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"telecom":[{"system":"url","value":"http://hl7.org"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.

jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the message definition is intended to be used.

purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_copyrightobject(Element)

Base definition for all elements in a resource.

basestring(canonical)^\S*$

A URI that is a reference to a canonical URL on a FHIR resource

Example: "http://example.org/Profile"
parentArray of strings(canonical)

Identifies a protocol or workflow that this MessageDefinition represents a step in.

Example: ["http://example.org/Profile"]
eventCodingobject(Coding)

A reference to a code defined by a terminology system.

eventUristring^\S*$

Event code or link to the EventDefinition.

Example: "example-string"
_eventUriobject(Element)

Base definition for all elements in a resource.

categoryany

The impact of the content of the message.

Enum"consequence""currency""notification"
Example: "notification"
_categoryobject(Element)

Base definition for all elements in a resource.

focusArray of objects(MessageDefinition_Focus)

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

responseRequiredany

Declare at a message definition level whether a response is required or only upon error or success, or never.

Enum"always""on-error""never""on-success"
Example: "always"
_responseRequiredobject(Element)

Base definition for all elements in a resource.

allowedResponseArray of objects(MessageDefinition_AllowedResponse)

Indicates what types of messages may be sent as an application-level response to this message.

graphArray of strings(canonical)

Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.

Example: ["http://example.org/Profile"]
Response
application/json
{ "resourceType": "MessageDefinition", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>" }, "url": "http://hl7.org/fhir/MessageDefinition/example", "name": "EXAMPLE", "title": "Message definition base example", "status": "draft", "experimental": true, "date": "2016-11-09", "publisher": "Health Level Seven, Int'l", "contact": [ { … } ], "purpose": "Defines a base example for other MessageDefinition instances.", "eventCoding": { "system": "http://example.org/fhir/message-events", "code": "admin-notify" }, "category": "notification" }

Get FHIR r4 message definition by ID

Request

Security
bearer or bearer
Path
idstringrequired

ID of the MessageDefinition

siteIdstringrequired

Site identifier

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a MessageDefinition resource

Value"MessageDefinition"
Example: "MessageDefinition"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_urlobject(Element)

Base definition for all elements in a resource.

identifierArray of objects(Identifier)

A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_titleobject(Element)

Base definition for all elements in a resource.

replacesArray of strings(canonical)

A MessageDefinition that is superseded by this definition.

Example: ["http://example.org/Profile"]
statusany

The status of this message definition. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

Example: true
_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(date-time)(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

Example: "2024-01-01T00:00:00Z"
_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"telecom":[{"system":"url","value":"http://hl7.org"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.

jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the message definition is intended to be used.

purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_copyrightobject(Element)

Base definition for all elements in a resource.

basestring(canonical)^\S*$

A URI that is a reference to a canonical URL on a FHIR resource

Example: "http://example.org/Profile"
parentArray of strings(canonical)

Identifies a protocol or workflow that this MessageDefinition represents a step in.

Example: ["http://example.org/Profile"]
eventCodingobject(Coding)

A reference to a code defined by a terminology system.

eventUristring^\S*$

Event code or link to the EventDefinition.

Example: "example-string"
_eventUriobject(Element)

Base definition for all elements in a resource.

categoryany

The impact of the content of the message.

Enum"consequence""currency""notification"
Example: "notification"
_categoryobject(Element)

Base definition for all elements in a resource.

focusArray of objects(MessageDefinition_Focus)

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

responseRequiredany

Declare at a message definition level whether a response is required or only upon error or success, or never.

Enum"always""on-error""never""on-success"
Example: "always"
_responseRequiredobject(Element)

Base definition for all elements in a resource.

allowedResponseArray of objects(MessageDefinition_AllowedResponse)

Indicates what types of messages may be sent as an application-level response to this message.

graphArray of strings(canonical)

Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.

Example: ["http://example.org/Profile"]
Response
application/json
{ "resourceType": "MessageDefinition", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>" }, "url": "http://hl7.org/fhir/MessageDefinition/example", "name": "EXAMPLE", "title": "Message definition base example", "status": "draft", "experimental": true, "date": "2016-11-09", "publisher": "Health Level Seven, Int'l", "contact": [ { … } ], "purpose": "Defines a base example for other MessageDefinition instances.", "eventCoding": { "system": "http://example.org/fhir/message-events", "code": "admin-notify" }, "category": "notification" }

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

idstringrequired

ID of the MessageDefinition to update

Bodyapplication/jsonrequired
resourceTypeanyrequired

This is a MessageDefinition resource

Value"MessageDefinition"
Example: "MessageDefinition"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_urlobject(Element)

Base definition for all elements in a resource.

identifierArray of objects(Identifier)

A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_titleobject(Element)

Base definition for all elements in a resource.

replacesArray of strings(canonical)

A MessageDefinition that is superseded by this definition.

Example: ["http://example.org/Profile"]
statusany

The status of this message definition. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

Example: true
_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(date-time)(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

Example: "2024-01-01T00:00:00Z"
_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"telecom":[{"system":"url","value":"http://hl7.org"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.

jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the message definition is intended to be used.

purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_copyrightobject(Element)

Base definition for all elements in a resource.

basestring(canonical)^\S*$

A URI that is a reference to a canonical URL on a FHIR resource

Example: "http://example.org/Profile"
parentArray of strings(canonical)

Identifies a protocol or workflow that this MessageDefinition represents a step in.

Example: ["http://example.org/Profile"]
eventCodingobject(Coding)

A reference to a code defined by a terminology system.

eventUristring^\S*$

Event code or link to the EventDefinition.

Example: "example-string"
_eventUriobject(Element)

Base definition for all elements in a resource.

categoryany

The impact of the content of the message.

Enum"consequence""currency""notification"
Example: "notification"
_categoryobject(Element)

Base definition for all elements in a resource.

focusArray of objects(MessageDefinition_Focus)

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

responseRequiredany

Declare at a message definition level whether a response is required or only upon error or success, or never.

Enum"always""on-error""never""on-success"
Example: "always"
_responseRequiredobject(Element)

Base definition for all elements in a resource.

allowedResponseArray of objects(MessageDefinition_AllowedResponse)

Indicates what types of messages may be sent as an application-level response to this message.

graphArray of strings(canonical)

Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.

Example: ["http://example.org/Profile"]
curl -i -X PUT \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "resourceType": "MessageDefinition",
    "id": "example",
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>"
    },
    "url": "http://hl7.org/fhir/MessageDefinition/example",
    "name": "EXAMPLE",
    "title": "Message definition base example",
    "status": "draft",
    "experimental": true,
    "date": "2016-11-09",
    "publisher": "Health Level Seven, Int'\''l",
    "contact": [
      {
        "telecom": [
          {
            "system": "url",
            "value": "http://hl7.org"
          }
        ]
      }
    ],
    "purpose": "Defines a base example for other MessageDefinition instances.",
    "eventCoding": {
      "system": "http://example.org/fhir/message-events",
      "code": "admin-notify"
    },
    "category": "notification"
  }'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a MessageDefinition resource

Value"MessageDefinition"
Example: "MessageDefinition"
idstring(id)^[A-Za-z0-9\-\.]{1,64}$

Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive.

Example: "example-id"
metaobject(Meta)

The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

implicitRulesstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_implicitRulesobject(Element)

Base definition for all elements in a resource.

languagestring(code)^[^\s]+(\s[^\s]+)*$

A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents

Example: "sample-code"
_languageobject(Element)

Base definition for all elements in a resource.

textobject(Narrative)

A human-readable summary of the resource conveying the essential clinical and business information for the resource.

containedArray of #Account (object) or #ActivityDefinition (object) or #AdverseEvent (object) or #AllergyIntolerance (object) or #Appointment (object) or #AppointmentResponse (object) or #AuditEvent (object) or #Basic (object) or #Binary (object) or #BiologicallyDerivedProduct (object) or #BodyStructure (object) or #Bundle (object) or #CapabilityStatement (object) or #CarePlan (object) or #CareTeam (object) or #CatalogEntry (object) or #ChargeItem (object) or #ChargeItemDefinition (object) or #Claim (object) or #ClaimResponse (object) or #ClinicalImpression (object) or #CodeSystem (object) or #Communication (object) or #CommunicationRequest (object) or #CompartmentDefinition (object) or #Composition (object) or #ConceptMap (object) or #Condition (object) or #Consent (object) or #Contract (object) or #Coverage (object) or #CoverageEligibilityRequest (object) or #CoverageEligibilityResponse (object) or #DetectedIssue (object) or #Device (object) or #DeviceDefinition (object) or #DeviceMetric (object) or #DeviceRequest (object) or #DeviceUseStatement (object) or #DiagnosticReport (object) or #DocumentManifest (object) or #DocumentReference (object) or #EffectEvidenceSynthesis (object) or #Encounter (object) or #Endpoint (object) or #EnrollmentRequest (object) or #EnrollmentResponse (object) or #EpisodeOfCare (object) or #EventDefinition (object) or #Evidence (object) or #EvidenceVariable (object) or #ExampleScenario (object) or #ExplanationOfBenefit (object) or #FamilyMemberHistory (object) or #Flag (object) or #Goal (object) or #GraphDefinition (object) or #Group (object) or #GuidanceResponse (object) or #HealthcareService (object) or #ImagingStudy (object) or #Immunization (object) or #ImmunizationEvaluation (object) or #ImmunizationRecommendation (object) or #ImplementationGuide (object) or #InsurancePlan (object) or #Invoice (object) or #Library (object) or #Linkage (object) or #List (object) or #Location (object) or #Measure (object) or #MeasureReport (object) or #Media (object) or #Medication (object) or #MedicationAdministration (object) or #MedicationDispense (object) or #MedicationKnowledge (object) or #MedicationRequest (object) or #MedicationStatement (object) or #MedicinalProduct (object) or #MedicinalProductAuthorization (object) or #MedicinalProductContraindication (object) or #MedicinalProductIndication (object) or #MedicinalProductIngredient (object) or #MedicinalProductInteraction (object) or #MedicinalProductManufactured (object) or #MedicinalProductPackaged (object) or #MedicinalProductPharmaceutical (object) or #MedicinalProductUndesirableEffect (object) or #MessageDefinition (object) or #MessageHeader (object) or #MolecularSequence (object) or #NamingSystem (object) or #NutritionOrder (object) or #Observation (object) or #ObservationDefinition (object) or #OperationDefinition (object) or #OperationOutcome (object) or #Organization (object) or #OrganizationAffiliation (object) or #Parameters (object) or #Patient (object) or #PaymentNotice (object) or #PaymentReconciliation (object) or #Person (object) or #PlanDefinition (object) or #Practitioner (object) or #PractitionerRole (object) or #Procedure (object) or #Provenance (object) or #Questionnaire (object) or #QuestionnaireResponse (object) or #RelatedPerson (object) or #RequestGroup (object) or #ResearchDefinition (object) or #ResearchElementDefinition (object) or #ResearchStudy (object) or #ResearchSubject (object) or #RiskAssessment (object) or #RiskEvidenceSynthesis (object) or #Schedule (object) or #SearchParameter (object) or #ServiceRequest (object) or #Slot (object) or #Specimen (object) or #SpecimenDefinition (object) or #StructureDefinition (object) or #StructureMap (object) or #Subscription (object) or #Substance (object) or #SubstanceNucleicAcid (object) or #SubstancePolymer (object) or #SubstanceProtein (object) or #SubstanceReferenceInformation (object) or #SubstanceSourceMaterial (object) or #SubstanceSpecification (object) or #SupplyDelivery (object) or #SupplyRequest (object) or #Task (object) or #TerminologyCapabilities (object) or #TestReport (object) or #TestScript (object) or #ValueSet (object) or #VerificationResult (object) or #VisionPrescription (object)(ResourceList)

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

extensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

modifierExtensionArray of objects(Extension)

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

urlstring(uri)^\S*$

String of characters used to identify a name or a resource

Example: "https://example.org/resource"
_urlobject(Element)

Base definition for all elements in a resource.

identifierArray of objects(Identifier)

A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

versionstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_versionobject(Element)

Base definition for all elements in a resource.

namestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_nameobject(Element)

Base definition for all elements in a resource.

titlestring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_titleobject(Element)

Base definition for all elements in a resource.

replacesArray of strings(canonical)

A MessageDefinition that is superseded by this definition.

Example: ["http://example.org/Profile"]
statusany

The status of this message definition. Enables tracking the life-cycle of the content.

Enum"draft""active""retired""unknown"
Example: "draft"
_statusobject(Element)

Base definition for all elements in a resource.

experimentalboolean(boolean)^true|false$

Value of "true" or "false"

Example: true
_experimentalobject(Element)

Base definition for all elements in a resource.

datestring(date-time)(dateTime)^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-...

A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates.

Example: "2024-01-01T00:00:00Z"
_dateobject(Element)

Base definition for all elements in a resource.

publisherstring(string)^[ \r\n\t\S]+$

A sequence of Unicode characters

Example: "example-string"
_publisherobject(Element)

Base definition for all elements in a resource.

contactArray of objects(ContactDetail)

Contact details to assist a user in finding and communicating with the publisher.

Example: [{"telecom":[{"system":"url","value":"http://hl7.org"}]}]
descriptionstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_descriptionobject(Element)

Base definition for all elements in a resource.

useContextArray of objects(UsageContext)

The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.

jurisdictionArray of objects(CodeableConcept)

A legal or geographic region in which the message definition is intended to be used.

purposestring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_purposeobject(Element)

Base definition for all elements in a resource.

copyrightstring(markdown)^[ \r\n\t\S]+$

A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine

Example: "Sample markdown text"
_copyrightobject(Element)

Base definition for all elements in a resource.

basestring(canonical)^\S*$

A URI that is a reference to a canonical URL on a FHIR resource

Example: "http://example.org/Profile"
parentArray of strings(canonical)

Identifies a protocol or workflow that this MessageDefinition represents a step in.

Example: ["http://example.org/Profile"]
eventCodingobject(Coding)

A reference to a code defined by a terminology system.

eventUristring^\S*$

Event code or link to the EventDefinition.

Example: "example-string"
_eventUriobject(Element)

Base definition for all elements in a resource.

categoryany

The impact of the content of the message.

Enum"consequence""currency""notification"
Example: "notification"
_categoryobject(Element)

Base definition for all elements in a resource.

focusArray of objects(MessageDefinition_Focus)

Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.

responseRequiredany

Declare at a message definition level whether a response is required or only upon error or success, or never.

Enum"always""on-error""never""on-success"
Example: "always"
_responseRequiredobject(Element)

Base definition for all elements in a resource.

allowedResponseArray of objects(MessageDefinition_AllowedResponse)

Indicates what types of messages may be sent as an application-level response to this message.

graphArray of strings(canonical)

Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.

Example: ["http://example.org/Profile"]
Response
application/json
{ "resourceType": "MessageDefinition", "id": "example", "text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Message definition base example</div>" }, "url": "http://hl7.org/fhir/MessageDefinition/example", "name": "EXAMPLE", "title": "Message definition base example", "status": "draft", "experimental": true, "date": "2016-11-09", "publisher": "Health Level Seven, Int'l", "contact": [ { … } ], "purpose": "Defines a base example for other MessageDefinition instances.", "eventCoding": { "system": "http://example.org/fhir/message-events", "code": "admin-notify" }, "category": "notification" }

Request

Security
bearer or bearer
Path
idstringrequired

ID of the MessageDefinition to delete

siteIdstringrequired

Site identifier

curl -i -X DELETE \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition/{id}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

MessageDefinition successfully deleted

Bodyapplication/json
statusTextstringrequired
Example: "OK"
statusnumberrequired
Example: 200
Response
application/json
{ "statusText": "OK", "status": 200 }

Get FHIR r4 message definition history by ID

Request

Security
bearer or bearer
Path
siteIdstringrequired

Site identifier

idstringrequired

ID of the MessageDefinition

curl -i -X GET \
  'https://docs.heydonto.com/_mock/apis/fhir/conformance/site/{siteId}/fhir/message-definition/{id}/history' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Bodyapplication/json
resourceTypeanyrequired

This is a Bundle resource

Value"Bundle"
Example: "Bundle"
typeanyrequired

Indicates that this is a history bundle.

Value"history"
Example: "history"
entryArray of objectsrequired

A list of entries representing historical versions of the resource.

entry[].​fullUrlstringrequired
Example: "https://api.heydonto.com/message-definition/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​requestobjectrequired
entry[].​request.​methodstring
Enum"PUT""POST"
Example: "PUT"
entry[].​request.​urlstring
Example: "https://api.heydonto.com/message-definition/6eca4369-7183-446e-bab7-addc609972d3"
entry[].​resourceobjectrequired
Example: {"resourceType":"Resource","id":"example"}
entry[].​responseobjectrequired
entry[].​response.​lastModifiedstring(date-time)
Example: "2024-10-29T01:05:22.739517+00:00"
entry[].​response.​locationstring
Example: "https://api.heydonto.com/message-definition/6eca4369-7183-446e-bab7-addc609972d3/_history/MTczMDE2MzkyMjczOTUxNzAwMA"
entry[].​response.​statusstring
Example: "200 OK"
totalintegerrequired
Example: 2
Response
application/json
{ "resourceType": "Bundle", "type": "history", "entry": [ { … } ], "total": 2 }
Operations
Operations
Operations
Operations
Operations
Operations