# Get FHIR r4 compartment definitions Endpoint: GET /site/{siteId}/fhir/compartment-definition Version: 1.0 Security: bearer, bearer ## Path parameters: - `siteId` (string, required) Site identifier ## Query parameters: - `_count` (number) Number of items to return (default=20). Example: 10 - `_page_token` (string) Token for fetching the next page of results. Example: "CgYK..." - `_sort` (string) Sort the results by a given field, e.g. _sort=family or _sort=-date. Example: "family" - `_elements` (string) Restrict returned fields, e.g. _elements=identifier,name. Example: "identifier,name" - `telecom` (string) Filter by resource telecom, e.g. date=[SYSTEM]|[VALUE]. Example: "telecom=phone|555-555-5555" - `_id` (string) Search for a specific resource by ID, e.g. _id=abc123. Example: "abc123" - `identifier` (string) Search for resources by identifier token, e.g. identifier=http://hospital.org|12345. Example: "http://hospital.org|12345" - `_include` (string) Include related resources, e.g. _include=Appointment:patient. Example: "Appointment:patient" - `patient` (string) Include related patient resources, e.g. patient=Patient/[id]&. Example: "patient=Patient/[id]&" - `_revinclude` (string) Reverse include related resources, e.g. _revinclude=Observation:subject. Example: "Observation:subject" - `_has` (string) Reverse chaining, e.g. _has:Observation:subject:code=http://loinc.org|1234-5. Example: "Observation:subject:code=http://loinc.org|1234-5" - `_tag` (string) Search by tag on the resource meta, e.g. _tag=http://example.org/tags|sample-tag. Example: "http://example.org/tags|sample-tag" - `_security` (string) Search by security label on resource meta, e.g. _security=RBAC|CONFIDENTIAL. Example: "RBAC|CONFIDENTIAL" - `_profile` (string) Search by profile in resource meta, e.g. _profile=http://example.org/fhir/StructureDefinition/custom-profile. Example: "http://example.org/fhir/StructureDefinition/custom-profile" ## Response 200 fields (application/json): - `resourceType` (any, required) This is a Bundle resource Enum: "Bundle" - `id` (string) 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" - `meta` (object) 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. - `meta.id` (string) An extension object type #string. Example: "example-string" - `meta.extension` (array) May be used to represent additional information that is not part of the basic definition of the element. 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. - `meta.versionId` (object) An extension object type #id. - `meta._versionId` (object) An extension object type #Element. - `meta.lastUpdated` (object) An extension object type #instant. - `meta._lastUpdated` (object) An extension object type #Element. - `meta.source` (string) An extension object type #uri. Example: "https://example.org/resource" - `meta._source` (object) An extension object type #Element. - `meta.profile` (array) A list of profiles (references to [[[StructureDefinition]]] resources) that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]]. Example: ["http://example.org/Profile"] - `meta.security` (array) Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure. - `meta.tag` (array) Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource. - `implicitRules` (string) String of characters used to identify a name or a resource Example: "https://example.org/resource" - `_implicitRules` (object) Base definition for all elements in a resource. - `language` (string) 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" - `_language` (object) Base definition for all elements in a resource. - `identifier` (object) An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. - `identifier.use` (any) The purpose of this identifier. Enum: "usual", "official", "temp", "secondary", "old" - `identifier._use` (object) An extension object type #Element. - `identifier.type` (object) An extension object type #CodeableConcept. - `identifier.system` (string) An extension object type #uri. Example: "https://example.org/resource" - `identifier._system` (object) An extension object type #Element. - `identifier.value` (string) An extension object type #string. Example: "example-string" - `identifier._value` (object) An extension object type #Element. - `identifier.period` (object) An extension object type #Period. - `identifier.assigner` (object) An extension object type #Reference. - `type` (any) 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" - `_type` (object) Base definition for all elements in a resource. - `timestamp` (string) An instant in time - known at least to the second Example: "2024-01-01T00:00:00Z" - `_timestamp` (object) Base definition for all elements in a resource. - `total` (number) An integer with a value that is not negative (e.g. >= 0) - `_total` (object) Base definition for all elements in a resource. - `link` (array) A series of links that provide context to this bundle. Example: [{"relation":"search","url":"https://api.heydonto.com/fhir/compartment-definition/?_count=20"},{"relation":"next","url":"https://api.heydonto.com/fhir/compartment-definition/?_count=20&_page_token=TOKEN"},{"relation":"first","url":"https://api.heydonto.com/fhir/compartment-definition/?_count=20"},{"relation":"self","url":"https://api.heydonto.com/fhir/compartment-definition/?_count=20"}] - `link.modifierExtension` (array) May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained 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 can 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). - `link.relation` (string) An extension object type #string. Example: "example-string" - `link._relation` (object) An extension object type #Element. - `link.url` (string) An extension object type #uri. Example: "https://example.org/resource" - `link._url` (object) An extension object type #Element. - `entry` (array) An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only). Example: [{"resourceType":"CompartmentDefinition","id":"example","text":{"status":"generated","div":"

Generated Narrative with Details

id: example

url: http://hl7.org/fhir/CompartmentDefinition/example

name: EXAMPLE

status: draft

experimental: true

date: 24/02/2017

publisher: Health Level Seven International (FHIR Infrastructure)

contact:

description: The set of resources associated with a particular Device (example with Communication and CommunicationRequest resourses only).

useContext:

purpose: Provides an example of a FHIR compartment definition based on the Device resource type.

code: Device

search: true

resource

code: Communication

param: sender, recipient

documentation: The device used as the message sender and recipient

resource

code: CommunicationRequest

param: sender, recipient

documentation: The device used as the message sender and recipient

"},"url":"http://hl7.org/fhir/CompartmentDefinition/example","name":"EXAMPLE","status":"draft","experimental":true,"date":"2017-02-24","publisher":"Health Level Seven International (FHIR Infrastructure)","contact":[{"name":"[string]","telecom":[{"system":"url","value":"http://hl7.org/fhir"}]}],"description":"The set of resources associated with a particular Device (example with Communication and CommunicationRequest resourses only).","useContext":[{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/resource-types","code":"Device"}]}}],"purpose":"Provides an example of a FHIR compartment definition based on the Device resource type.","code":"Device","search":true,"resource":[{"code":"Communication","param":["sender","recipient"],"documentation":"The device used as the message sender and recipient"},{"code":"CommunicationRequest","param":["sender","recipient"],"documentation":"The device used as the message sender and recipient"}]}] - `entry.resourceType` (any, required) This is a CompartmentDefinition resource Enum: "CompartmentDefinition" - `entry.text` (object) A human-readable summary of the resource conveying the essential clinical and business information for the resource. - `entry.text.status` (any) The status of the narrative - whether it's entirely generated (from just the defined data or the extensions too), or whether a human authored it and it may contain additional data. Enum: "generated", "extensions", "additional", "empty" - `entry.text._status` (object) An extension object type #Element. - `entry.text.div` (string, required) An extension object type #xhtml. Example: "
Example
" - `entry.contained` (array) 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. - `entry.extension` (array) 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. - `entry.extension.valueBase64Binary` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "U2FtcGxl" - `entry.extension._valueBase64Binary` (object) An extension object type #Element. - `entry.extension.valueBoolean` (boolean) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: true - `entry.extension._valueBoolean` (object) An extension object type #Element. - `entry.extension.valueCanonical` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "http://example.org/Profile" - `entry.extension._valueCanonical` (object) An extension object type #Element. - `entry.extension.valueCode` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "sample-code" - `entry.extension._valueCode` (object) An extension object type #Element. - `entry.extension.valueDate` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "2024-01-01" - `entry.extension._valueDate` (object) An extension object type #Element. - `entry.extension.valueDateTime` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "2024-01-01T00:00:00Z" - `entry.extension._valueDateTime` (object) An extension object type #Element. - `entry.extension.valueDecimal` (number) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: 1.23 - `entry.extension._valueDecimal` (object) An extension object type #Element. - `entry.extension.valueId` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "example-id" - `entry.extension._valueId` (object) An extension object type #Element. - `entry.extension.valueInstant` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "2024-01-01T00:00:00Z" - `entry.extension._valueInstant` (object) An extension object type #Element. - `entry.extension.valueInteger` (number) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: 1 - `entry.extension._valueInteger` (object) An extension object type #Element. - `entry.extension.valueMarkdown` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "Sample markdown text" - `entry.extension._valueMarkdown` (object) An extension object type #Element. - `entry.extension.valueOid` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "urn:oid:1.2.3.4.5" - `entry.extension._valueOid` (object) An extension object type #Element. - `entry.extension.valuePositiveInt` (number) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: 1 - `entry.extension._valuePositiveInt` (object) An extension object type #Element. - `entry.extension.valueString` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "example-string" - `entry.extension._valueString` (object) An extension object type #Element. - `entry.extension.valueTime` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "12:00:00" - `entry.extension._valueTime` (object) An extension object type #Element. - `entry.extension.valueUnsignedInt` (number) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). - `entry.extension._valueUnsignedInt` (object) An extension object type #Element. - `entry.extension.valueUri` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "https://example.org/resource" - `entry.extension._valueUri` (object) An extension object type #Element. - `entry.extension.valueUrl` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "https://example.org" - `entry.extension._valueUrl` (object) An extension object type #Element. - `entry.extension.valueUuid` (string) Value of extension - must be one of a constrained set of the data types (see [Extensibility](https://hl7.org/fhir/extensibility.html) for a list). Example: "urn:uuid:123e4567-e89b-12d3-a456-426614174000" - `entry.extension._valueUuid` (object) An extension object type #Element. - `entry.extension.valueAddress` (object) An extension object type #Address. - `entry.extension.valueAge` (object) An extension object type #Age. - `entry.extension.valueAnnotation` (object) An extension object type #Annotation. - `entry.extension.valueAttachment` (object) An extension object type #Attachment. - `entry.extension.valueCodeableConcept` (object) An extension object type #CodeableConcept. - `entry.extension.valueCoding` (object) An extension object type #Coding. - `entry.extension.valueContactPoint` (object) An extension object type #ContactPoint. - `entry.extension.valueCount` (object) An extension object type #Count. - `entry.extension.valueDistance` (object) An extension object type #Distance. - `entry.extension.valueDuration` (object) An extension object type #Duration. - `entry.extension.valueHumanName` (object) An extension object type #HumanName. - `entry.extension.valueIdentifier` (object) An extension object type #Identifier. - `entry.extension.valueMoney` (object) An extension object type #Money. - `entry.extension.valuePeriod` (object) An extension object type #Period. - `entry.extension.valueQuantity` (object) An extension object type #Quantity. - `entry.extension.valueRange` (object) An extension object type #Range. - `entry.extension.valueRatio` (object) An extension object type #Ratio. - `entry.extension.valueReference` (object) An extension object type #Reference. - `entry.extension.valueSampledData` (object) An extension object type #SampledData. - `entry.extension.valueSignature` (object) An extension object type #Signature. - `entry.extension.valueTiming` (object) An extension object type #Timing. - `entry.extension.valueContactDetail` (object) An extension object type #ContactDetail. - `entry.extension.valueContributor` (object) An extension object type #Contributor. - `entry.extension.valueDataRequirement` (object) An extension object type #DataRequirement. - `entry.extension.valueExpression` (object) An extension object type #Expression. - `entry.extension.valueParameterDefinition` (object) An extension object type #ParameterDefinition. - `entry.extension.valueRelatedArtifact` (object) An extension object type #RelatedArtifact. - `entry.extension.valueTriggerDefinition` (object) An extension object type #TriggerDefinition. - `entry.extension.valueUsageContext` (object) An extension object type #UsageContext. - `entry.extension.valueDosage` (object) An extension object type #Dosage. - `entry.extension.valueMeta` (object) An extension object type #Meta. - `entry.modifierExtension` (array) 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). - `entry.url` (string) String of characters used to identify a name or a resource Example: "https://example.org/resource" - `entry._url` (object) Base definition for all elements in a resource. - `entry.version` (string) A sequence of Unicode characters Example: "example-string" - `entry._version` (object) Base definition for all elements in a resource. - `entry.name` (string) A sequence of Unicode characters Example: "example-string" - `entry._name` (object) Base definition for all elements in a resource. - `entry.status` (any) The status of this compartment definition. Enables tracking the life-cycle of the content. Enum: "draft", "active", "retired", "unknown" - `entry._status` (object) Base definition for all elements in a resource. - `entry.experimental` (boolean) Value of "true" or "false" Example: true - `entry._experimental` (object) Base definition for all elements in a resource. - `entry.date` (string) 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" - `entry._date` (object) Base definition for all elements in a resource. - `entry.publisher` (string) A sequence of Unicode characters Example: "example-string" - `entry._publisher` (object) Base definition for all elements in a resource. - `entry.contact` (array) Contact details to assist a user in finding and communicating with the publisher. Example: [{"name":"[string]","telecom":[{"system":"url","value":"http://hl7.org/fhir"}]}] - `entry.contact.name` (string) An extension object type #string. Example: "example-string" - `entry.contact._name` (object) An extension object type #Element. - `entry.contact.telecom` (array) The contact details for the individual (if a name was provided) or the organization. - `entry.description` (string) A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine Example: "Sample markdown text" - `entry._description` (object) Base definition for all elements in a resource. - `entry.useContext` (array) 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 compartment definition instances. Example: [{"code":{"system":"http://terminology.hl7.org/CodeSystem/usage-context-type","code":"focus"},"valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/resource-types","code":"Device"}]}}] - `entry.useContext.code` (object, required) An extension object type #Coding. - `entry.purpose` (string) A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine Example: "Sample markdown text" - `entry._purpose` (object) Base definition for all elements in a resource. - `entry.code` (any) Which compartment this definition describes. Enum: "Patient", "Encounter", "RelatedPerson", "Practitioner", "Device" - `entry._code` (object) Base definition for all elements in a resource. - `entry.search` (boolean) Value of "true" or "false" Example: true - `entry._search` (object) Base definition for all elements in a resource. - `entry.resource` (array) Information about how a resource is related to the compartment. Example: [{"code":"Communication","param":["sender","recipient"],"documentation":"The device used as the message sender and recipient"},{"code":"CommunicationRequest","param":["sender","recipient"],"documentation":"The device used as the message sender and recipient"}] - `entry.resource.code` (string) An extension object type #code. Example: "sample-code" - `entry.resource._code` (object) An extension object type #Element. - `entry.resource.param` (array) The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,. Example: ["example-string"] - `entry.resource._param` (array) Extensions for param - `entry.resource.documentation` (string) An extension object type #string. Example: "example-string" - `entry.resource._documentation` (object) An extension object type #Element. - `signature` (object) 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. - `signature.type` (array, required) An indication of the reason that the entity signed this document. This may be explicitly included as part of the signature information and can be used when determining accountability for various actions concerning the document. - `signature.when` (object) An extension object type #instant. - `signature._when` (object) An extension object type #Element. - `signature.who` (object, required) An extension object type #Reference. - `signature.onBehalfOf` (object) An extension object type #Reference. - `signature.targetFormat` (string) An extension object type #code. Example: "sample-code" - `signature._targetFormat` (object) An extension object type #Element. - `signature.sigFormat` (string) An extension object type #code. Example: "sample-code" - `signature._sigFormat` (object) An extension object type #Element. - `signature.data` (string) An extension object type #base64Binary. Example: "U2FtcGxl" - `signature._data` (object) An extension object type #Element. ## Response 401 fields (application/json): - `message` (string, required) Error message indicating unauthorized access. Example: "Unauthorized" - `statusCode` (number, required) HTTP status code for unauthorized access. Example: 401