{"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\/pt\/implement-fhir-rest-server-with-couchbase\/","title":{"rendered":"Implementar o servidor FHIR REST com o Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Esta \u00e9 uma continua\u00e7\u00e3o do meu post anterior que abordou o t\u00f3pico do modelo de dados FHIR com o Couchbase N1QL. Neste blog, discutirei o t\u00f3pico de como implementar o servidor da API REST do FHIR Search nos servi\u00e7os do Couchbase, incluindo exemplos reais de como os diferentes padr\u00f5es de pesquisa do FHIR funcionam com o Couchbase usando os dados sint\u00e9ticos do FHIR fornecidos pela Synthea.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Consulte meu blog anterior para obter informa\u00e7\u00f5es b\u00e1sicas sobre <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/fhir-data-model-with-couchbase-n1ql\/\">Modelo de dados FHIR com o Couchbase N1QL<\/a>.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Por que isso \u00e9 de seu interesse?<\/span><\/h2>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Sua organiza\u00e7\u00e3o est\u00e1 planejando desenvolver um sistema de prontu\u00e1rio eletr\u00f4nico de sa\u00fade (EHR) compat\u00edvel com FHIR e est\u00e1 pensando em aproveitar os muitos benef\u00edcios dos bancos de dados NoSQL, como distribu\u00eddo, alta disponibilidade, XDCR e escalabilidade multidimensional.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Voc\u00ea \u00e9 um arquiteto ou desenvolvedor e gostaria de entender como o banco de dados JSON do Couchbase pode reduzir muito a complexidade dos seus aplicativos, relegando o complexo FHIR Search [<\/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\">] processamento para a camada do servidor de banco de dados.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Voc\u00ea \u00e9 um analista de dados e gostaria de entender como pode aproveitar seu conhecimento de SQL para consultar dados FHIR diretamente com <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/n1ql\/\"><span style=\"font-weight: 400\">Couchbase N1Q<\/span><\/a><span style=\"font-weight: 400\">L e <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/full-text-search\/\"><span style=\"font-weight: 400\">Pesquisa de texto completo.<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Voc\u00ea est\u00e1 interessado em descobrir como o Couchbase N1QL, um SQL para JSON, pode fornecer uma maneira eficiente de consultar um modelo de dados JSON que \u00e9 hier\u00e1rquico e relacional por natureza, conforme definido 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\">Aplicativo FHIR com o 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\">O diagrama acima mostra os processos envolvidos em um aplicativo FHIR t\u00edpico. O servidor FHIR Rest \u00e9 fundamental para esse aplicativo e precisa oferecer suporte \u00e0s especifica\u00e7\u00f5es de pesquisa, conforme especificado pelo 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\">. O servidor REST gerencia todas as intera\u00e7\u00f5es entre os aplicativos clientes e traduz as solicita\u00e7\u00f5es de pesquisa FHIR em instru\u00e7\u00f5es N1QL e envia as solicita\u00e7\u00f5es para o Couchbase Query Service.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Como configurar o servidor FHIR com o Couchbase<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Voc\u00ea pode configurar o servidor de API FHIR do Couchbase e o banco de dados NoSQL do Couchbase em um \u00fanico servidor ou at\u00e9 mesmo em seu laptop. O processo de configura\u00e7\u00e3o requer:<\/span><\/p>\n<ol>\n<li>Instala\u00e7\u00e3o do Couchbase Server 6.5.<\/li>\n<li>Carregue os dados do Synthea no servidor Couchbase.<\/li>\n<li>Implante o c\u00f3digo do dotnet FHIR Server.<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Siga as instru\u00e7\u00f5es <\/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 dados de amostra FHIR<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Antes de come\u00e7ar a usar a pesquisa FHIR para fazer consultas, vamos nos familiarizar com o conjunto de dados de amostra FHIR.<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O conjunto de dados Synthea consiste em 1.000 registros sint\u00e9ticos de pacientes.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">O registro do paciente est\u00e1 em um formato de pacote de recursos FHIR, o que significa que um registro de paciente inclui todos os objetos FHIR relacionados ao 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>Para fins desta demonstra\u00e7\u00e3o, o conjunto de recursos do paciente foi normalizado em documentos de tipos de recursos individuais, para que possamos consultar o objeto FHIR direta ou indiretamente por meio do ID de refer\u00eancia do 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\">O modelo FHIR \u00e9 mostrado com rela\u00e7\u00f5es para transmitir que<\/p><\/div>\n<h2><span style=\"font-weight: 400\">Pesquisas FHIR<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Voc\u00ea pode testar o servidor da API REST usando qualquer cliente REST de sua prefer\u00eancia. Para simplificar, uso o CURL em meu terminal.<\/span><\/p>\n<h4><span style=\"font-weight: 400\">1. Pesquisar qualquer 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. Pesquisar recursos por id<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Todos os recursos FHIR t\u00eam um identificador de id e podem ser pesquisados diretamente.<\/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. Pesquisar recursos por qualquer campo de n\u00edvel superior<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Pesquise todos os pedidos de indeniza\u00e7\u00e3o de seguro fornecidos pelo \"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. Recurso de pesquisa por nome - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">O recurso FHIR tem uma estrutura abrangente para capturar o nome do 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\">A pesquisa FHIR por nome deve levar em conta todos os diferentes nomes que o paciente pode usar.<\/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. Pesquisar pacientes por identificador m\u00e9dico - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">A FHIR tamb\u00e9m oferece suporte a identificadores para o recurso. No exemplo abaixo, um paciente pode ser identificado com seu SSN e OID (para sistemas n\u00e3o 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\">Pesquisar o paciente pelo identificador do 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. Recurso de pesquisa por sistema\/c\u00f3digo m\u00e9dico - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">O FHIR usa o c\u00f3digo m\u00e9dico para identificar o procedimento, a observa\u00e7\u00e3o ou o relat\u00f3rio 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\">Pesquisar o DiagnosticReport por seu sistema e 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. Recurso de pesquisa por telefone\/e-mail - N1QL ARRAY Search<\/span><\/h4>\n<p><span style=\"font-weight: 400\">O registro FHIR encapsula todos os canais de comunica\u00e7\u00e3o com o recurso no 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\">A pesquisa FHIR sobre telecomunica\u00e7\u00f5es deve levar em conta todos os diferentes tipos de telecomunica\u00e7\u00f5es que o recurso pode usar.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Pesquisar pacientes por telefone<\/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\">Pesquisar profissionais por e-mail<\/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\">Pesquisar hospitais por telefone<\/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. Recurso de pesquisa usando o intervalo de datas - N1QL Range Scan<\/span><\/h4>\n<p><span style=\"font-weight: 400\">Os objetos FHIR podem incluir um intervalo de data e hora para indicar o per\u00edodo em que um evento ocorreu.<\/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\">Procedimentos de busca que ocorreram entre duas datas<\/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. Recurso de pesquisa com pesquisa de _texto - Couchbase FTS<\/span><\/h4>\n<p><span style=\"font-weight: 400\">A especifica\u00e7\u00e3o de pesquisa FHIR tamb\u00e9m inclui um recurso de pesquisa de texto. Uma solicita\u00e7\u00e3o de pesquisa usando o campo '_text' instruir\u00e1 o servidor a realizar uma pesquisa de texto em todo o 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\">Condi\u00e7\u00f5es de pesquisa com o termo 'Fracture' na descri\u00e7\u00e3o do 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\">Pesquisar observa\u00e7\u00f5es com o termo \"Cholesterol\" na descri\u00e7\u00e3o do 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. Pesquisar pacientes por seus objetos relacionados - N1QL JOIN<\/span><\/h4>\n<p><span style=\"font-weight: 400\">O modelo de dados FHIR \u00e9 de natureza relacional. Os objetos associados a um paciente cont\u00eam o ID do paciente no campo de assunto.  Um paciente tem v\u00e1rios CarePlans, e o plano tem um campo de assunto com o ID do paciente para indicar que o plano de tratamento pertence ao 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\">Usando o campo subject.reference, o servidor FHIR REST pode implementar um banco de dados JOIN entre o paciente e os objetos relacionados, para permitir uma pesquisa do registro do paciente que possui um plano espec\u00edfico com um valor de id do plano<\/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\">Pesquisar todos os pacientes que tinham um c\u00f3digo de observa\u00e7\u00e3o espec\u00edfico<\/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\">Pesquisar todos os pacientes que tiveram uma condi\u00e7\u00e3o m\u00e9dica espec\u00edfica<\/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 que o Couchbase \u00e9 uma plataforma melhor para criar seu servidor FHIR<\/h2>\n<p>Um r\u00e1pido Google sobre o FHIR Server retorna 300 mil resultados, e a p\u00e1gina de implementa\u00e7\u00e3o do HL7 FHIR lista mais de uma d\u00fazia de projetos de c\u00f3digo aberto. Implementa\u00e7\u00f5es prontas do servidor FHIR tamb\u00e9m est\u00e3o dispon\u00edveis em <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\">muitos fornecedores<\/a>. Essas implementa\u00e7\u00f5es dependem de tecnologias de banco de dados diferentes dos RDBMS tradicionais, bem como de muitos dos bancos de dados NoSQL atuais no mercado.<\/p>\n<p>O <a href=\"https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase\"><em>dotnot-fhir-server-couchbase<\/em><\/a> fornece v\u00e1rios exemplos de como voc\u00ea pode criar as especifica\u00e7\u00f5es de pesquisa FHIR usando a plataforma Couchbase. O c\u00f3digo traduz as APIs e os par\u00e2metros de pesquisa da API FHIR em instru\u00e7\u00f5es N1QL do Couchbase e, em seguida, os envia ao servi\u00e7o Couchbase Query, onde todo o processamento \u00e9 feito. Essa abordagem pode reduzir a complexidade do servidor REST ou do aplicativo cliente REST. Alguns pontos importantes a serem observados:<\/p>\n<ol>\n<li>Os dados JSON da FHIR s\u00e3o armazenados no estado em que se encontram no Couchbase Data Service. N\u00e3o h\u00e1 necessidade de pr\u00e9\/p\u00f3s-processamento quando voc\u00ea precisa POST\/GET o documento FHIR de\/para o servidor.<\/li>\n<li>A linguagem de consulta N1QL do Couchbase tem um rico conjunto de opera\u00e7\u00f5es que suportam o processamento dos dados hier\u00e1rquicos do formato JSON do FHIR. Permitindo acesso cont\u00ednuo a uma matriz aninhada de dados, como os usados para descrever as condi\u00e7\u00f5es, as observa\u00e7\u00f5es, os tratamentos e os relat\u00f3rios de diagn\u00f3stico do paciente.<\/li>\n<li>Os requisitos da FHIR para pesquisa de texto podem ser atendidos diretamente no Couchbase Full Text Search com <a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/n1ql\/n1ql-language-reference\/searchfun.html\">Pesquisa N1QL()<\/a> n\u00e3o h\u00e1 necessidade de mapear suas pesquisas para Lucene, ElasticSearch ou Solr.<\/li>\n<li>As especifica\u00e7\u00f5es de pesquisa encadeada do FHIR podem exigir que uma implementa\u00e7\u00e3o do servidor FHIR envie v\u00e1rias pesquisas para o banco de dados a fim de processar a solicita\u00e7\u00e3o. No entanto, com o N1QL, uma consulta de jun\u00e7\u00e3o ANSI pode resultar em um c\u00f3digo muito mais simples para atender ao requisito.<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400\">Resumo<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Os servidores FHIR Rest est\u00e3o sendo implementados em todos os tipos de plataformas.  Os protocolos de pesquisa s\u00e3o relativamente simples, concentrando-se no suporte \u00e0 recupera\u00e7\u00e3o de pacientes e outros objetos relacionados ao FHIR por seus atributos espec\u00edficos. As APIs de pesquisa isolam o cliente REST do processamento complexo de hierarquia e matriz, que s\u00e3o fundamentais para o formato de dados JSON.  No entanto, a especifica\u00e7\u00e3o, em sua forma atual, \u00e9 a seguinte<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00e3o define uma maneira clara de permitir a consulta de pacientes (ou outros objetos FHIR) por suas informa\u00e7\u00f5es relacionadas, al\u00e9m de um recurso simples de pai e filho.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">N\u00e3o h\u00e1 suporte para agrega\u00e7\u00e3o, o que limita os recursos de an\u00e1lise.<\/span><\/li>\n<\/ol>\n<p>Devido a essas limita\u00e7\u00f5es, os aplicativos clientes REST podem se tornar mais complexos, pois precisam incorporar a l\u00f3gica de percorrer o modelo de dados FHIR.\u00a0 <span style=\"font-weight: 400\">O exemplo de c\u00f3digo da API do servidor REST neste artigo do blog procura ilustrar tr\u00eas pontos principais<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A simplicidade da implementa\u00e7\u00e3o da pesquisa em elementos de matriz usando a constru\u00e7\u00e3o de matriz N1QL do Couchbase.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A capacidade de fazer push para o servi\u00e7o Couchbase Query, para realizar a pesquisa nos objetos do paciente usando objetos relacionados. De fato, aproveitando os suportes N1QL ANSI JOIN.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">A capacidade de integrar perfeitamente os recursos de pesquisa de texto completo com o Couchbase N1QL, sem a necessidade de usar plataformas FTS dedicadas, como o ElasticSearch ou o Solr, conforme sugerido na especifica\u00e7\u00e3o do FHIR Search.<\/span><\/li>\n<\/ol>\n<p>Tamb\u00e9m gostaria de agradecer a Arun Vijayraghavan, nosso principal gerente de produtos para todos os SDKs do Couchbase, que desenvolveu o <a href=\"https:\/\/github.com\/AV25242\/dotnet-fhir-server-couchbase.git\">dotnet-fhir-server-couchbase<\/a> e o feedback dos clientes que ajudaram a revisar nossa implementa\u00e7\u00e3o de pesquisa FHIR. Entre em contato conosco se tiver alguma d\u00favida, feedback ou se tiver algum problema ao configurar o ambiente.<\/p>\n<h3>Recursos<\/h3>\n<ol>\n<li>Recurso r\u00e1pido de interoperabilidade na \u00e1rea de sa\u00fade:\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: Uma abordagem, um m\u00e9todo e um mecanismo de software para gerar pacientes sint\u00e9ticos e o registro eletr\u00f4nico de sa\u00fade sint\u00e9tico,\u00a0<em>Jornal da Associa\u00e7\u00e3o Americana de Inform\u00e1tica M\u00e9dica<\/em>, Volume 25, Edi\u00e7\u00e3o 3, mar\u00e7o 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\u00e2metros de pesquisa 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.9 (Yoast SEO v25.9) - 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\/pt\/implement-fhir-rest-server-with-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\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\/pt\/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\":\"pt-BR\",\"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\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/author\/binh-le-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Implement FHIR REST server with Couchbase - The Couchbase Blog","description":"Esta publica\u00e7\u00e3o discute os benef\u00edcios do Couchbase N1QL para a implementa\u00e7\u00e3o do FHIR Server. Ela inclui c\u00f3digo de amostra e exemplos pr\u00e1ticos.","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\/pt\/implement-fhir-rest-server-with-couchbase\/","og_locale":"pt_BR","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\/pt\/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":"pt-BR","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":"Esta publica\u00e7\u00e3o discute os benef\u00edcios do Couchbase N1QL para a implementa\u00e7\u00e3o do FHIR Server. Ela inclui c\u00f3digo de amostra e exemplos pr\u00e1ticos.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/implement-fhir-rest-server-with-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@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":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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":"pt-BR","@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 \u00e9 gerente de produto principal do servi\u00e7o Couchbase Query. Antes da Couchbase, ele trabalhou na Oracle e liderou a equipe de gerenciamento de produtos para Sales Cloud Analytics e CRM OnDemand. Binh \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o pela Universidade de Brighton, no Reino Unido.","url":"https:\/\/www.couchbase.com\/blog\/pt\/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","author_category":"","last_name":"Le","first_name":"Binh","job_title":"","user_url":"","description":"Binh Le \u00e9 gerente de produto principal do servi\u00e7o de consulta do Couchbase. Antes da Couchbase, ele trabalhou na Oracle e liderou a equipe de gerenciamento de produtos para Sales Clould Analytics e CRM OnDemand. Binh \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o pela Universidade de Brighton, no Reino Unido."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/8759","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/26326"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=8759"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/8759\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=8759"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=8759"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=8759"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=8759"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}