{"id":8759,"date":"2020-06-08T21:10:26","date_gmt":"2020-06-09T04:10:26","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=8759"},"modified":"2025-06-13T17:21:42","modified_gmt":"2025-06-14T00:21:42","slug":"implement-fhir-rest-server-with-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/implement-fhir-rest-server-with-couchbase\/","title":{"rendered":"Implementar servidor REST FHIR con Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Este es un seguimiento de mi post anterior que cubr\u00eda el tema del Modelo de Datos FHIR con Couchbase N1QL. En este blog, voy a discutir el tema de c\u00f3mo implementar la b\u00fasqueda FHIR REST API Server sobre los servicios de Couchbase, incluyendo ejemplos reales de c\u00f3mo los diferentes patrones de b\u00fasqueda FHIR trabajan con Couchbase utilizando los datos sint\u00e9ticos FHIR proporcionados por Synthea.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Consulte mi blog anterior para obtener informaci\u00f3n general sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/fhir-data-model-with-couchbase-n1ql\/\">Modelo de datos FHIR con Couchbase N1QL<\/a>.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">\u00bfPor qu\u00e9 le interesa?<\/span><\/h2>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Su organizaci\u00f3n est\u00e1 planeando desarrollar un sistema de Historia Cl\u00ednica Electr\u00f3nica (HCE) compatible con FHIR, y est\u00e1 considerando aprovechar las numerosas ventajas de las bases de datos NoSQL, como la escalabilidad distribuida, de alta disponibilidad, XDCR y multidimensional.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Eres un arquitecto, o desarrollador y te gusta entender como la base de datos JSON de Couchbase puede reducir enormemente la complejidad de tus aplicaciones, relegando la compleja b\u00fasqueda FHIR [<\/span><a href=\"https:\/\/www.hl7.org\/fhir\/searchparameter-registry.html\"><span style=\"font-weight: 400\">https:\/\/www.hl7.org\/fhir\/searchparameter-registry.html<\/span><\/a><span style=\"font-weight: 400\">] a la capa del servidor de base de datos.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Usted es un analista de datos y le gustar\u00eda entender c\u00f3mo puede aprovechar sus conocimientos de SQL para consultar datos FHIR directamente con <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/\"><span style=\"font-weight: 400\">Couchbase N1Q<\/span><\/a><span style=\"font-weight: 400\">L y <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/full-text-search\/\"><span style=\"font-weight: 400\">B\u00fasqueda de texto completo.<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Usted est\u00e1 interesado en averiguar c\u00f3mo Couchbase N1QL, un SQL para JSON, puede proporcionar una manera eficiente de consultar un modelo de datos JSON que es a la vez jer\u00e1rquico y relacional en la naturaleza, tal como se define por <a href=\"https:\/\/www.hl7.org\/fhir\/administration-module.html\">M\u00f3dulo administrativo HL7<\/a>.<\/span><\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Aplicaci\u00f3n FHIR con Couchbase<\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8768\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM.png\" alt=\"\" width=\"990\" height=\"604\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM.png 2190w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-300x183.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-1024x625.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-768x469.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-1536x937.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-2048x1249.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM-1320x805.png 1320w\" sizes=\"auto, (max-width: 990px) 100vw, 990px\" \/><\/p>\n<p><span style=\"font-weight: 400\">El diagrama anterior muestra los procesos implicados en una aplicaci\u00f3n FHIR t\u00edpica. El servidor FHIR Rest es fundamental para esta aplicaci\u00f3n y debe soportar las especificaciones de b\u00fasqueda especificadas por FHIR. <\/span><a href=\"https:\/\/www.hl7.org\/fhir\/search.html\"><span style=\"font-weight: 400\">https:\/\/www.hl7.org\/fhir\/search.html<\/span><\/a><span style=\"font-weight: 400\">. El servidor REST gestiona todas las interacciones entre las aplicaciones cliente y traduce las peticiones de b\u00fasqueda FHIR en sentencias N1QL, y env\u00eda las peticiones al servicio de consultas Couchbase.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">C\u00f3mo configurar el servidor FHIR con Couchbase<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Puedes configurar el servidor API FHIR de Couchbase, y la base de datos NoSQL de Couchbase en un \u00fanico servidor, o incluso en tu port\u00e1til. El proceso de configuraci\u00f3n requiere:<\/span><\/p>\n<ol>\n<li>Instalaci\u00f3n de Couchbase Server 6.5.<\/li>\n<li>Cargar los datos de Synthea en el servidor Couchbase.<\/li>\n<li>Despliegue el c\u00f3digo dotnet FHIR Server.<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Siga las instrucciones <\/span><a href=\"https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase.git\"><span style=\"font-weight: 400\">https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase.git<\/span><\/a><\/p>\n<h2><span style=\"font-weight: 400\">Conjunto de datos de muestra FHIR<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Antes de empezar a utilizar la b\u00fasqueda FHIR para realizar consultas, familiaric\u00e9monos con el conjunto de datos de muestra FHIR.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El conjunto de datos Synthea consta de 1.000 registros sint\u00e9ticos de pacientes.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">El registro del paciente est\u00e1 en un formato de paquete de recursos FHIR, lo que significa que un registro de paciente incluye todos los objetos FHIR relacionados del paciente.<\/span><\/li>\n<\/ol>\n<pre class=\"theme:github lang:default decode:true\">\"Practitioner\"\r\n\"ImagingStudy\"\r\n\"MedicationRequest\"\r\n\"Condition\"\r\n\"Device\"\r\n\"DiagnosticReport\"\r\n\"CarePlan\"\r\n\"Encounter\"\r\n\"CareTeam\"\r\n\"Claim\"\r\n\"Procedure\"\r\n\"Immunization\"\r\n\"Observation\"\r\n\"MedicationAdministration\"\r\n\"Organization\"\r\n\"Goal\"\r\n\"ExplanationOfBenefit\"\r\n\"AllergyIntolerance\"<\/pre>\n<p>A efectos de esta demostraci\u00f3n, el conjunto de recursos de pacientes se ha normalizado en documentos de tipo de recurso individual, para permitirnos consultar el objeto FHIR directa o indirectamente a trav\u00e9s del id de referencia del objeto.<\/p>\n<div id=\"attachment_8761\" style=\"width: 1051px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-8761\" class=\"wp-image-8761\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM.png\" alt=\"FHIR Administrative Data Model\" width=\"1041\" height=\"755\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM.png 1151w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM-300x218.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM-1024x743.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM-768x557.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-04-07-at-4.30.12-PM-20x15.png 20w\" sizes=\"auto, (max-width: 1041px) 100vw, 1041px\" \/><p id=\"caption-attachment-8761\" class=\"wp-caption-text\">El modelo FHIR se muestra con relaciones para transmitir que<\/p><\/div>\n<h2><span style=\"font-weight: 400\">B\u00fasquedas FHIR<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Puede probar el servidor API REST utilizando cualquier cliente REST de su elecci\u00f3n. Por simplicidad, yo uso CURL en mi terminal.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">1. Buscar cualquier recurso FHIR<\/span><\/h4>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient<\/pre>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Practitioner<\/pre>\n<h4><span style=\"font-weight: 400\">2. Buscar recurso por id<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Todos los recursos FHIR tienen un identificador id, y se pueden buscar directamente.<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient\/8850c4aa-cb77-4659-8373-980882405846<\/pre>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient?id=8850c4aa-cb77-4659-8373-980882405846<\/pre>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Organization?id=d32bd7bd-4211-34d8-a08b-b1b2b810d41b<\/pre>\n<h4><span style=\"font-weight: 400\">3. B\u00fasqueda de recursos por cualquier campo de nivel superior<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Buscar todos los seguros Reclamaciones que fueron proporcionados por \"BAYSIDE MEDICAL CENTER\"<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Claim?provider.display=BAYSTATE MEDICAL CENTER<\/pre>\n<h4><span style=\"font-weight: 400\">4. Buscar recurso por nombre - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">El recurso FHIR tiene una estructura completa para capturar el nombre del recurso.<\/span><\/p>\n<pre class=\"theme:github lang:js decode:true\">\"name\": [\r\n        {\r\n            \"family\": \"Wizard\",\r\n            \"given\": [\r\n                     \"Buffy\"\r\n            ],\r\n            \"prefix\": [1 item],\r\n            \"use\": \"official\"\r\n        },\r\n        {\r\n            \"family\": \"Schneider\",\r\n            \"given\": [\r\n                     \"Tootsie\"\r\n            ],\r\n            \"prefix\": [1 item],\r\n            \"use\": \"maiden\"\r\n        }\r\n]\r\n<\/pre>\n<p><span style=\"font-weight: 400\">La b\u00fasqueda FHIR por nombre debe tener en cuenta todos los nombres diferentes que puede utilizar el paciente.<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient\/?name=Buffy<\/pre>\n<h4><span style=\"font-weight: 400\">5. B\u00fasqueda de pacientes por identificador m\u00e9dico - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">FHIR tambi\u00e9n admite identificadores para el recurso. En el ejemplo siguiente, un paciente puede identificarse con su SSN y OID (para sistemas no FHIR).\u00a0<\/span><\/p>\n<pre class=\"theme:github whitespace-before:1 whitespace-after:1 lang:js decode:true\">\"patient\": {\r\n           \"address\": [1 item],\r\n           \"birthDate\": \"1946-11-29\",\r\n           \"communication\": [1 item],\r\n           \"deceasedDateTime\": \"1983-03-25T09:56:18-08:00\",\r\n           \"extension\": [7 items],\r\n           \"gender\": \"female\",\r\n           \"id\": \"b495844d-22d0-4045-a00d-99f6799df265\",\r\n           \"identifier\": [\r\n                   {2 items},\r\n                   {3 items},\r\n                   {\r\n                       \"system\": \"https:\/\/hl7.org\/fhir\/sid\/us-ssn\",\r\n                       \"type\": {2 items},\r\n                       \"value\": \"999-46-2135\"\r\n                   },\r\n                   {\r\n                       \"system\": \"urn:oid:2.16.840.1.113883.4.3.25\",\r\n                       \"type\": {2 items},\r\n                       \"value\": \"S99963447\"\r\n                   },\r\n                   {3 items}\r\n            ],\r\n            \"maritalStatus\": {2 items},\r\n            \"multipleBirthBoolean\": false,\r\n            \"name\": [1 item],\r\n            \"resourceType\": \"Patient\",\r\n            \"telecom\": [1 item],\r\n            \"text\": {2 items}\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Buscar paciente por el identificador SSN<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient?identifier=https:\/\/hl7.org\/fhir\/sid\/us-ssn|999-46-2135\r\n<\/pre>\n<h4><span style=\"font-weight: 400\">6. B\u00fasqueda de recursos por sistema\/c\u00f3digo m\u00e9dico - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">FHIR utiliza el c\u00f3digo m\u00e9dico para identificar Procedimiento, Observaci\u00f3n o Informe de Diagn\u00f3stico.<\/span><\/p>\n<pre class=\"theme:github lang:default decode:true\">\"diagnosticreport\": {\r\n    \"category\": [1 item],\r\n    \"code\": {\r\n        \"coding\": [\r\n            {\r\n                \"code\": \"57698-3\",\r\n                \"display\": \"Lipid Panel\",\r\n                \"system\": \"https:\/\/loinc.org\"\r\n            }\r\n        ],\r\n        \"text\": \"Lipid Panel\"\r\n    },\r\n    \"effectiveDateTime\": \"2016-08-17T14:24:27-07:00\",\r\n    \"encounter\": {1 item},\r\n    \"id\": \"38f2e919-894c-4277-ba00-372c18c9cced\",\r\n    \"issued\": \"2016-08-17T14:24:27.878-07:00\",\r\n    \"resourceType\": \"DiagnosticReport\",\r\n    \"result\": [4 items],\r\n    \"status\": \"final\",\r\n    \"subject\": {1 item}\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Buscar DiagnosticReport por su sistema y c\u00f3digo<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/DiagnisticReport?code=https:\/\/loinc.org|57698-3<\/pre>\n<h4><span style=\"font-weight: 400\">7. B\u00fasqueda de recursos por tel\u00e9fono \/ correo electr\u00f3nico - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">El registro FHIR encapsula todos los canales de comunicaci\u00f3n con el recurso en el campo \"telecom\".<\/span><\/p>\n<pre class=\"theme:github lang:default decode:true\">\"telecom\": [\r\n    {\r\n        \"system\": \"email\",\r\n        \"use\": \"work\",\r\n        \"value\": \"Quinton758.Hammes673@example.com\"\r\n    },\r\n    {  \r\n         \"system\": \"phone\",\r\n         \"use\": \"home\",\r\n         \"value\": \"555-270-6484\"\r\n    }\r\n]\r\n<\/pre>\n<p><span style=\"font-weight: 400\">La b\u00fasqueda FHIR en telecomunicaciones debe tener en cuenta todos los tipos de telecomunicaciones que puede utilizar el recurso.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Buscar pacientes por tel\u00e9fono<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient\/?phone=555-270-6484\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Buscar profesionales por correo electr\u00f3nico<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Practioner\/?email=Quinton758.Hammes673@example.com<\/pre>\n<p><span style=\"font-weight: 400\">Buscar hospitales por tel\u00e9fono<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Organization\/?phone=978-524-7933<\/pre>\n<h4><span style=\"font-weight: 400\">8. Buscar recurso usando Rango de Fechas - N1QL Range Scan<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Los objetos FHIR pueden incluir un intervalo de fechas para indicar el periodo en el que se produjo un evento.<\/span><\/p>\n<pre class=\"theme:github lang:default decode:true\">\"performedPeriod\": {\r\n    \"end\": \"2011-07-06T23:03:22-07:00\",\r\n    \"start\": \"2011-07-06T22:48:22-07:00\"\r\n},\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Procedimientos de b\u00fasqueda que tuvieron lugar entre dos fechas<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Procedure?performedPeriod.start=ge2011-07-07&amp;performedPeriod.end=le2011-07-08\r\n<\/pre>\n<h4><span style=\"font-weight: 400\">9. Buscar recurso con _b\u00fasqueda de texto - Couchbase FTS<\/span><\/h4>\n<p><span style=\"font-weight: 400\">La especificaci\u00f3n de b\u00fasqueda de FHIR tambi\u00e9n incluye una capacidad de b\u00fasqueda de texto. Una solicitud de b\u00fasqueda que utilice el campo \"_text\" indicar\u00e1 al servidor que realice una b\u00fasqueda de texto en todo el campo de texto.<\/span><\/p>\n<pre class=\"theme:github lang:default decode:true\">\"condition\": {\r\n    \"abatementDateTime\": \"2019-06-01T20:53:48-07:00\",\r\n    \"clinicalStatus\": {1 item},\r\n    \"code\": {\r\n        \"coding\": [1 item],\r\n        \"text\": \"Fracture of ankle\"\r\n    },\r\n    \"encounter\": {1 item},\r\n    \"id\": \"f2e4b232-513c-4222-9568-6fbe096bb6ba\",\r\n    \"onsetDateTime\": \"2019-04-02T20:53:48-07:00\",\r\n    \"recordedDate\": \"2019-04-02T20:53:48-07:00\",\r\n    \"resourceType\": \"Condition\",\r\n    \"subject\": {1 item},\r\n    \"verificationStatus\": {1 item}\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Condiciones de b\u00fasqueda con el t\u00e9rmino 'Fractura' en la descripci\u00f3n del texto.<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Condition?_text=Fracture\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Buscar Observaciones con el t\u00e9rmino 'Colesterol'' en descripci\u00f3n de texto.<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Observation?_text=Cholesterol<\/pre>\n<h4><span style=\"font-weight: 400\">10. Buscar pacientes por sus objetos relacionados - N1QL JOIN<\/span><\/h4>\n<p><span style=\"font-weight: 400\">El modelo de datos FHIR es de naturaleza relacional. Los objetos asociados a un paciente contienen el id del paciente en el campo de asunto.  Un paciente tiene varios CarePlans, y el plan tiene un campo de asunto con el id del paciente para indicar que el plan de cuidados pertenece al paciente.<\/span><\/p>\n<pre class=\"theme:github lang:default decode:true\">\"careplan\": {\r\n    \"activity\": [2 items],\r\n    \"addresses\": [1 item],\r\n    \"careTeam\": [1 item],\r\n    \"category\": [1 item],\r\n    \"encounter\": {1 item},\r\n    \"id\": \"49b2239e-da9c-447a-9e7c-f5721339cf2f\",\r\n    \"intent\": \"order\",\r\n    \"period\": {\r\n        \"start\": \"2015-03-22T21:38:17-07:00\"\r\n    },\r\n    \"resourceType\": \"CarePlan\",\r\n    \"status\": \"active\",\r\n    \"subject\": {\r\n        \"reference\": \"urn:uuid:9aa55fa8-0422-4ca4-bc22-099aea53a590\"\r\n    },\r\n    \"text\": {2 items}\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Utilizando el campo subject.reference, el servidor FHIR REST puede implementar un JOIN de base de datos entre el Paciente y los objetos relacionados, para permitir una b\u00fasqueda del registro del paciente que posee un plan espec\u00edfico con un valor de id de plan<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient?CarePlan.id=49b2239e-da9c-447a-9e7c-f5721339cf2f\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Buscar todos los pacientes con un c\u00f3digo de observaci\u00f3n determinado<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient?Observation.code=https:\/\/loinc.org|29463-7<\/pre>\n<p><span style=\"font-weight: 400\">Buscar todos los pacientes que han tenido una enfermedad concreta<\/span><\/p>\n<pre class=\"lang:default decode:true\">&gt;curl -X GET https:\/\/&lt;fhir-server-ip&gt;\/Fhir\/api\/Patient?Condition.code.text=Hypertension<\/pre>\n<h2>Por qu\u00e9 Couchbase es una plataforma mejor para construir su servidor FHIR<\/h2>\n<p>Una b\u00fasqueda r\u00e1pida en Google de FHIR Server arroja 300.000 resultados, y la p\u00e1gina de implementaci\u00f3n de HL7 FHIR enumera m\u00e1s de una docena de proyectos de c\u00f3digo abierto. Tambi\u00e9n hay implementaciones de servidores FHIR listas para usar en <a href=\"https:\/\/www.google.com\/search?sxsrf=ALeKk0385lplEBi7dhPd8B8K4cF1n40Gkg%3A1591650155642&amp;ei=a6feXpXcJqK_0PEP_tOX0Ao&amp;q=fhir+server+product&amp;oq=fhir+server+product&amp;gs_lcp=CgZwc3ktYWIQAzIFCCEQoAEyBQghEKABMgUIIRCgATIFCCEQoAE6BwgAEEcQsAM6BAgjECc6AggAOgYIABAWEB46BwghEAoQoAFQhp0JWKujCWDGpgloAXAAeACAAXaIAdcFkgEDMi41mAEAoAEBqgEHZ3dzLXdpeg&amp;sclient=psy-ab&amp;ved=0ahUKEwjVvYjxjvPpAhWiHzQIHf7pBaoQ4dUDCAw&amp;uact=5\">muchos vendedores<\/a>. Estas implementaciones se basan en tecnolog\u00edas de bases de datos diferentes de los RDBMS tradicionales, as\u00ed como en muchas de las bases de datos NoSQL que existen actualmente en el mercado.<\/p>\n<p>En <a href=\"https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase\"><em>dotnot-fhir-server-couchbase<\/em><\/a> proporciona varios ejemplos sobre c\u00f3mo puedes construir las especificaciones de b\u00fasqueda FHIR utilizando la plataforma Couchbase. El c\u00f3digo traduce las APIs de b\u00fasqueda FHIR y sus par\u00e1metros en sentencias Couchbase N1QL, y luego las env\u00eda al servicio Couchbase Query, donde se procesa todo el proceso. Este enfoque puede reducir la complejidad en el servidor REST o en la aplicaci\u00f3n cliente REST. Algunos puntos clave a tener en cuenta:<\/p>\n<ol>\n<li>Los datos JSON de FHIR se almacenan tal cual en el servicio de datos de Couchbase. No hay pre\/post procesamiento requerido cuando necesitas POST\/GET el documento FHIR a\/desde el servidor.<\/li>\n<li>El lenguaje de consulta N1QL de Couchbase tiene un rico conjunto de operaciones que soportan el procesamiento de los datos jer\u00e1rquicos del formato JSON de FHIR. Permite acceder sin problemas a matrices de datos anidadas, como las que se utilizan para describir las afecciones, observaciones, tratamientos e informes de diagn\u00f3stico de los pacientes.<\/li>\n<li>Los requisitos de FHIR para la b\u00fasqueda de texto se pueden cumplir directamente en Couchbase Full Text Search con <a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/n1ql\/n1ql-language-reference\/searchfun.html\">N1QL Buscar()<\/a> no es necesario asignar sus b\u00fasquedas a Lucene, ElasticSearch o Solr.<\/li>\n<li>Las especificaciones de b\u00fasqueda encadenada de FHIR podr\u00edan requerir la implementaci\u00f3n de un servidor FHIR para enviar m\u00faltiples b\u00fasquedas a la base de datos con el fin de procesar la solicitud. Sin embargo, con N1QL, una consulta de uni\u00f3n ANSI puede dar lugar a un c\u00f3digo mucho m\u00e1s sencillo para cumplir el requisito.<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Resumen<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Los Rest Servers FHIR se est\u00e1n implementando en todo tipo de plataformas.  Los protocolos de b\u00fasqueda son relativamente sencillos y se centran en la recuperaci\u00f3n de pacientes y otros objetos relacionados con FHIR por sus atributos espec\u00edficos. Las API de b\u00fasqueda a\u00edslan al cliente REST del complejo procesamiento jer\u00e1rquico y de matrices, que son fundamentales para el formato de datos JSON.  Sin embargo, la especificaci\u00f3n, tal y como est\u00e1 actualmente:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No define una forma clara de permitir la consulta de pacientes (u otros objetos FHIR) por su informaci\u00f3n relacionada, aparte de una simple capacidad de padre e hijo.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No hay soporte para la agregaci\u00f3n, lo que limita cualquier capacidad de an\u00e1lisis.<\/span><\/li>\n<\/ol>\n<p>Debido a estas limitaciones, las aplicaciones cliente REST pueden volverse m\u00e1s complejas al tener que incorporar la l\u00f3gica de recorrer el modelo de datos FHIR.\u00a0 <span style=\"font-weight: 400\">El ejemplo de c\u00f3digo REST Server API de este art\u00edculo pretende ilustrar tres puntos clave<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">La simplicidad de implementar la b\u00fasqueda en elementos de array usando el constructor de array N1QL de Couchbase.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">La capacidad de empujar hacia abajo al servicio Couchbase Query, para realizar la b\u00fasqueda en los objetos Paciente utilizando objetos relacionados. En efecto, aprovechando N1QL ANSI JOIN soporta.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">La capacidad de integrar perfectamente las capacidades de b\u00fasqueda de texto completo con Couchbase N1QL, sin necesidad de utilizar plataformas FTS dedicadas como ElasticSearch o Solr, como se sugiere en la especificaci\u00f3n de b\u00fasqueda FHIR.<\/span><\/li>\n<\/ol>\n<p>Tambi\u00e9n me gustar\u00eda dar las gracias a Arun Vijayraghavan, nuestro Principal Product Manager para todos los SDKs de Couchbase, que ha desarrollado los <a href=\"https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase.git\">dotnet-fhir-server-couchbase<\/a> y los comentarios de los clientes que han ayudado a revisar nuestra implementaci\u00f3n de b\u00fasqueda FHIR. Por favor, h\u00e1ganos saber si tiene alguna pregunta, comentario o si se encuentra con alg\u00fan problema al configurar el entorno.<\/p>\n<h3>Recursos<\/h3>\n<ol>\n<li>Recurso r\u00e1pido de interoperabilidad sanitaria:\u00a0<a href=\"https:\/\/www.hl7.org\/fhir\/index.html\">https:\/\/www.hl7.org\/fhir\/index.html<\/a><\/li>\n<li>SyntheticMass: \"Jason Walonoski, Mark Kramer, Joseph Nichols, Andre Quina, Chris Moesel, Dylan Hall, Carlton Duffett, Kudakwashe Dube, Thomas Gallagher, Scott McLachlan, Synthea: Un enfoque, m\u00e9todo y mecanismo de software para generar pacientes sint\u00e9ticos y la historia cl\u00ednica electr\u00f3nica sint\u00e9tica,\u00a0<em>Revista de la Asociaci\u00f3n Americana de Inform\u00e1tica M\u00e9dica<\/em>, volumen 25, n\u00famero 3, marzo de 2018, p\u00e1ginas 230-238,\u00a0<a href=\"https:\/\/doi.org\/10.1093\/jamia\/ocx079\">https:\/\/doi.org\/10.1093\/jamia\/ocx079<\/a>\"<\/li>\n<li>Tutorial N1QL:\u00a0<a href=\"https:\/\/query-tutorial.couchbase.com\/tutorial\/#1\">https:\/\/query-tutorial.couchbase.com\/tutorial\/#1<\/a><\/li>\n<li>Par\u00e1metros de b\u00fasqueda FHIR:\u00a0<a href=\"https:\/\/www.hl7.org\/fhir\/searchparameter-registry.html\">https:\/\/www.hl7.org\/fhir\/searchparameter-registry.html<\/a><\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>This is a follow up to my previous post that covered the topic of FHIR Data Model with Couchbase N1QL. In this blog, I will discuss the topic of how to implement the FHIR Search REST API Server over the [&hellip;]<\/p>","protected":false},"author":26326,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1821,1819,2165,1812],"tags":[4959],"ppma_author":[8919],"class_list":["post-8759","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-architecture","category-data-modeling","category-full-text-search","category-n1ql-query","tag-fhir"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Implement FHIR REST server with Couchbase - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/implement-fhir-rest-server-with-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implement FHIR REST server with Couchbase\" \/>\n<meta property=\"og:description\" content=\"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/implement-fhir-rest-server-with-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-09T04:10:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T00:21:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2190\" \/>\n\t<meta property=\"og:image:height\" content=\"1336\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Binh Le\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Binh Le\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\"},\"author\":{\"name\":\"Binh Le\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63\"},\"headline\":\"Implement FHIR REST server with Couchbase\",\"datePublished\":\"2020-06-09T04:10:26+00:00\",\"dateModified\":\"2025-06-14T00:21:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\"},\"wordCount\":1556,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"FHIR\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Data Modeling\",\"Full-Text Search\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\",\"name\":\"Implement FHIR REST server with Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2020-06-09T04:10:26+00:00\",\"dateModified\":\"2025-06-14T00:21:42+00:00\",\"description\":\"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Implement FHIR REST server with Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63\",\"name\":\"Binh Le\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5b68c37e30928a9d7b2c8470b1a303b7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g\",\"caption\":\"Binh Le\"},\"description\":\"Binh Le is a Principal Product Manager for Couchbase Query service. Prior to Couchbase, he worked at Oracle and led the product management team for Sales Cloud Analytics and CRM OnDemand. Binh holds a Bachelor's Degree in Computer Science from the University of Brighton, UK.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/binh-le-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Implement FHIR REST server with Couchbase - The Couchbase Blog","description":"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/implement-fhir-rest-server-with-couchbase\/","og_locale":"es_MX","og_type":"article","og_title":"Implement FHIR REST server with Couchbase","og_description":"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/implement-fhir-rest-server-with-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2020-06-09T04:10:26+00:00","article_modified_time":"2025-06-14T00:21:42+00:00","og_image":[{"width":2190,"height":1336,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/06\/Screen-Shot-2020-06-07-at-3.24.23-PM.png","type":"image\/png"}],"author":"Binh Le","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Binh Le","Est. reading time":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/"},"author":{"name":"Binh Le","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63"},"headline":"Implement FHIR REST server with Couchbase","datePublished":"2020-06-09T04:10:26+00:00","dateModified":"2025-06-14T00:21:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/"},"wordCount":1556,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["FHIR"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Architecture","Data Modeling","Full-Text Search","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/","name":"Implement FHIR REST server with Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2020-06-09T04:10:26+00:00","dateModified":"2025-06-14T00:21:42+00:00","description":"This post discusses the benefits of Couchbase N1QL for the implementation of FHIR Server. It includes sample code, and practical examples.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Implement FHIR REST server with Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63","name":"Binh Le","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5b68c37e30928a9d7b2c8470b1a303b7","url":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","caption":"Binh Le"},"description":"Binh Le is a Principal Product Manager for Couchbase Query service. Prior to Couchbase, he worked at Oracle and led the product management team for Sales Cloud Analytics and CRM OnDemand. Binh holds a Bachelor's Degree in Computer Science from the University of Brighton, UK.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/binh-le-2\/"}]}},"authors":[{"term_id":8919,"user_id":26326,"is_guest":0,"slug":"binh-le-2","display_name":"Binh Le","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","first_name":"Binh","last_name":"Le","user_url":"","author_category":"","description":"Binh Le es director de producto principal del servicio de consultas de Couchbase. Antes de Couchbase, trabaj\u00f3 en Oracle y dirigi\u00f3 el equipo de gesti\u00f3n de productos para Sales Clould Analytics y CRM OnDemand. Binh es licenciado en Inform\u00e1tica por la Universidad de Brighton, Reino Unido."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/26326"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=8759"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/8759\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=8759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=8759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=8759"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=8759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}