Provides a terminology service, wrapping the SNOMED store and search implementations as a single unified service.
Provides a terminology service, wrapping the SNOMED store and search implementations as a single unified service.
(active-association-targets svc component-id refset-id)
Return the active association targets for a given component.
Return the active association targets for a given component.
(all-transitive-synonyms svc params)
Returns all of the synonyms of the specified concepts, including those of its descendants.
Parameters:
svc : hermes service
params : search parameters to select concepts; one of:
- a map : search parameters as per [[search]]
- a string : a string containing an ECL expression
- a collection : a collection of concept identifiers
Returns all of the synonyms of the specified concepts, including those of its descendants. Parameters: - svc : hermes service - params : search parameters to select concepts; one of: - a map : search parameters as per [[search]] - a string : a string containing an ECL expression - a collection : a collection of concept identifiers
(are-any? svc concept-ids parent-ids)
Are any of the concept-ids subsumed by any of the parent-ids?
Checks the is-a relationships of the concepts in question against the set of parent identifiers.
Are any of the concept-ids subsumed by any of the parent-ids? Checks the is-a relationships of the concepts in question against the set of parent identifiers.
(build-search-index root)
(build-search-index root language-priority-list)
(create-service root import-from)
(create-service root import-from locale-preference-string)
Create a terminology service combining both store and search functionality in a single step. It would be unusual to use this; usually each step would be performed interactively by an end-user.
Create a terminology service combining both store and search functionality in a single step. It would be unusual to use this; usually each step would be performed interactively by an end-user.
(ecl-contains? svc concept-ids ecl)
Do any of the concept-ids satisfy the constraint expression specified? This is an alternative to expanding the valueset and then checking membership.
Do any of the concept-ids satisfy the constraint expression specified? This is an alternative to expanding the valueset and then checking membership.
(expand-ecl svc ecl)
Expand an ECL expression.
Expand an ECL expression.
(expand-ecl-historic svc ecl)
Expand an ECL expression and include historic associations of the results, so that the results will include now inactive/deprecated concept identifiers.
Expand an ECL expression and include historic associations of the results, so that the results will include now inactive/deprecated concept identifiers.
(get-all-children svc concept-id)
(get-all-children svc concept-id type-id)
Return all children of the specified concept. By design, this includes the concept itself.
Return all children of the specified concept. By design, this includes the concept itself.
(get-all-parents svc concept-id)
(get-all-parents svc concept-id type-id)
Returns all parents of the specified concept. By design, this includes the concept itself.
Returns all parents of the specified concept. By design, this includes the concept itself.
(get-child-relationships-of-type svc concept-id type-concept-id)
Returns a collection of identifiers representing the child relationships of the specified type of the specified concept.
Returns a collection of identifiers representing the child relationships of the specified type of the specified concept.
(get-component-refset-ids svc component-id)
Returns a collection of refset identifiers to which this concept is a member.
Returns a collection of refset identifiers to which this concept is a member.
(get-component-refset-items svc component-id)
(get-component-refset-items svc component-id refset-id)
Returns a sequence of refset items for the given component.
Returns a sequence of refset items for the given component.
(get-concept svc concept-id)
Return the concept with the specified identifier.
Return the concept with the specified identifier.
(get-descriptions svc concept-id)
Return a sequence of descriptions for the given concept.
Return a sequence of descriptions for the given concept.
(get-extended-concept svc concept-id)
Return an extended concept that includes the concept, its descriptions,
its relationships and its refset memberships. See
com.eldrix.hermes.snomed/ExtendedConcept
Return an extended concept that includes the concept, its descriptions, its relationships and its refset memberships. See [[com.eldrix.hermes.snomed/ExtendedConcept]]
(get-installed-reference-sets svc)
Return the installed reference sets.
Return the installed reference sets.
(get-parent-relationships-of-type svc concept-id type-concept-id)
Returns a collection of identifiers representing the parent relationships of the specified type of the specified concept.
Returns a collection of identifiers representing the parent relationships of the specified type of the specified concept.
(get-preferred-synonym svc concept-id)
(get-preferred-synonym svc concept-id language-range)
Return the preferred synonym for the concept based on the language preferences specified.
Parameters:
Return the preferred synonym for the concept based on the language preferences specified. Parameters: - svc : hermes service - concept-id : concept identifier - language-range : a single string containing a list of comma-separated language ranges or a list of language ranges in the form of the "Accept-Language " header defined in RFC3066.
(get-reference-sets svc component-id)
DEPRECATED: use get-component-refset-items
instead.
DEPRECATED: use [[get-component-refset-items]] instead.
(get-refset-descriptor-attribute-ids svc refset-id)
Return a vector of attribute description concept ids for the given reference set.
Return a vector of attribute description concept ids for the given reference set.
(get-refset-item svc uuid)
Return a specific refset item by UUID.
Return a specific refset item by UUID.
(get-refset-members svc refset-id & more)
Return a set of identifiers for the members of the given refset(s).
Parameters:
Return a set of identifiers for the members of the given refset(s). Parameters: - refset-id - SNOMED identifier representing the reference set.
(get-status root
&
{:keys [counts? installed-refsets?]
:or {counts? false installed-refsets? true}})
(get-synonyms svc concept-id)
Returns a sequence of synonyms for the given concept.
Returns a sequence of synonyms for the given concept.
(historical-associations svc component-id)
Returns all historical-type associations for the specified component. Result is a map, keyed by the type of association (e.g. SAME-AS) and a sequence of reference set items for that association. Some concepts may be ambiguous and therefore map to multiple targets. Annoyingly, but understandably, the 'moved-to' reference set does not actually reference the new component - but the namespace to which it has moved - so for example an ancient International release may have accidentally including UK specific concepts - so they will have been removed. It is hoped that most MOVED-TO concepts will also have a SAME-AS or POSSIBLY-EQUIVALENT-TO historical association. See https://confluence.ihtsdotools.org/display/DOCRELFMT/5.2.5.1+Historical+Association+Reference+Sets and https://confluence.ihtsdotools.org/display/editorialag/Component+Moved+Elsewhere
Returns all historical-type associations for the specified component. Result is a map, keyed by the type of association (e.g. SAME-AS) and a sequence of reference set items for that association. Some concepts may be ambiguous and therefore map to multiple targets. Annoyingly, but understandably, the 'moved-to' reference set does not actually reference the new component - but the namespace to which it has moved - so for example an ancient International release may have accidentally including UK specific concepts - so they will have been removed. It is hoped that most MOVED-TO concepts will also have a SAME-AS or POSSIBLY-EQUIVALENT-TO historical association. See https://confluence.ihtsdotools.org/display/DOCRELFMT/5.2.5.1+Historical+Association+Reference+Sets and https://confluence.ihtsdotools.org/display/editorialag/Component+Moved+Elsewhere
(import-snomed root dirs)
Import SNOMED distribution files from the directories dirs
specified into
the database directory root
specified.
Import SNOMED distribution files from the directories `dirs` specified into the database directory `root` specified.
(map-features svc source-concept-ids target)
DEPRECATED: Use map-into
instead.
DEPRECATED: Use [[map-into]] instead.
(map-into svc source-concept-ids target)
Map the source-concept-ids into the target, usually in order to reduce the dimensionality of the dataset.
Parameters:
If a source concept id resolves to multiple concepts in the target collection, then a collection will be returned such that no member of the subset is subsumed by another member.
It would be usual to map any source concept identifiers into their modern active replacements, if they are now inactive.
The use of 'map-into' is in reducing the granularity of user-entered data to aid analytics. For example, rather than limiting data entry to the UK emergency reference set, a set of commonly seen diagnoses in emergency departments in the UK, we can allow clinicians to enter highly specific, granular terms, and map to the contents of that reference set as required for analytics and reporting.
For example, '991411000000109' is the UK emergency unit diagnosis refset:
(map-into svc [24700007 763794005] 991411000000109)
=> (#{24700007} #{45170000})
As multiple sclerosis (24700007) is in the reference set, it is returned. However, LGI1-associated limbic encephalitis (763794005) is not in the reference set, the best terms are returned ("Encephalitis" - 45170000).
This can be used to do simple classification tasks - such as determining the broad types of illness. For example, here we use ECL to define a set to include 'neurological disease', 'respiratory disease' and 'infectious disease':
(map-into svc [24700007 763794005 95883001] "118940003 OR 50043002 OR 40733004")
=> (#{118940003} #{118940003} #{40733004 118940003})
Both multiple sclerosis and LGI-1 encephalitis are types of neurological disease (118940003). However, 'Bacterial meningitis' (95883001) is mapped to both 'neurological disease' (118940003) AND 'infectious disease' (40733004).
Map the source-concept-ids into the target, usually in order to reduce the dimensionality of the dataset. Parameters: - svc : hermes service - source-concept-ids : a collection of concept identifiers - target : one of: - a collection of concept identifiers - an ECL expression - a refset identifier If a source concept id resolves to multiple concepts in the target collection, then a collection will be returned such that no member of the subset is subsumed by another member. It would be usual to map any source concept identifiers into their modern active replacements, if they are now inactive. The use of 'map-into' is in reducing the granularity of user-entered data to aid analytics. For example, rather than limiting data entry to the UK emergency reference set, a set of commonly seen diagnoses in emergency departments in the UK, we can allow clinicians to enter highly specific, granular terms, and map to the contents of that reference set as required for analytics and reporting. For example, '991411000000109' is the UK emergency unit diagnosis refset: ``` (map-into svc [24700007 763794005] 991411000000109) => (#{24700007} #{45170000}) ``` As multiple sclerosis (24700007) is in the reference set, it is returned. However, LGI1-associated limbic encephalitis (763794005) is not in the reference set, the best terms are returned ("Encephalitis" - 45170000). This can be used to do simple classification tasks - such as determining the broad types of illness. For example, here we use ECL to define a set to include 'neurological disease', 'respiratory disease' and 'infectious disease': ``` (map-into svc [24700007 763794005 95883001] "118940003 OR 50043002 OR 40733004") => (#{118940003} #{118940003} #{40733004 118940003}) ``` Both multiple sclerosis and LGI-1 encephalitis are types of neurological disease (118940003). However, 'Bacterial meningitis' (95883001) is mapped to both 'neurological disease' (118940003) AND 'infectious disease' (40733004).
(open root)
Open a (read-only) SNOMED service from the path root
.
Open a (read-only) SNOMED service from the path `root`.
(refset-item->attribute-map svc item)
Turn a refset item into an attribute map. Example from the UK edition:
(refset-item->attribute-map svc (get-refset-item svc #uuid"fee430d8-96ed-11ea-bbef-08002728e8ff"))
=>
{:id #uuid"fee430d8-96ed-11ea-bbef-08002728e8ff",
:effectiveTime #object[java.time.LocalDate 0x28405c66 "2020-05-13"],
:active true,
:moduleId 999000031000000106,
:refsetId 1322291000000109,
449608002 75423003,
900000000000533001 163021000000107}
Turn a refset item into an attribute map. Example from the UK edition: ``` (refset-item->attribute-map svc (get-refset-item svc #uuid"fee430d8-96ed-11ea-bbef-08002728e8ff")) => {:id #uuid"fee430d8-96ed-11ea-bbef-08002728e8ff", :effectiveTime #object[java.time.LocalDate 0x28405c66 "2020-05-13"], :active true, :moduleId 999000031000000106, :refsetId 1322291000000109, 449608002 75423003, 900000000000533001 163021000000107} ```
(reify-refset-item svc item)
Reifies a refset item when possible, turning it into a concrete class and adding :attributes, a map of attribute to value.
Most refset items are imported and stored reified. However, some refset items are imported as SimpleRefsets because their filenames do not specify a specific refset type. A SimpleRefset can sometimes be reified into a more concrete refset type, depending on runtime information available in the refset descriptor.
This is designed for use at runtime, rather than during import. Reification at runtime will not be necessary if import is modified to perform reification of refset items for those edge-cases when the filename doesn't provide the concrete type.
Reifies a refset item when possible, turning it into a concrete class and adding :attributes, a map of attribute to value. Most refset items are imported and stored reified. However, some refset items are imported as SimpleRefsets because their filenames do not specify a specific refset type. A SimpleRefset can sometimes be reified into a more concrete refset type, depending on runtime information available in the refset descriptor. This is designed for use at runtime, rather than during import. Reification at runtime will not be necessary if import is modified to perform reification of refset items for those edge-cases when the filename doesn't provide the concrete type.
(reverse-map svc refset-id code)
Returns the reverse mapping from the reference set and mapTarget specified.
Returns the reverse mapping from the reference set and mapTarget specified.
(reverse-map-range svc refset-id prefix)
(reverse-map-range svc refset-id lower-bound upper-bound)
Returns the reverse mapping from the reference set specified, performing what is essentially a prefix search using the parameters.
Returns the reverse mapping from the reference set specified, performing what is essentially a prefix search using the parameters.
(some-indexed pred coll)
Returns index and first logical true value of (pred x) in coll, or nil. e.g.
(some-indexed #{64572001} '(385093006 233604007 205237003 363169009 363170005 123946008 64572001 404684003 138875005))
returns: [6 664572001]
Returns index and first logical true value of (pred x) in coll, or nil. e.g. ``` (some-indexed #{64572001} '(385093006 233604007 205237003 363169009 363170005 123946008 64572001 404684003 138875005)) ``` returns: `[6 664572001]`
(source-historical svc component-id)
(source-historical svc component-id refset-ids)
Return the requested historical associations for the component of types as defined by assoc-refset-ids, or all association refsets if omitted.
Return the requested historical associations for the component of types as defined by assoc-refset-ids, or all association refsets if omitted.
(source-historical-associations svc component-id)
Returns all historical-type associations in which the specified component is
the target. For example, searching for 24700007
will result in a map keyed
by refset-id (e.g. SAME-AS
reference set) and a set of concept identifiers.
Returns all historical-type associations in which the specified component is the target. For example, searching for `24700007` will result in a map keyed by refset-id (e.g. `SAME-AS` reference set) and a set of concept identifiers.
(with-historical svc concept-ids)
(with-historical svc concept-ids assoc-refset-ids)
For a given sequence of concept identifiers, expand to include historical associations both backwards and forwards in time.
For a currently active concept, this will return historic inactivated concepts in which it is the target. For a now inactive concept, this will return the active associations and their historic associations.
By default, all types of historical associations except MoveTo and MovedFrom are included, but this is configurable.
For a given sequence of concept identifiers, expand to include historical associations both backwards and forwards in time. For a currently active concept, this will return historic inactivated concepts in which it is the target. For a now inactive concept, this will return the active associations and their historic associations. By default, all types of historical associations except MoveTo and MovedFrom are included, but this is configurable.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close