Skip to main content
Glama

Smart EHR MCP Server

by jmandel
fhirSearchQueries.ts2.78 kB
/** * Shared configuration for initial FHIR resource search queries. */ export interface FhirSearchQuery { resourceType: string; /** * Search parameters for the query. * The `patient` parameter will be added automatically by the function. */ params?: Record<string, string>; } // Base configuration without patient ID const BASE_SEARCH_QUERIES: Readonly<Omit<FhirSearchQuery, 'params'> & { params?: Omit<FhirSearchQuery['params'], 'patient'> }>[] = [ { resourceType: 'Observation', params: { category: 'laboratory' } }, { resourceType: 'Observation', params: { category: 'vital-signs' } }, { resourceType: 'Observation', params: { category: 'social-history' } }, { resourceType: 'Observation', params: { category: 'sdoh' } }, { resourceType: 'Observation', params: { category: 'functional-status' } }, { resourceType: 'Observation', params: { category: 'disability-status' } }, { resourceType: 'Observation', params: { category: 'mental-health' } }, { resourceType: 'Condition', params: {} }, { resourceType: 'MedicationRequest', params: {} }, { resourceType: 'AllergyIntolerance', params: {} }, { resourceType: 'Immunization', params: {} }, { resourceType: 'Procedure', params: {} }, { resourceType: 'DiagnosticReport', params: {} }, { resourceType: 'DocumentReference', params: {} }, { resourceType: 'CarePlan', params: {} }, { resourceType: 'CareTeam', params: {} }, { resourceType: 'Coverage', params: {} }, { resourceType: 'Device', params: {} }, { resourceType: 'Encounter', params: {} }, { resourceType: 'Goal', params: {} }, { resourceType: 'MedicationDispense', params: {} }, { resourceType: 'MedicationStatement', params: {} }, { resourceType: 'QuestionnaireResponse', params: {} }, { resourceType: 'RelatedPerson', params: {} }, { resourceType: 'Specimen', params: {} }, { resourceType: 'ServiceRequest', params: {} }, { resourceType: 'Patient', params: {} }, { resourceType: 'Practitioner', params: {} }, { resourceType: 'Organization', params: {} }, ]; /** * Generates the set of initial bulk search queries for a specific patient. * Ensures the `patient` parameter is included in all queries. * Parameters like `_count` should be added during the fetch execution. * * @param patientId The ID of the patient to search for. * @returns A read-only array of search query configurations. */ export function getInitialFhirSearchQueries(patientId: string): Readonly<FhirSearchQuery[]> { return BASE_SEARCH_QUERIES.map(baseQuery => ({ ...baseQuery, params: { ...(baseQuery.params || {}), patient: patientId, // Ensure patient ID is always included }, })); }

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/jmandel/health-record-mcp'

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