{"id":17930,"date":"2026-03-17T16:12:04","date_gmt":"2026-03-17T23:12:04","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=17930"},"modified":"2026-03-17T16:12:04","modified_gmt":"2026-03-17T23:12:04","slug":"patientiq-building-a-patient-360-on-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/patientiq-building-a-patient-360-on-couchbase\/","title":{"rendered":"PatientIQ: \uce74\uc6b0\uce58\ubca0\uc774\uc2a4\uc5d0\uc11c \ud658\uc790 360 \uad6c\ucd95\ud558\uae30"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17927\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM.png\" alt=\"\" width=\"1300\" height=\"916\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM.png 1300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM-300x211.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM-1024x722.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM-768x541.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-12.45.22-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\" \/><\/p>\n<h2><span style=\"font-weight: 400\">What Is PatientIQ and Why Build it?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">PatientIQ is an agentic patient 360 built using Couchbase Capella AI Services. It is one example of a solution to a problem that we are trying to solve. For PatientIQ, it began with a single question. How many of us have had a loved one have a bad healthcare experience?\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The response to this when asked in a room full of people was frightening. Most hands went up. Conversations afterward confirmed that for those that didn\u2019t raise their hands, they were usually one close friend away from a relatable bad experience. Yet, doctors in the United States are exceptional with many of the best in the world practicing here. This helped us to reframe the question. If there is not an issue of professional quality, why are bad experiences so common?<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Patient Care Is a Data Management Problem<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Our personal experiences and research led us to believe that doctors today are overwhelmed. When they are on their third coffee and fifth patient before lunch, it can be hard to consistently deliver excellent tailored care. As we dug into the problem more, our research revealed that doctors today spend twice as much time on Electronic Health Records (EHRs) than patient care. It is also estimated that between 30-40% of EHRs are missing half of their expected data values.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Doctors spend too much time trawling through data that is often incomplete. That is not a doctor quality problem. It is a data management problem. Doctors are smart but can\u2019t be expected to remember every detail about all of their patients. However, for truly personalized medicine, all of this data is essential. The data deserves as much care as patients and like an excellent doctor, Couchbase is uniquely suited to solve this specific data management problem.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The state of AI today requires a robust data layer. General purpose models are not trained on healthcare data and that increases the likelihood of hallucinations that are unacceptable in a healthcare setting. Fine-tuning a model can help train a model on relevant data for specific tasks but the training process can take time and the results can vary. Providing the right context from our operational data store to our models and agents is critically important to reduce the risk of hallucinations and develop an effective intelligence layer. We\u2019ll now look at our considerations on building the right data foundation to enable this.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Working Backward From the Data. Building the Right Data Foundation<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Data on doctors and patients for this demo is artificial. It is as realistic as possible while avoiding issues with using sensitive information. The medical research is real and used papers from PubMed. Healthcare data in practice is primarily in FHIR format, similar to the JSON data models we built, and does not require special processing to ingest and serve to our agents.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The full dataset and schema with separation into scopes and collections for data organization can be viewed on GitHub. Although this was a demo application, with an independent review, Capella can be run in a HIPAA-compliant way and we\u2019d aim to do that in production.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For PatientIQ, our simple data structure uses three buckets:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><b>Scripps:<\/b><span style=\"font-weight: 400\"> Name of our hospital, including all doctor and patient data.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Research:<\/b><span style=\"font-weight: 400\"> Contains all medical research data.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Agent catalog:<\/b><span style=\"font-weight: 400\"> All data on our agents, tools, prompts, and traces.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">For our operational data, Couchbase\u2019s unique memory-first architecture and built-in cache enabled us to achieve submillisecond response times when carrying out Create, Read, Update and Delete operations handled by our chosen Couchbase Python SDK. We also used indexes at the collection level, for example <\/span><i><span style=\"font-weight: 400\">Scripps`.`People`.`Patients`<\/span><\/i><span style=\"font-weight: 400\">, to avoid full bucket scans and take advantage of fast query response times. It was important for PatientIQ to return operational data on a patient both to the dashboard and to our agents. This enabled a doctor with a short amount of time to prepare for a visit to receive timely information with imperceptible latency.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To keep our demo focused, the dataset is limited to one hospital, doctor (Dr. Mitchell) and five patients. Here is an example of a doctor JSON document:<\/span><\/p>\n<pre class=\"lang:default decode:true\">{\r\n        \"doctor_name\": \"Tiffany Mitchell\",\r\n        \"doctor_id\": 1,\r\n        \"doctor_licence_number\": \"123456\",\r\n        \"patients\": [\r\n            \"James Smith\",\r\n            \"Maria Garcia\",\r\n            \"Robert Chen\",\r\n            \"Aisha Khan\",\r\n            \"Emily Johnson\"\r\n        ]\r\n    }\r\n<\/pre>\n<p><span style=\"font-weight: 400\">Each patient has a specific pulmonary condition to ensure a targeted medical research base: Asthma, COPD, Pulmonary Fibrosis, Cystic Fibrosis and Bronchiectasis. Here\u2019s an example of a patient JSON document:<\/span><\/p>\n<pre class=\"lang:default decode:true\"> {\r\n    \"patient_name\": \"James Smith\",\r\n    \"patient_id\": \"1\",\r\n    \"patient_email\": \"james.smith@mail.com\",\r\n    \"patient_cell\": \"8583401257\",\r\n    \"weight\": \"82\",\r\n    \"height\": \"178\",\r\n    \"medical_conditions\": \"Asthma\",\r\n    \"gender\": \"male\",\r\n    \"age\": \"32\",\r\n    \"smoker\": \"no\",\r\n    \"alcohol_consumption\": \"moderate\",\r\n    \"blood_type\": \"A-\",\r\n    \"admission_date\": \"2022-09-22\",\r\n    \"doctor_name\": \"Tiffany Mitchell\",\r\n    \"registered_hospital\": \"Scripps\",\r\n    \"insurance_provider\": \"Aetna\",\r\n    \"insurance_number\": \"32431432412\"\r\n  }\r\n<\/pre>\n<p><span style=\"font-weight: 400\">We now have our hospital (Scripps), doctor (Dr. Mitchell), and patients (e.g., James Smith). Here are other valuable sources of patient data:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Wearables<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Visit notes taken by a doctor<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Private notes taken by a patient about their visit<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Previsit questionnaires filled out by patients<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Appointment details and upcoming patient visits<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This data today is trapped in a single device or system and is in different formats. As a result of this, it can be very hard to move or draw insights from. Yet, when it is brought together, it can create a unique data profile of a patient that a doctor can use to understand their health and hospital experience.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With Couchbase, we are able to optimally store and retrieve our operational data without introducing a separate caching layer or additional system complexity. This allows our team to focus on feature development, which relies on receiving this operational data quickly.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Adding Intelligence to a Strong Data Foundation With Capella AI Services<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Adding intelligence to an application today requires a separate vector database and sending data outside of trusted boundaries to language and embedding models over external APIs. This acts as a barrier to both the data that can be used and a risk to the performance and security of the existing application.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Couchbase Capella and AI Services provide the ability for a developer to overcome those barriers, with optimized vector database support built into the platform and the ability to deploy and run NVIDIA optimized models within a private network boundary shared with your data, without traffic traversing the public internet. For PatientIQ, we were able to use two secure models deployed in the Capella Model Service.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17931\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM.png\" alt=\"\" width=\"1270\" height=\"392\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM.png 1270w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM-300x93.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM-1024x316.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM-768x237.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.27.36-PM-18x6.png 18w\" sizes=\"auto, (max-width: 1270px) 100vw, 1270px\" \/><\/p>\n<p><span style=\"font-weight: 400\">We decided on the following operational data to send to our text embedding model <\/span><b>\uc5d4\ube44\ub514\uc544\/\ub77c\ub9c8-3.2-NV-EMBEDQA-1B-V2<\/b><span style=\"font-weight: 400\">:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><b>Visit notes:<\/b><span style=\"font-weight: 400\"> Taken by a doctor about a patient\u2019s visit.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Medical research:<\/b><span style=\"font-weight: 400\"> Papers focused on pulmonary health conditions.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Traditionally, turning this data into text embeddings that are usable for semantic similarity search would require building a custom data pipeline. A cleaning process to normalize the text into a consistent format. A chunking strategy to handle long form content like research papers. Code to call an embedding model and store the resulting vectors. This can add several weeks to the development cycle before any meaningful AI functionality is delivered.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With AI Services, the Data Processing service was used to simplify the process. There are data preprocessing options that can be used to control how the data is vectorized. We vectorized specific JSON fields and returned a new field inside of our JSON document containing our text embeddings. As one example, medical research was extracted from PubMed using BigQuery with the following SQL query:<\/span><\/p>\n<pre class=\"lang:default decode:true\">SELECT author, title, article_text, article_citation, pmc_link\r\nFROM `bigquery-public-data.pmc_open_access_commercial.articles`\r\nWHERE\r\n REGEXP_CONTAINS(LOWER(IFNULL(title, '')),\r\n   r'asthma|copd|chronic obstructive pulmonary|emphysema|pneumonia|influenza|pulmonary fibrosis|sarcoidosis|pulmonary hypertension|respiratory|pulmonary')\r\nLIMIT 50;\r\n<\/pre>\n<p><span style=\"font-weight: 400\">The query returned 50 pulmonary research papers that were then exported to JSON. The text in the <\/span><b>article_text<\/b><span style=\"font-weight: 400\"> field for 50 documents was vectorized and stored in a new field <\/span><b>article_text_vectorized<\/b><span style=\"font-weight: 400\">. We can retrieve five example papers using Capella iQ to write our SQL++ query.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17932\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM.png\" alt=\"\" width=\"1208\" height=\"604\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM.png 1208w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM-300x150.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM-1024x512.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM-768x384.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.35-PM-18x9.png 18w\" sizes=\"auto, (max-width: 1208px) 100vw, 1208px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17933\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM.png\" alt=\"\" width=\"1282\" height=\"652\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM.png 1282w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM-300x153.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM-1024x521.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM-768x391.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.29.46-PM-18x9.png 18w\" sizes=\"auto, (max-width: 1282px) 100vw, 1282px\" \/><\/p>\n<p><span style=\"font-weight: 400\">The workflow automates the embedding pipeline process and stores the results in the <\/span><b>Research.Pubmed.Pulmonary<\/b><span style=\"font-weight: 400\"> collection. Optionally, a hyperscale index is created when setting up a workflow. Hyperscale indexes are set up for PatientIQ because the application performs pure vector searches and benefits from optimizations for indexing a single vector column.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Healthcare data is often not archived quickly because medical history can date back several years and there is a high possibility that the index will grow to hundreds or even billions of documents for large healthcare systems. The hyperscale index is a great choice to future-proof a large-scale retrieval system.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17934\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM.png\" alt=\"\" width=\"1244\" height=\"486\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM.png 1244w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM-300x117.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM-1024x400.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM-768x300.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.30.42-PM-18x7.png 18w\" sizes=\"auto, (max-width: 1244px) 100vw, 1244px\" \/><\/p>\n<p><span style=\"font-weight: 400\">The hyperscale index has a single replica, handles 2048 dimensions output by the NVIDIA llama-3.2-nv-embedqa-1b-v2 text embedding model and uses L2, Euclidean-squared similarity search algorithm. There are four similarity algorithms depending on your use case and we\u2019d consider changing from L2 to Cosine in production because we care primarily about semantic meaning, as magnitude is not as important.<\/span><\/p>\n<p><span style=\"font-weight: 400\">You can see reference to Inverted File Index (IVF) and SQ8 Quantization. These are important configuration knobs you can turn to deliver optimal vector search performance. IVF for making vector searches faster by limiting the number of comparisons to vectors close to the relevant centroids. Scalar Quantization (SQ) lowers the dimensions to 8 bit integers, reducing the memory needed for search and improving the speed because those integer operations are computationally less expensive than floating point operations.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Importantly for PatientIQ, vector data is created, stored, and queried optimally alongside our operational data, without complex pipelines, configuration, or a separate vector database.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In addition to an embedding model, we deployed a large language model <\/span><b>mistralai\/mistral-7b-instruct-v0.3. <\/b><span style=\"font-weight: 400\">The model is run in a NVIDIA-optimized environment with additional configuration options for caching, guardrails, and jailbreak protection. In production, we\u2019d enable all and use caching to reduce our number of LLM calls, tokens used, and costs.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In a healthcare setting, sending data over the internet to public model endpoints increases the risk of data privacy breaches. Being able to use the Model Service where data and inference are colocated provides greater confidence to build intelligent features whilst protecting the underlying data.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The LLM was used in two ways by PatientIQ:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Summarize patient information across the dashboard.<\/span><\/li>\n<\/ol>\n<p>Using the Model Service API and our endpoint for \/v1\/chat\/completions, a summary of a patient\u2019s general details and their answers provided in a pre-visit questionnaire are turned into succinct digestible paragraphs that a doctor can quickly understand before a patient comes in to see them.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17935\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM.png\" alt=\"\" width=\"1440\" height=\"554\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM.png 1440w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM-300x115.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM-1024x394.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM-768x295.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM-18x7.png 18w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.31.32-PM-1320x508.png 1320w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<p><span style=\"font-weight: 400\">This is an example of retrieval-augmented generation (RAG) and benefits from our operational data stored in the Capella platform used as a knowledge base to provide context to a prompt. This type of RAG was used to power intelligent summarization across the PatientIQ platform and the LLM interacting with the operational data is able to do so in the same US East AWS region, delivering fast responses to the dashboard.<\/span><\/p>\n<p><span style=\"font-weight: 400\">2. Link to an AI Function to perform sentiment analysis on confidential patient visit notes.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Patient feedback notes are about the visits after seeing their doctor. The contents of the notes are intended to be private and not shared directly with the doctor. Instead, a Capella AI Function that is linked to the Mistral LLM is used with the following SQL++<\/span> <span style=\"font-weight: 400\">query to perform sentiment analysis over the contents of the notes.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">There is also the option here to use a specialized model in AWS Bedrock that is trained on healthcare data. This can be an important way to ensure higher accuracy with a tailored model association when executing AI Functions.<\/span><\/p>\n<p><span style=\"font-weight: 400\">AI Functions allow you to perform prebuilt AI operations like sentiment analysis directly with a SQL++ query and less manual code. Here is our SQL++ query:<\/span><\/p>\n<pre class=\"lang:default decode:true\">SELECT\r\n      p.doctor_id,\r\n      p.doctor_name,\r\n      p.patient_id,\r\n      p.visit_date,\r\n      p.visit_notes,\r\n      default:ai_sentiment({\r\n          \"text\": p.visit_notes,\r\n          \"temperature\": 0,  #The temperature hyperparameter is set to 0 for max. determinism.\r\n          \"max_tokens\": 500\r\n      }) AS visit_sentiment\r\nFROM `Patient` AS p\r\nLIMIT 100;\r\n<\/pre>\n<p><span style=\"font-weight: 400\">See this negative sentiment result for example:<\/span><\/p>\n<pre class=\"lang:default decode:true\">  \"visit_notes\": \"Energy is low today. Unhappy with my Doctor\u2019s response. Seemed distracted and disinterested.\",\r\n   \"visit_sentiment\": [\r\n     {\r\n       \"response\": \"negative\"\r\n     }\r\n<\/pre>\n<p><span style=\"font-weight: 400\">The general sentiment of how a patient is feeling about their doctor is then populated on the PatientIQ frontend.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17936\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM.png\" alt=\"\" width=\"1156\" height=\"696\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM.png 1156w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM-300x181.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM-1024x617.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM-768x462.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.33.47-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1156px) 100vw, 1156px\" \/><\/p>\n<p><span style=\"font-weight: 400\">This implementation provided a patient\u2019s last visit feedback to give their doctor an idea of how they might be feeling heading into their next appointment. Doctors can treat patients exhibiting negative sentiments with extra care and adapt to an upcoming visit accordingly.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Taking Action on Intelligence. Building an Agentic Patient 360<\/span><\/h2>\n<p><span style=\"font-weight: 400\">The next era of software will be agentic. Software will be capable of taking actions on data before results are delivered to us as users. That means that our software can take smart actions on data, resulting in more useful outputs that we can use to take our own actions in the physical world.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">An important caveat to note for our demonstration is that we used an external LLM, but this would be switched out for an LLM with support for tool calling in Capella\u2019s Model Service in production. We did not want to send patient data outside of our trusted environment and we observed latency issues when interacting with an external API.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">If we can remove small administrative tasks for doctors through agentic actions, the result is an increased amount of time to spend on taking action with their patients. We chose four agents to demonstrate examples of useful actions:<\/span><\/p>\n<p><strong>1. Pulmonary Researcher<\/strong><\/p>\n<p>This agent fetches a patient\u2019s condition, e.g., asthma, and performs semantic similarity search to return relevant research papers related to that condition. The prompt uses our LLM in the Model Service to summarize the research and display it on the dashboard. A doctor can then ask a more specific question. The question is vectorized, enabling semantic similarity search to return the most relevant answers to the doctor\u2019s clinical question. Answers are returned with the sources used to generate the answer.<b><\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17937\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM.png\" alt=\"\" width=\"1090\" height=\"452\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM.png 1090w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM-300x124.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM-1024x425.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM-768x318.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.34.41-PM-18x7.png 18w\" sizes=\"auto, (max-width: 1090px) 100vw, 1090px\" \/><\/p>\n<p><span style=\"font-weight: 400\">We used a web search tool to find new medical research and return relevant papers from the top three web results. A doctor can verify the source and then choose to add it to their trusted medical research base. When a paper is added, it is vectorized. The new paper is persisted to Capella and is made available to help answer future inquiries.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17938\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.15-PM.png\" alt=\"\" width=\"702\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.15-PM.png 702w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.15-PM-300x231.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.15-PM-16x12.png 16w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Questions, answers, and a rating score are stored in Capella to use for assessing and improving future performance of this functionality.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17939\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM.png\" alt=\"\" width=\"1080\" height=\"574\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM.png 1080w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM-300x159.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM-1024x544.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM-768x408.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM-18x10.png 18w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.35.46-PM-818x434.png 818w\" sizes=\"auto, (max-width: 1080px) 100vw, 1080px\" \/><\/p>\n<p><span style=\"font-weight: 400\">The agent saves the doctor time from searching for relevant literature for a patient\u2019s condition by providing a quick summary and answers to questions from their trusted research base.<\/span><\/p>\n<p><b>2. DocNotes Searcher<\/b><\/p>\n<p>This agent searches through notes taken by a doctor during and after visits with patients. A doctor can ask questions in the search to retrieve information from previous visits to help make more informed decisions. Notes are written in PatientIQ, vectorized, and saved to Capella. When a doctor asks a question, semantically similar results are returned as context to the LLM in the Model Service that then delivered as an answer.<b><\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17940\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.37.13-PM.png\" alt=\"\" width=\"904\" height=\"546\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.37.13-PM.png 904w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.37.13-PM-300x181.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.37.13-PM-768x464.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.37.13-PM-18x12.png 18w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/p>\n<p><span style=\"font-weight: 400\">This agent saves doctor\u2019s time from searching for notes and reading irrelevant content by asking an important question and returning a specific answer directly before a patient visit.<\/span><\/p>\n<p><b>3. Previsit Summarizer<\/b><\/p>\n<p>This agent reviews a patient\u2019s previsit questionnaire and allows doctors to see a summary before an upcoming appointment with a patient.<b><\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17941\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.18-PM.png\" alt=\"\" width=\"730\" height=\"968\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.18-PM.png 730w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.18-PM-226x300.png 226w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.18-PM-9x12.png 9w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.18-PM-300x398.png 300w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/p>\n<p><span style=\"font-weight: 400\">The rich detail in the questionnaire is used as context supplied by Capella to the LLM in Model Service and the essential details are provided to the doctor for simple consumption. For example, the top five patient questions for an upcoming appointment is provided along with and the current medications the patient is prescribed. Reading through an entire questionnaire before every patient visit would be very time-consuming, especially as the number of patient visits per day increases.<\/span><\/p>\n<p><b>4. Wearable Alerter<\/b><\/p>\n<p>This agent reviews a patient\u2019s 30-day wearable data from a device like an Apple Watch and alerts the doctor if there are any concerning trends. It uses the patient\u2019s identified condition and gives guidance on things to look out for when performing analysis, for example, an asthmatic patient.<b><\/b><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17942\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.45-PM.png\" alt=\"\" width=\"926\" height=\"506\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.45-PM.png 926w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.45-PM-300x164.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.45-PM-768x420.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.38.45-PM-18x10.png 18w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Above is an illustration of a critical alert for a patient\u2019s oxygen saturation dropping below 90%. The doctor can set the thresholds to look out for, and the agent can perform the consistent monitoring of the data. Wearable data provides a recent snapshot of patient health that doctors\u00a0 can use to deliver tailored treatment.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">LangGraph ReAct Agents. Prompts, Tools and Traces in Couchbase\u2019s Agent Catalog<\/span><\/h2>\n<p><span style=\"font-weight: 400\">All agents use LangGraph as an orchestration framework and are simple ReAct agents that behave in this way.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17943\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM.png\" alt=\"\" width=\"464\" height=\"470\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM.png 464w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM-296x300.png 296w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM-12x12.png 12w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.39.30-PM-300x304.png 300w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/p>\n<p><span style=\"font-weight: 400\">A key difference is that the tools, prompts, and traces are handled by Couchbase\u2019s Agent Catalog. Prompts and tools can be created using <\/span><b>\uc5d0\uc774\uc804\ud2b8 \ucd94\uac00<\/b><span style=\"font-weight: 400\"> from the CLI. Agent Catalog converts the SQL++ queries, semantic searches, and HTTP requests into Python functions that can be retrieved by our agents.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For PatientIQ, we created 28 tools and five prompts that are stored locally and in Capella. Sentence transformers were used as well as the<\/span><b> ll-MiniLM-L12-v2<\/b><span style=\"font-weight: 400\"> local embedding model to convert the prompts and tools into text embeddings.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17944\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM.png\" alt=\"\" width=\"1182\" height=\"696\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM.png 1182w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM-300x177.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM-1024x603.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM-768x452.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.40.35-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1182px) 100vw, 1182px\" \/><\/p>\n<p><span style=\"font-weight: 400\">With Agent Catalog, our agents can find relevant tools and prompts using semantic similarity. This can reduce an agent\u2019s confusion when dealing with lots of prompts and tools and failing to find them from a keyword alone.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Administrative staff have oversight over the prompts and tools that our agents use, which reduces the risk of unauthorized tool use and ensures no actions are taken that are not visible. There is also an option to add human approval.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">With tools and prompts created and integrated with our agents, the catalog can be indexed and published to Capella. We are able to view, check Git, and review version history.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17945\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM.png\" alt=\"\" width=\"1116\" height=\"656\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM.png 1116w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM-300x176.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM-1024x602.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM-768x451.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.17-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1116px) 100vw, 1116px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17946\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM.png\" alt=\"\" width=\"1136\" height=\"588\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM.png 1136w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM-300x155.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM-1024x530.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM-768x398.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.41.23-PM-18x9.png 18w\" sizes=\"auto, (max-width: 1136px) 100vw, 1136px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Storing, versioning, and retrieving prompts and tools from Capella makes the development process simpler to operate across projects, teams, and agents.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Although agents will never replace a doctor\u2019s actions, they do allow PatientIQ to act upon our data foundation. The result gives doctors more time to focus on the actions that truly matter for patients.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Working With Non Determinism. Troubleshooting and Evaluating Agents<\/span><\/h2>\n<p><span style=\"font-weight: 400\">One challenge with agentic functionality is introducing non determinism, where the same input can produce different outputs or take different paths to get there. This can be beneficial to a user\u2019s experience by making software more human-like, but it can also result in unexpected outcomes. Aside from using retrieval-augmented generation (RAG) to provide context to our prompts, we tried to tackle the downsides of non deterministic agents in two additional ways.\u00a0<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Using the Agent Tracer and SQL++ queries to troubleshoot unexpected agent behavior.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">One example that our team experienced was the Pulmonary Researcher returning research papers as references that did not exist. At first, we did not understand why this was happening from our application code. We were then able to check the Agent Tracer on this specific agent and narrow it down to the tool calls.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17947\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM.png\" alt=\"\" width=\"1118\" height=\"670\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM.png 1118w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM-300x180.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM-1024x614.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM-768x460.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.23-PM-18x12.png 18w\" sizes=\"auto, (max-width: 1118px) 100vw, 1118px\" \/><\/p>\n<p><span style=\"font-weight: 400\">We noticed that our paper search tool was not returning any tool results. We went back to the application code and could see that when using a keyword search, we used the wrong keyword to identify it. Our agent wasn\u2019t using the tool we had created and was hallucinating non existing research papers.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-17948\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM.png\" alt=\"\" width=\"1196\" height=\"646\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM.png 1196w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM-300x162.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM-1024x553.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM-768x415.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-17-at-2.42.54-PM-18x10.png 18w\" sizes=\"auto, (max-width: 1196px) 100vw, 1196px\" \/><\/p>\n<p><span style=\"font-weight: 400\">We performed further investigation with SQL++ queries by checking our logs and agent sessions when this occurred. We were then able to troubleshoot and resolve the agent that was misbehaving quickly.<\/span><\/p>\n<p><span style=\"font-weight: 400\">2. Building our own agent evals using ragas to come up with a scoring system.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In PatientIQ, we ran evaluations for each agent using example prompts through the same agent flows, and then used ragas and LLM-graded metrics to score the results against expectations. We came up with our own score dimensions like answer quality, groundedness, and relevance to compare changes over time as prompts, tools, and our retrieval logic evolved. This is an example of metrics for our Pulmonary Researcher:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Clinical relevance: <\/b><span style=\"font-weight: 400\">How clinically relevant and responsive the answer is to the question and patient context.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Actionability:<\/b><span style=\"font-weight: 400\"> How actionable the next steps and clinical reasoning are for a clinician.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Evidence grounding:<\/b><span style=\"font-weight: 400\"> How well the answer is grounded in evidence and avoids unsupported claims. Penalty for hallucinated citations.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Clinical relevance was introduced after a problem was identified with the agent returning a made-up research paper as evidence for an answer to a clinical question. After it was fixed, we saw an improvement in the evidence grounding score.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Toward PatientIQ in Production and at Scale. Why to Build It on Couchbase?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">PatientIQ demonstrates what is possible when operational data, vector search, models, and agent tooling live on a single platform. There is no need to stitch together multiple databases, external vector stores, and public API calls that send private data outside of secure boundaries. Models and data can operate within the same private network. Queries run at memory-first speed. Prompts and tools are versioned centrally. The system can scale horizontally to billions of documents and vectors while maintaining low-latency access and operating at a reduced total cost of ownership (TCO).<\/span><\/p>\n<p><span style=\"font-weight: 400\">The business implications are significant. Doctors save time that was previously lost navigating fragmented EHR systems. Patients receive more attentive, context-aware care. Hospitals reduce administrative overhead and potential negligence risk. Satisfaction improves on both sides of the interaction. Most importantly, doctors spend more time doing what only humans can do: delivering diagnoses, providing empathy, and offering treatment.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Healthcare today does not suffer from a shortage of capable professionals. It suffers from fragmented data. AI does not fix broken infrastructure when simply bolted on top. When it is built on a strong data foundation, it can amplify human expertise in powerful ways. The future of software is agentic. The future of healthcare is data-driven. PatientIQ is what happens when those two ideas meet Couchbase, the operational data platform for AI.<\/span><\/p>\n<p><span style=\"font-weight: 400\">While new market entrants are still experimenting with data persistence, Couchbase is already the battle-tested data foundation for high stakes healthcare AI. Trusted by industry leaders like Arthrex, BD, and Maccabi Healthcare Services, our platform handles everything from sub-1 ms response times to offline capable patient apps and live surgical data. By bridging the gap between fragmented data and life saving care, Couchbase offers the proven reliability and performance required for the next generation of medical innovation.<\/span><\/p>\n<p><b>\ucc38\uc870<\/b><\/p>\n<p><span style=\"font-weight: 400\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/ai-services\/\"><span style=\"font-weight: 400\">AI \uc11c\ube44\uc2a4<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/github.com\/couchbase\/couchbase-python-client\"><span style=\"font-weight: 400\">Python SDK<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/github.com\/couchbaselabs\/agent-catalog\"><span style=\"font-weight: 400\">\uc0c1\ub2f4\uc6d0 \uce74\ud0c8\ub85c\uadf8<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ai\/model-service-api-reference\/rest-api.html#tag\/Completions\/operation\/createCompletion\"><span style=\"font-weight: 400\">Model Service API<\/span><\/a><span style=\"font-weight: 400\">\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/capella\/trust\/\"><span style=\"font-weight: 400\">\ud074\ub77c\uc6b0\ub4dc \uc2e0\ub8b0 \uc13c\ud130<\/span><\/a><span style=\"font-weight: 400\"> &#8211; HIPAA<\/span><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/developers\/architecture\/\"><span style=\"font-weight: 400\">Unique Architectural Advantages<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ai\/security\/add-aws-privatelink.html\"><span style=\"font-weight: 400\">AWS PrivateLink Connection<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/press-releases\/couchbase-ai-services-put-enterprises-in-control-of-agentic-ai\/\"><span style=\"font-weight: 400\">NVIDIA AI \uc5d4\ud130\ud504\ub77c\uc774\uc988<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-index\/vectors-and-indexes-overview.html#IVF\"><span style=\"font-weight: 400\">Inverted File Index<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-index\/vectors-and-indexes-overview.html#sq\"><span style=\"font-weight: 400\">SQ8 Quantization<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"http:\/\/docs.couchbase.com\/ai\/build\/vectorization-service\/data-processing.html\"><span style=\"font-weight: 400\">Process Data for Capella<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/cloud\/vector-index\/use-vector-indexes.html\"><span style=\"font-weight: 400\">Choosing the Right Vector Index<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/cloud\/get-started\/capella-iq\/get-started-with-iq.html\"><span style=\"font-weight: 400\">Get Started With Capella iQ<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ai\/build\/integrate-agent-with-catalog.html#call\"><span style=\"font-weight: 400\">Calling Tools and Prompts<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/server\/current\/vector-index\/vectors-and-indexes-overview.html#vector_similarity\"><span style=\"font-weight: 400\">Choosing Search Algorithm<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ai\/build\/integrate-agent-with-catalog.html\"><span style=\"font-weight: 400\">Integrate LangGraph Agent<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.couchbase.com\/ai\/build\/ai-functions.html\"><span style=\"font-weight: 400\">Use Capella AI Functions<\/span><\/a><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">LangGraph<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/docs.langchain.com\/oss\/python\/langchain\/agents#example-of-react-loop\"><span style=\"font-weight: 400\">Build ReAct Agents<\/span><\/a><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">PatientIQ<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/github.com\/wooyakob\/PatientIQ\"><span style=\"font-weight: 400\">PatientIQ GitHub<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/deepwiki.com\/wooyakob\/PatientIQ\"><span style=\"font-weight: 400\">PatientIQ DeepWiki<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/\"><span style=\"font-weight: 400\">PubMed Research Papers<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC12652376\/\"><span style=\"font-weight: 400\">Incompleteness of Electronic Health Records<\/span><\/a><\/li>\n<li style=\"font-weight: 400\"><a href=\"https:\/\/youtu.be\/n4VM2ILW7Bc\"><span style=\"font-weight: 400\">YouTube Demo<\/span><\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>What Is PatientIQ and Why Build it? PatientIQ is an agentic patient 360 built using Couchbase Capella AI Services. It is one example of a solution to a problem that we are trying to solve. For PatientIQ, it began with [&hellip;]<\/p>","protected":false},"author":85703,"featured_media":17949,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[10123],"tags":[],"ppma_author":[10174],"class_list":["post-17930","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agentic-ai-apps"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PatientIQ: Building a Patient 360 on Couchbase - The Couchbase Blog<\/title>\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\/ko\/patientiq-building-a-patient-360-on-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PatientIQ: Building a Patient 360 on Couchbase\" \/>\n<meta property=\"og:description\" content=\"What Is PatientIQ and Why Build it? PatientIQ is an agentic patient 360 built using Couchbase Capella AI Services. It is one example of a solution to a problem that we are trying to solve. For PatientIQ, it began with [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/patientiq-building-a-patient-360-on-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-17T23:12:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jake Wood, Software Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jake Wood, Software Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/\"},\"author\":{\"name\":\"Jake Wood, Software Engineer\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d7027734082285934927e3ff8cb8f9bf\"},\"headline\":\"PatientIQ: Building a Patient 360 on Couchbase\",\"datePublished\":\"2026-03-17T23:12:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/\"},\"wordCount\":3655,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png\",\"articleSection\":[\"Agentic AI Applications\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/\",\"name\":\"PatientIQ: Building a Patient 360 on Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png\",\"datePublished\":\"2026-03-17T23:12:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PatientIQ: Building a Patient 360 on 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\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@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\/d7027734082285934927e3ff8cb8f9bf\",\"name\":\"Jake Wood, Software Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/6925af6e4168598fa5776c5e6726bcef\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png\",\"caption\":\"Jake Wood, Software Engineer\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/jakewood\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PatientIQ: Building a Patient 360 on Couchbase - The Couchbase Blog","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\/ko\/patientiq-building-a-patient-360-on-couchbase\/","og_locale":"ko_KR","og_type":"article","og_title":"PatientIQ: Building a Patient 360 on Couchbase","og_description":"What Is PatientIQ and Why Build it? PatientIQ is an agentic patient 360 built using Couchbase Capella AI Services. It is one example of a solution to a problem that we are trying to solve. For PatientIQ, it began with [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/patientiq-building-a-patient-360-on-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2026-03-17T23:12:04+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png","type":"image\/png"}],"author":"Jake Wood, Software Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jake Wood, Software Engineer","Est. reading time":"20\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/"},"author":{"name":"Jake Wood, Software Engineer","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d7027734082285934927e3ff8cb8f9bf"},"headline":"PatientIQ: Building a Patient 360 on Couchbase","datePublished":"2026-03-17T23:12:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/"},"wordCount":3655,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png","articleSection":["Agentic AI Applications"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/","name":"PatientIQ: Building a Patient 360 on Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png","datePublished":"2026-03-17T23:12:04+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/PatientIQ_-Building-a-Patient-360-on-Couchbase.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/patientiq-building-a-patient-360-on-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PatientIQ: Building a Patient 360 on Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","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":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@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\/d7027734082285934927e3ff8cb8f9bf","name":"Jake Wood, \uc18c\ud504\ud2b8\uc6e8\uc5b4 \uc5d4\uc9c0\ub2c8\uc5b4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/6925af6e4168598fa5776c5e6726bcef","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png","caption":"Jake Wood, Software Engineer"},"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/jakewood\/"}]}},"authors":[{"term_id":10174,"user_id":85703,"is_guest":0,"slug":"jakewood","display_name":"Jake Wood, Software Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/cb-blog-author-jake-wood.png"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/17930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/85703"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=17930"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/17930\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/17949"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=17930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=17930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=17930"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=17930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}