---
{
  "title": "Cómo cargar StructureDefinition en Aidbox a través de la API FHIR",
  "description": "StructureDefinition es un recurso que describe la estructura de otros recursos, incluidos perfiles, extensiones y tipos de datos.",
  "date": "2025-04-18",
  "author": "Ivan Bagrov",
  "reading-time": "3 min",
  "tags": [
    "FHIR Profiling",
    "Aidbox"
  ]
}
---

> For the complete documentation index, see [llms.txt](https://www.health-samurai.io/llms.txt).
> Use it to discover all available pages before guessing URLs.

---
StructureDefinition es un recurso que describe la estructura de otros recursos, incluidos perfiles, extensiones y tipos de datos.

Aidbox le permite crear recursos StructureDefinition en tiempo de ejecución mediante la API FHIR. Esto le permite definir perfiles para recursos estándar, crear extensiones y diseñar recursos personalizados definidos por el usuario.

## Ejemplo del cuerpo de la solicitud para crear un perfil mediante StructureDefinition

En este ejemplo, se crea un perfil para el recurso Patient en el que el campo name está marcado como obligatorio. Esto puede realizarse mediante una solicitud REST al endpoint FHIR de StructureDefinition, incluyendo la definición del perfil en el cuerpo de la solicitud.


```javascript
POST /fhir/StructureDefinition
content-type: application/json
accept: application/json

{
	"derivation": "constraint",
	"name": "my-patient-profile",
	"abstract": false,
	"type": "Patient",
	"status": "active",
	"kind": "resource",
	"url": "http://example.org/StructureDefinition/my-patient-profile",
	"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
	"differential": {
    	"element": [
        	{
            	"id": "Patient.name",
            	"path": "Patient.name",
            	"min": 1
        	}
    	]
	}
}
```


## Ejemplo del cuerpo de la solicitud para crear una extensión mediante StructureDefinition

Se crea una extensión llamada insurance-plan para permitir referenciar un plan de seguro relacionado (el recurso InsurancePlan).


```javascript
POST /fhir/StructureDefinition

{
  "abstract": false,
  "url": "http://my.company/StructureDefinition/insurance-plan",
  "id": "insurance-plan",
  "name": "InsurancePlanReference",
  "status": "active",
  "kind": "complex-type",
  "type": "Extension",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
  "version": "0.0.1",
  "differential": {
	"element": [
  	{
    	"id": "Extension",
    	"max": "1",
    	"min": 0,
    	"path": "Extension",
    	"short": "Reference to the insurance plan"
  	},
  	{
    	"id": "Extension.url",
    	"max": "1",
    	"min": 1,
    	"path": "Extension.url",
    	"fixedUri": "http://my.company/StructureDefinition/insurance-plan"
  	},
  	{
    	"id": "Extension.value[x]",
    	"max": "1",
    	"min": 1,
    	"path": "Extension.value[x]",
    	"type": [
      	{
        	"code": "Reference",
        	"targetProfile": [
          	"http://hl7.org/fhir/StructureDefinition/InsurancePlan"
        	]
      	}
    	]
  	}
	]
  },
  "resourceType": "StructureDefinition",
  "derivation": "constraint"
}
```


## Ejemplo del cuerpo de la solicitud para crear un recurso personalizado mediante StructureDefinition

En este ejemplo, se crea un recurso personalizado llamado TutorNotificationTemplate, que contiene un único campo obligatorio template de tipo string.


```javascript
POST /fhir/StructureDefinition
content-type: application/json
accept: application/json

{
	"derivation": "specialization",
	"name": "TutorNotificationTemplate",
	"abstract": false,
	"type": "TutorNotificationTemplate",
	"status": "active",
	"kind": "resource",
	"url": "http://example.org/StructureDefinition/TutorNotificationTemplate",
	"baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
	"differential": {
    	"element": [
        	{
            	"id": "TutorNotificationTemplate",
            	"path": "TutorNotificationTemplate",
            	"min": 0,
            	"max": "*"
        	},
        	{
            	"id": "TutorNotificationTemplate.template",
            	"path": "TutorNotificationTemplate.template",
            	"min": 1,
            	"max": "1",
            	"type": [
                	{
                    	"code": "string"
                	}
            	]
        	}
    	]
	}
}
```


Puede utilizar estos ejemplos como punto de partida para crear sus propios perfiles, extensiones y recursos personalizados en el [servidor FHIR de Aidbox](https://www.health-samurai.io/fhir-server). Para escenarios más avanzados, consulte la [documentación](https://www.health-samurai.io/docs/aidbox/) oficial de Aidbox y FHIR.

Véase también: [Simplifier](/blog/simplifier) y [4 formas de cargar IGs en Aidbox](/blog/4-ways-to-upload-igs-to-aidbox-pros-and-cons).