diff --git a/docs/solutions/aidbox-+-fhir-app-portal/getting-started/run-aidbox-+-fhir-portal-locally.md b/docs/solutions/aidbox-+-fhir-app-portal/getting-started/run-aidbox-+-fhir-portal-locally.md index e013e9e6e..df861aaae 100644 --- a/docs/solutions/aidbox-+-fhir-app-portal/getting-started/run-aidbox-+-fhir-portal-locally.md +++ b/docs/solutions/aidbox-+-fhir-app-portal/getting-started/run-aidbox-+-fhir-portal-locally.md @@ -360,32 +360,58 @@ Create `initBundleDeveloper.json` file in the same folder alongside with `docker "entry": [ { "resource": { - "resourceType": "FHIRSchema", + "resourceType": "StructureDefinition", "url": "http://aidbox.app/StructureDefinition/Client/created-by", "id": "client-created-by", - "base": "Extension", "name": "client-created-by", + "status": "active", + "abstract": false, "kind": "complex-type", "type": "Extension", - "version": "0.0.1", - "elements": { - "url": { - "fixed": "http://aidbox.app/StructureDefinition/Client/created-by" - }, - "value": { - "choices": ["valueReference"] - }, - "valueReference": { - "type": "Reference", - "refers": ["User"], - "choiceOf": "value" + "context": [ + { + "type": "element", + "expression": "Client" } - }, - "derivation": "constraint" + ], + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "version": "0.0.1", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "min": 0, + "max": "1" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "min": 1, + "max": "1", + "fixedUri": "http://aidbox.app/StructureDefinition/Client/created-by" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://health-samurai.io/fhir/core/StructureDefinition/User" + ] + } + ] + } + ] + } }, "request": { "method": "PUT", - "url": "FHIRSchema/client-created-by" + "url": "StructureDefinition/client-created-by" } }, { @@ -408,37 +434,63 @@ Create `initBundleDeveloper.json` file in the same folder alongside with `docker }, { "resource": { - "resourceType": "FHIRSchema", + "resourceType": "StructureDefinition", "url": "http://aidbox.app/StructureDefinition/Client/status", "id": "client-status", - "base": "Extension", "name": "client-status", + "status": "active", + "abstract": false, "kind": "complex-type", "type": "Extension", + "context": [ + { + "type": "element", + "expression": "Client" + } + ], + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", "version": "0.0.2", - "elements": { - "url": { - "fixed": "http://aidbox.app/StructureDefinition/Client/status" - }, - "value": { - "choices": ["valueCode"] - }, - "valueCode": { - "type": "code", - "choiceOf": "value", - "constraints": { - "enum-client-status": { - "severity": "error", - "expression": "%context.subsetOf('draft' | 'review' | 'active' | 'rejected')" - } + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "min": 0, + "max": "1" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "min": 1, + "max": "1", + "fixedUri": "http://aidbox.app/StructureDefinition/Client/status" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "enum-client-status", + "severity": "error", + "human": "Status should be 'draft', 'review', 'active' or 'rejected'", + "expression": "%context.subsetOf('draft' | 'review' | 'active' | 'rejected')" + } + ] } - } - }, - "derivation": "constraint" + ] + } }, "request": { "method": "PUT", - "url": "FHIRSchema/client-status" + "url": "StructureDefinition/client-status" } }, { @@ -1009,32 +1061,58 @@ Create `initBundleAdmin.json` file in the same folder alongside with `docker-com "entry": [ { "resource": { - "resourceType": "FHIRSchema", + "resourceType": "StructureDefinition", "url": "http://aidbox.app/StructureDefinition/Client/created-by", "id": "client-created-by", - "base": "Extension", "name": "client-created-by", + "status": "active", + "abstract": false, "kind": "complex-type", "type": "Extension", - "version": "0.0.1", - "elements": { - "url": { - "fixed": "http://aidbox.app/StructureDefinition/Client/created-by" - }, - "value": { - "choices": ["valueReference"] - }, - "valueReference": { - "type": "Reference", - "refers": ["User"], - "choiceOf": "value" + "context": [ + { + "type": "element", + "expression": "Client" } - }, - "derivation": "constraint" + ], + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "version": "0.0.1", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "min": 0, + "max": "1" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "min": 1, + "max": "1", + "fixedUri": "http://aidbox.app/StructureDefinition/Client/created-by" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "max": "1", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://health-samurai.io/fhir/core/StructureDefinition/User" + ] + } + ] + } + ] + } }, "request": { "method": "PUT", - "url": "FHIRSchema/client-created-by" + "url": "StructureDefinition/client-created-by" } }, { @@ -1057,37 +1135,63 @@ Create `initBundleAdmin.json` file in the same folder alongside with `docker-com }, { "resource": { - "resourceType": "FHIRSchema", + "resourceType": "StructureDefinition", "url": "http://aidbox.app/StructureDefinition/Client/status", "id": "client-status", - "base": "Extension", "name": "client-status", + "status": "active", + "abstract": false, "kind": "complex-type", "type": "Extension", + "context": [ + { + "type": "element", + "expression": "Client" + } + ], + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", "version": "0.0.2", - "elements": { - "url": { - "fixed": "http://aidbox.app/StructureDefinition/Client/status" - }, - "value": { - "choices": ["valueCode"] - }, - "valueCode": { - "type": "code", - "choiceOf": "value", - "constraints": { - "enum-client-status": { - "severity": "error", - "expression": "%context.subsetOf('draft' | 'review' | 'active' | 'rejected')" - } + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "min": 0, + "max": "1" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "min": 1, + "max": "1", + "fixedUri": "http://aidbox.app/StructureDefinition/Client/status" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "max": "1", + "type": [ + { + "code": "code" + } + ], + "constraint": [ + { + "key": "enum-client-status", + "severity": "error", + "human": "Status should be 'draft', 'review', 'active' or 'rejected'", + "expression": "%context.subsetOf('draft' | 'review' | 'active' | 'rejected')" + } + ] } - } - }, - "derivation": "constraint" + ] + } }, "request": { "method": "PUT", - "url": "FHIRSchema/client-status" + "url": "StructureDefinition/client-status" } }, { @@ -1383,55 +1487,6 @@ Create `initBundleAdmin.json` file in the same folder alongside with `docker-com "url": "DocumentReference/smartbox-privacy" } }, - { - "resource": { - "resourceType": "FHIRSchema", - "url": "http://smartbox.hs/StructureDefinition/AwsAccount", - "id": "AwsAccount", - "name": "AwsAccount", - "type": "AwsAccount", - "kind": "resource", - "derivation": "specialization", - "elements": { - "region": { - "type": "string" - }, - "access-key-id": { - "type": "string" - }, - "secret-access-key": { - "type": "string" - } - } - }, - "request": { - "method": "PUT", - "url": "FHIRSchema/AwsAccount" - } - }, - { - "resource": { - "resourceType": "FHIRSchema", - "url": "http://smartbox.hs/StructureDefinition/GcpServiceAccount", - "id": "GcpServiceAccount", - "name": "GcpServiceAccount", - "type": "GcpServiceAccount", - "kind": "resource", - "derivation": "specialization", - "elements": { - "private-key": { - "type": "string" - }, - "service-account-email": { - "type": "string" - } - } - }, - "request": { - "method": "PUT", - "url": "FHIRSchema/GcpServiceAccount" - } - }, { "resource": { "resourceType": "AuthConfig", diff --git a/docs/tutorials/artifact-registry-tutorials/custom-resources/README.md b/docs/tutorials/artifact-registry-tutorials/custom-resources/README.md index a5249b7f8..12dc710ba 100644 --- a/docs/tutorials/artifact-registry-tutorials/custom-resources/README.md +++ b/docs/tutorials/artifact-registry-tutorials/custom-resources/README.md @@ -28,4 +28,4 @@ Use FHIR StructureDefinition or FHIR Schema to define a custom resource. Althoug \ Aidbox provides the following mechanisms to create custom resource types: - [Using StructureDefnition](./custom-resources-using-structuredefinition.md) FHIR resource. -- [Using FHIRSchema](./custom-resources-using-fhir-schema.md) custom Aidbox resource. +- [Using FHIRSchema](./custom-resources-using-fhir-schema.md) custom Aidbox resource — available in Aidbox versions 2606 and earlier; the `POST/PUT /fhir/FHIRSchema` endpoints were removed in the July 2026 release. diff --git a/docs/tutorials/artifact-registry-tutorials/custom-resources/custom-resources-using-fhir-schema.md b/docs/tutorials/artifact-registry-tutorials/custom-resources/custom-resources-using-fhir-schema.md index ed482f55f..c75d67872 100644 --- a/docs/tutorials/artifact-registry-tutorials/custom-resources/custom-resources-using-fhir-schema.md +++ b/docs/tutorials/artifact-registry-tutorials/custom-resources/custom-resources-using-fhir-schema.md @@ -8,8 +8,10 @@ description: Create custom FHIR resources using FHIR Schema in Aidbox with valid Custom resources are defined by individual organizations or projects to meet specific needs not covered by the FHIR standard. While these resources can be useful within a particular ecosystem, they may not be interoperable with other systems that do not recognize or support those custom resources. {% endhint %} -{% hint style="info" %} -**Recommended alternative.** The recommended way to define custom resources in Aidbox is by using [StructureDefinition](custom-resources-using-structuredefinition.md). StructureDefinition is a standard FHIR resource, making your definitions portable and compatible with the broader FHIR ecosystem and tooling (e.g. FSH/SUSHI). Consider using StructureDefinition unless you have a specific reason to use FHIR Schema. +{% hint style="danger" %} +**Removed in the July 2026 release.** The `POST /fhir/FHIRSchema` and `PUT /fhir/FHIRSchema` endpoints have been removed, including `FHIRSchema` entries in transaction bundles and [init bundles](../../../configuration/init-bundle.md). The instructions below apply only to Aidbox versions 2606 and earlier. + +Define custom resources with [StructureDefinition](custom-resources-using-structuredefinition.md) instead. StructureDefinition is a standard FHIR resource, making your definitions portable and compatible with the broader FHIR ecosystem and tooling (e.g. FSH/SUSHI). {% endhint %} FHIR Schema is a community project that aims to simplify the implementation and validation of FHIR (Fast Healthcare Interoperability Resources) resources across different programming languages. It also provides the ability to define custom resources. You can read more about the syntax and validation algorithms in the [FHIR Schema documentation](https://fhir-schema.github.io/fhir-schema/). @@ -24,7 +26,7 @@ To begin using custom FHIR resources, enable the FHIRSchema validator engine in ## FHIR Schema endpoint -Aidbox provides the `/fhir/FHIRSchema` POST endpoint for creating FHIRSchema instances. Examples of usage are given in this article below. +In Aidbox versions 2606 and earlier, Aidbox provides the `/fhir/FHIRSchema` POST endpoint for creating FHIRSchema instances. Examples of usage are given in this article below. {% tabs %} {% tab title="Request" %} diff --git a/docs/tutorials/artifact-registry-tutorials/define-extensions/extensions-using-fhirschema.md b/docs/tutorials/artifact-registry-tutorials/define-extensions/extensions-using-fhirschema.md index 11fa79d72..acf755aa0 100644 --- a/docs/tutorials/artifact-registry-tutorials/define-extensions/extensions-using-fhirschema.md +++ b/docs/tutorials/artifact-registry-tutorials/define-extensions/extensions-using-fhirschema.md @@ -4,13 +4,19 @@ description: Define FHIR extensions in Aidbox using FHIRSchema format for extend # Extensions using FHIRSchema +{% hint style="danger" %} +**Removed in the July 2026 release.** The `POST /fhir/FHIRSchema` and `PUT /fhir/FHIRSchema` endpoints have been removed, including `FHIRSchema` entries in transaction bundles and [init bundles](../../../configuration/init-bundle.md). The instructions below apply only to Aidbox versions 2606 and earlier. + +Define extensions with [StructureDefinition](extensions-using-structuredefinition.md) instead. +{% endhint %} + When Aidbox is configured with [FHIRSchema mode](../../../modules/profiling-and-validation/fhir-schema-validator/), it is possible to define Extension in [FHIRSchema format](https://fhir-schema.github.io/fhir-schema/). See also [Extensions using StructureDefinition](extensions-using-structuredefinition.md). ## Example -To create the extension, use `POST /fhir/FHIRSchema` endpoint. +In Aidbox versions 2606 and earlier, to create the extension, use `POST /fhir/FHIRSchema` endpoint. ```http POST /fhir/FHIRSchema