Class CacheKeys
Generador centralizado de claves de caché.
- Prefijos normalizados para que el CacheDispatcher clasifique el backend.
- Overloads "KeyWithTtl" para devolver (key, ttl) en una llamada.
public static class CacheKeys
- Inheritance
-
CacheKeys
- Inherited Members
Methods
ConfigObservationsAll()
Returns the configuration key string "configObservations:all", typically used to identify a setting or cache entry related to all configuration observations.
public static string ConfigObservationsAll()
Returns
- string
The string "configObservations:all".
ConfigObservationsAllKeyWithTtl(CacheSettings?)
public static (string Key, TimeSpan? Ttl) ConfigObservationsAllKeyWithTtl(CacheSettings? settings)
Parameters
settingsCacheSettings
Returns
DisplayBase(ObjectId)
Builds the base configuration key used to reference a display entry.
public static string DisplayBase(ObjectId displayId)
Parameters
displayIdObjectIdThe identifier of the display whose base key is being generated.
Returns
- string
A formatted key string combining the display section, the display identifier, and the "base" suffix.
DisplayBaseKeyWithTtl(CacheSettings?, ObjectId)
Builds a cache key for a display entity along with its resolved time-to-live (TTL) based on the provided cache settings.
public static (string Key, TimeSpan? Ttl) DisplayBaseKeyWithTtl(CacheSettings? settings, ObjectId displayId)
Parameters
settingsCacheSettingsOptional cache settings used to resolve the TTL for display entities. When null, a default TTL is applied.
displayIdObjectIdThe identifier of the display used to compose the base cache key.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL for the display entity.
DisplayWithConfig(ObjectId)
Builds a configuration display key for the specified display identifier, used to look up or cache the associated configuration entry.
public static string DisplayWithConfig(ObjectId displayId)
Parameters
displayIdObjectIdThe identifier of the display whose configuration key is being generated.
Returns
- string
A formatted string key in the form "configDisplays:display:{displayId}:config" representing the display's configuration entry.
DisplayWithConfigKeyWithTtl(CacheSettings?, ObjectId)
Builds a cache key and resolves its associated time-to-live (TTL) for a display entity using the provided configuration settings.
public static (string Key, TimeSpan? Ttl) DisplayWithConfigKeyWithTtl(CacheSettings? settings, ObjectId displayId)
Parameters
settingsCacheSettingsThe cache settings used to resolve the TTL for the display entity; may be
null.displayIdObjectIdThe identifier of the display entity for which the cache key is generated.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL, which may be
nullif no TTL is configured.
GroupedObs(ObjectId, string)
Builds a formatted cache key for grouped observations associated with a specific patient, combining the grouped field name and the patient identifier.
public static string GroupedObs(ObjectId patientId, string groupedFieldName)
Parameters
patientIdObjectIdThe unique identifier of the patient whose grouped observations are being addressed.
groupedFieldNamestringThe name of the grouped field used to categorize the observations.
Returns
- string
A formatted string in the pattern
groupedObs:{groupedFieldName}:patient:{patientId}.
GroupedObsKeyWithTtl(CacheSettings?, ObjectId, string)
Builds a cache key for a patient's grouped observations and resolves the associated time-to-live (TTL) from the supplied cache settings.
public static (string Key, TimeSpan? Ttl) GroupedObsKeyWithTtl(CacheSettings? settings, ObjectId patientId, string groupedFieldName)
Parameters
settingsCacheSettingsThe cache settings used to resolve the TTL; may be
null, in which case a default TTL is applied.patientIdObjectIdThe identifier of the patient whose grouped observations are being cached.
groupedFieldNamestringThe name of the grouped field used to compose the cache key.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL, which may be
nullwhen no expiry is configured.
LatestObservations(ObjectId, IEnumerable<string>, int?)
Builds a cache key for retrieving the latest observations of a patient, optionally scoped to specific fields and a trailing count.
public static string LatestObservations(ObjectId patientId, IEnumerable<string> fieldNames, int? last = null)
Parameters
patientIdObjectIdThe unique identifier of the patient whose observations are being keyed.
fieldNamesIEnumerable<string>The collection of field names to include in the key, normalized via
Normalize.lastint?Optional maximum number of recent observations to consider; when
null, defaults to0.
Returns
- string
A formatted cache key string combining the patient id, normalized field names, and the last value.
LatestObservationsKeyWithTtl(CacheSettings?, ObjectId, IEnumerable<string>, int?)
Generates a cache key for the latest patient observations along with its associated Time-To-Live (TTL) duration. The TTL is resolved from the provided cache settings for the PatientObservations entity type.
public static (string Key, TimeSpan? Ttl) LatestObservationsKeyWithTtl(CacheSettings? settings, ObjectId patientId, IEnumerable<string> fieldNames, int? last = null)
Parameters
settingsCacheSettingsThe optional cache settings used to resolve the TTL for the cache key.
patientIdObjectIdThe identifier of the patient whose latest observations are being queried.
fieldNamesIEnumerable<string>The collection of field names to include in the latest observations cache key.
lastint?The optional number of most recent observations to consider when building the cache key.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL for the cache entry.
LatestPumps(ObjectId, int?)
Builds a cache key for retrieving the latest pump observations associated with the specified patient, using an optional entry count that defaults to zero when not provided.
public static string LatestPumps(ObjectId patientId, int? last = null)
Parameters
patientIdObjectIdThe unique identifier of the patient whose latest pump observations are being requested.
lastint?The optional number of most recent pump observation entries to include; when null, zero is used as a fallback.
Returns
- string
A formatted cache key string of the form
pumpObs:latest:{patientId}:{last}, withlastresolved to0when null.
LatestPumpsKeyWithTtl(CacheSettings, ObjectId, int?)
Builds the cache key and resolves the TTL for the latest pump observations of a patient, optionally limited to a specified number of entries.
public static (string Key, TimeSpan? Ttl) LatestPumpsKeyWithTtl(CacheSettings settings, ObjectId patientId, int? last = null)
Parameters
settingsCacheSettingsThe cache settings used to resolve the TTL for pump observation entries.
patientIdObjectIdThe identifier of the patient whose latest pump observations are being cached.
lastint?The optional maximum number of latest pump entries to include in the cache key.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL, which may be null if no TTL is configured.
Normalize(IEnumerable<string>)
Normalizes a collection of strings by removing null or whitespace entries, trimming the remaining values, sorting them using ordinal (case-sensitive) comparison, and joining them with a pipe (|) delimiter to produce a canonical, comparable representation.
public static string Normalize(IEnumerable<string> items)
Parameters
itemsIEnumerable<string>The collection of strings to normalize.
Returns
- string
A pipe-delimited string of the cleaned and sorted values, or an empty string if no valid entries are supplied.
PatientAppointmentsToday(ObjectId)
Generates a cache key for a patient's appointments scheduled on the current UTC day.
public static string PatientAppointmentsToday(ObjectId patientId)
Parameters
patientIdObjectIdThe unique identifier of the patient whose appointments are being keyed.
Returns
- string
A formatted cache key string combining the patient identifier and the current UTC date.
PatientAppointmentsTodayKeyWithTtl(CacheSettings?, ObjectId)
Builds the cache key for a patient's appointments scheduled for today and resolves the associated time-to-live from the provided cache settings.
public static (string Key, TimeSpan? Ttl) PatientAppointmentsTodayKeyWithTtl(CacheSettings? settings, ObjectId patientId)
Parameters
settingsCacheSettingsOptional cache settings used to resolve the TTL for the appointments entity.
patientIdObjectIdThe identifier of the patient whose appointments cache key is being generated.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL, which may be null when no TTL is configured.
PocAppointmentsToday(ObjectId)
Builds a cache key for the appointments associated with the specified Point of Contact for the current UTC day.
public static string PocAppointmentsToday(ObjectId pocId)
Parameters
pocIdObjectIdThe identifier of the Point of Contact whose appointments are being keyed.
Returns
- string
A formatted cache key string combining the PoC identifier and today's UTC date in
yyyyMMddformat.
PocAppointmentsTodayKeyWithTtl(CacheSettings?, ObjectId)
Builds a cache key for today's appointments associated with a Point of Care and resolves its corresponding time-to-live (TTL) using the provided cache settings for the Point of Care entity type.
public static (string Key, TimeSpan? Ttl) PocAppointmentsTodayKeyWithTtl(CacheSettings? settings, ObjectId pocId)
Parameters
settingsCacheSettingsThe cache settings used to resolve the TTL; may be
nullwhen no settings are supplied.pocIdObjectIdThe identifier of the Point of Care whose today's appointments cache key is being generated.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL as a nullable TimeSpan.
PointOfCareBase(ObjectId)
Generates a formatted identifier string for a Point of Care base entity, used as a cache key or lookup reference in the format "pointOfCare:{pocId}:base".
public static string PointOfCareBase(ObjectId pocId)
Parameters
pocIdObjectIdThe unique identifier of the Point of Care entity whose base reference key is being generated.
Returns
- string
A formatted string that combines the "pointOfCare" prefix, the provided
pocId, and the "base" suffix to uniquely identify the base resource of the Point of Care.
PointOfCareBaseKeyWithTtl(CacheSettings?, ObjectId)
Builds a cache key for a Point of Care entity and resolves the associated time-to-live (TTL) from the supplied cache settings.
public static (string Key, TimeSpan? Ttl) PointOfCareBaseKeyWithTtl(CacheSettings? settings, ObjectId pocId)
Parameters
settingsCacheSettingsThe cache settings used by the TTL resolver. May be null, in which case the resolver falls back to its default behavior.
pocIdObjectIdThe identifier of the Point of Care entity used to generate the cache key.
Returns
- (string Key, TimeSpan? Ttl)
A tuple containing the generated cache key and the resolved TTL, which may be null when no expiration is configured.
PointOfCareWithInfoKeyWithTtl(ObjectId)
Builds a cache key for a point of care entry that includes its associated information and is intended to be stored with a time-to-live (TTL).
public static string PointOfCareWithInfoKeyWithTtl(ObjectId pocId)
Parameters
pocIdObjectIdThe identifier of the point of care used to compose the cache key.
Returns
- string
A formatted cache key string in the form
pointOfCare:{pocId}:withInfo.
PointOfCareWithInfoKeyWithTtl(CacheSettings?, ObjectId)
Builds the cache key and resolves the associated time-to-live (TTL) for caching a point of care entry, including its related information.
public static (string Key, TimeSpan? Ttl) PointOfCareWithInfoKeyWithTtl(CacheSettings? settings, ObjectId pocId)
Parameters
settingsCacheSettingsOptional cache settings used to resolve the TTL for the point of care entity. May be
null.pocIdObjectIdThe identifier of the point of care used to build the cache key.