health.fhir.r4.terminology
Module health.fhir.r4.terminology
API
Declarations
ballerinax/health.fhir.r4.terminology Ballerina library
FHIR Terminology Package
A package containing utilities to perform search, read interactions on FHIR terminologies, including code systems and value sets.
Package Overview
FHIR Terminology Package is a collection of standardized terminologies, including code systems, value sets and other related artifacts. These packages provide a comprehensive set of codes and concepts that allow for accurate representation and exchange of healthcare data within the FHIR ecosystem.
This package provides the following functionalities required for FHIR terminology related requirements.
- Get by Id
- Search CodeSystems and ValueSets
- CodeSystem-lookup - Given a code/system, or a Coding, get additional details about the concept, including definition, status, designations, and properties. One of the products of this operation is a complete decomposition of a code from a structured terminology
- ValueSet-expand - Get the definition of a value set.
- ValueSet-validate-code - Validate that a coded value is in the set of codes allowed by a value set.
- CodeSystem-subsumes - Test the subsumption(The meaning of the hierarchy of concepts as represented in this resource) relationship between code/Coding A and code/Coding B given the semantics of subsumption in the underlying code system.
Functions
addCodeSystem
function addCodeSystem(CodeSystem codeSystem, Terminology? terminology) returns FHIRError?
Add a new CodeSystem.
Parameters
- codeSystem CodeSystem - ValueSet to be added, data in the Ballerina record format
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError? - Return FHIRError
addCodeSystems
function addCodeSystems(CodeSystem[] codeSystems, Terminology? terminology) returns FHIRError[]?
Add a list of new CodeSystems.
Parameters
- codeSystems CodeSystem[] - List CodeSystems
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError[]? - Return List of FHIRErrors if any
addCodeSystemsAsJson
function addCodeSystemsAsJson(json[] codeSystemJsonArray, Terminology? terminology) returns FHIRError[]?
Add a list of new CodeSystems as a json or json array.
Parameters
- codeSystemJsonArray json[] - CodeSystem data in the JSON format
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError[]? - Return List of FHIRErrors if any
addValueSet
function addValueSet(ValueSet valueSet, Terminology? terminology) returns FHIRError?
Add a new ValueSet.
Parameters
- valueSet ValueSet - ValueSet to be added, data in the Ballerina record format
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError? - Return FHIRError
addValueSets
function addValueSets(ValueSet[] valueSets, Terminology? terminology) returns FHIRError[]?
Add a list of new ValueSets.
Parameters
- valueSets ValueSet[] - List ValueSets in the Ballerina record format
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError[]? - Return List of FHIRErrors if any
addValueSetsAsJson
function addValueSetsAsJson(json[] valueSetJsonArray, Terminology? terminology) returns FHIRError[]?
Add a list of new ValueSet as a json or json array.
Parameters
- valueSetJsonArray json[] - Json ValueSet data in the JSON format
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError[]? - Return List of FHIRErrors if any
codeSystemLookUp
function codeSystemLookUp(code|Coding codeValue, CodeSystem? cs, uri? system, string? version, Terminology? terminology) returns CodeSystemConcept[]|CodeSystemConcept|FHIRError
Extract the respective concepts from a given CodeSystem based on the give code or Coding or CodeableConcept data. This method was implemented based on : http://hl7.org/fhir/R4/terminology-service.html#lookup.
Parameters
- codeValue code|Coding - Code or Coding or CodeableConcept data type value to process with the CodeSystem
- cs CodeSystem? (default ()) - CodeSystem record to be processed. If system parameter is not supplied, this value shoud be mandatory,
else this is an optional field
- system uri? (default ()) - System URL of the CodeSystem to be processed, if system CodeSystem(cs) is not supplied,
this value shoud be mandatory
- version string? (default ()) - Version of the CodeSystem and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeSystemConcept[]|CodeSystemConcept|FHIRError - Return list of Concepts if processing is successful, return FHIRError if fails
createCodeableConcept
function createCodeableConcept(uri system, code code, string? version, Terminology? terminology) returns CodeableConcept|FHIRError
Create CodeableConcept data type for given code in a given system.
Parameters
- system uri - system uri of the code system or value set
- code code - code interested
- version string? (default () ) - Version of the CodeSystem and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeableConcept|FHIRError - Created CodeableConcept record or FHIRError if not found
createCoding
function createCoding(uri system, code code, string? version, Terminology? terminology) returns Coding|FHIRError
Create Coding data type for given code in a given system.
Parameters
- system uri - System uri of the CodeSystem or valueSet
- code code - code interested
- version string? (default () ) - Version of the CodeSystem and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- Coding|FHIRError - Created CodeableConcept record or FHIRError if not found
findConceptsInValueSetFromCodeValue
function findConceptsInValueSetFromCodeValue(code|Coding|CodeableConcept codeValue, ValueSet valueSet, Terminology? terminology) returns CodeSystemConcept[]|CodeSystemConcept|FHIRError
Parameters
- codeValue code|Coding|CodeableConcept -
- valueSet ValueSet -
- terminology Terminology? (default inMemoryTerminology) -
readCodeSystemById
function readCodeSystemById(string id, string? version, Terminology? terminology) returns CodeSystem|FHIRError
Find a Code System based on the provided Id and version.
Parameters
- id string - Id of the CodeSystem to be retrieved
- version string? (default ()) - Version of the CodeSystem to be retrieved and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeSystem|FHIRError - Return CodeSystem data if the request is successful, return FHIR error if no data found for the provided Id
readCodeSystemByUrl
function readCodeSystemByUrl(uri url, string? version, Terminology? terminology) returns CodeSystem|FHIRError
Find a CodeSystem based on the provided URL and version.
Parameters
- url uri - URL of the CodeSystem to be retrieved
- version string? (default ()) - Version of the CodeSystem to be retrieved and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeSystem|FHIRError - Return CodeSystem data if the request is successful, return FHIR error if no data found for the provided URL
readValueSetById
function readValueSetById(string id, string? version, Terminology? terminology) returns ValueSet|FHIRError
Find a ValueSet for a provided Id and version.
Parameters
- id string - Id of the Value Set to be retrieved
- version string? (default ()) - Version of the ValueSet to be retrieved and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- ValueSet|FHIRError - Return ValueSet data if the request is successful, return FHIR error if no data found for the provided Id
readValueSetByUrl
function readValueSetByUrl(uri url, string? version, Terminology? terminology) returns ValueSet|FHIRError
Find a ValueSet for a provided URL and version.
Parameters
- url uri - URL of the Value Set to be retrieved
- version string? (default ()) - Version of the ValueSet to be retrieved and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- ValueSet|FHIRError - Return ValueSet data if the request is successful, return FHIR error if no data found for the provided URL
searchCodeSystems
function searchCodeSystems(map<RequestSearchParameter[]> params, Terminology? terminology) returns CodeSystem[]|FHIRError
Search for Code systems based on the provided search parameters. Allowed search parameters are name, title, url, version, status and so on.
Parameters
- params map<RequestSearchParameter[]> - List of search parameters, should be passed as map of string arrays
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeSystem[]|FHIRError - Return array of CodeSystem data if success, return FHIR error if the request contains unsupported search parameters and for any other processing errors
searchValueSets
function searchValueSets(map<RequestSearchParameter[]> params, Terminology? terminology) returns FHIRError|ValueSet[]
Search for Value Sets for the provided search parameters. Allowed search parameters: are name, title, url, version, status and son on.
Parameters
- params map<RequestSearchParameter[]> - List of search parameters, should be passed as map of string arrays
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- FHIRError|ValueSet[] - Return array of ValueSet data if success, return FHIR error if the request contains unsupported search parameters and for any other processing errors
subsumes
function subsumes(code|Coding conceptA, code|Coding conceptB, CodeSystem? cs, uri? system, string? version, Terminology? terminology) returns Parameters|FHIRError
This method with compare concepts. This method was implemented based on: http://hl7.org/fhir/R4/terminology-service.html#subsumes.
Parameters
- conceptA code|Coding - Concept 1
- conceptB code|Coding - Concept 2
- cs CodeSystem? (default ()) - CodeSystem value
- system uri? (default ()) - System uri of the codeSystem
- version string? (default ()) - Version of the CodeSystem and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- Parameters|FHIRError - Return Values either equivalent or not-subsumed if processing is successful, FHIRError processing fails
valueSetExpansion
function valueSetExpansion(map<RequestSearchParameter[]>? searchParams, ValueSet? vs, uri? system, Terminology? terminology) returns ValueSet|FHIRError
Extract all the concepts from a given valueSet based on the given filter parameters. This method was implemented based on : http://hl7.org/fhir/R4/terminology-service.html#expand.
Parameters
- searchParams map<RequestSearchParameter[]>? - List of search parameters to filter concepts, should be passed as map of string arrays
- vs ValueSet? (default ()) - ValueSet record to be processed. If system parameter is not supplied, this value shoud be mandatory, else this is an optional field
- system uri? (default ()) - System URL of the ValueSet to be processed, if system ValueSet(vs) is not supplied then
this value shoud be mandatory
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- ValueSet|FHIRError - List of concepts is successful, return FHIRError if fails
valueSetLookUp
function valueSetLookUp(code|Coding|CodeableConcept codeValue, ValueSet? vs, uri? system, string? version, Terminology? terminology) returns CodeSystemConcept[]|CodeSystemConcept|FHIRError
Extract the respective concepts from a given ValueSet based on the give code or Coding or CodeableConcept data. This method was implemented based on : http://hl7.org/fhir/R4/terminology-service.html#validation.
Parameters
- codeValue code|Coding|CodeableConcept - Code or Coding or CodeableConcept data type value to process with the ValueSet
- vs ValueSet? (default ()) - vs - ValueSet record to be processed. If system parameter is not supplied, this value shoud be mandatory,
else this is an optional field
- system uri? (default ()) - System URL of the ValueSet to be processed, if system ValueSet(vs) is not supplied then
this value shoud be mandatory
- version string? (default ()) - Version of the ValueSet and it should be provided with system parameter, if this version parameter is not supplied then the latest version of CodeSystem will picked up.
- terminology Terminology? (default inMemoryTerminology) - Terminology - optional parameter allowing you to pass a custom implementation of the Terminology and by default we use InMemoryTerminology.
Return Type
- CodeSystemConcept[]|CodeSystemConcept|FHIRError - Return list of Concepts if processing is successful, return FHIRError if fails
Constants
health.fhir.r4.terminology: CODESYSTEMS_SEARCH_PARAMS
This is a map of implemented search params for CodeSystems. These are defined as a map because to make the search process ease.