Skip to main content
Glama
conditions-list-questionnaire.ts2.35 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 import { SNOMED } from '@medplum/core'; import type { BotEvent, MedplumClient } from '@medplum/core'; import type { Condition, Patient, QuestionnaireResponse, QuestionnaireResponseItem, Reference, } from '@medplum/fhirtypes'; export async function handler(medplum: MedplumClient, event: BotEvent<QuestionnaireResponse>): Promise<any> { // Get all of the answers from the questionnaire response for (const item of event.input?.item?.[0]?.item as QuestionnaireResponseItem[]) { if (item.answer?.[0]?.valueBoolean) { const condition = await medplum.createResource<Condition>({ resourceType: 'Condition', subject: event.input.subject as Reference<Patient>, encounter: event.input.encounter, extension: [ { url: 'http://hl7.org/fhir/StructureDefinition/condition-assertedDate', valueDateTime: new Date().toISOString(), }, ], clinicalStatus: { text: 'Active', coding: [ { system: 'http://terminology.hl7.org/CodeSystem/condition-clinical', code: 'active', display: 'Active', }, ], }, verificationStatus: { coding: [ { system: 'http://terminology.hl7.org/CodeSystem/condition-ver-status', code: 'confirmed', display: 'Confirmed', }, ], text: 'Confirmed', }, category: [ { coding: [ { system: 'http://terminology.hl7.org/CodeSystem/condition-category', code: 'problem-list-item', display: 'Problem List Item', }, ], text: 'Problem List Item', }, ], code: { coding: [ { system: SNOMED, code: item.linkId, display: item.text, }, ], text: item.text, }, recordedDate: new Date().toISOString(), asserter: event.input.subject as Reference<Patient>, }); console.log('Created condition: ', condition); } } return true; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server