...
metadata_source
is used to define a unique source (authority) for each namespace of metadata terms.name
should be fully qualified and universally unique.
metadata_term
table_mapping
table provides both the term and its mapping to local metadata.code
should be unique within the given source.metadata_class
refers to the Java class for the metadata.metadata_reference
is a unique reference to the metadata within the class (e.g., uuid)
metadata_set
is used to define relating grouping of metadata similar to what OpenMRS has traditionally done within global properties and similar to FHIR's ValueSet for metadata terms.sort_weight
is used to optionally give members of a metadata set a reliable sequence.
...
Retire term:
Code Block | ||||
---|---|---|---|---|
| ||||
List<MetadataTerm>List<MetadataTermMapping> termstermMappings = metadataService.getMetadataTermsgetMetadataTermMappings(location); metadataService.retireMapping(termstermMappings.get(0), "some reason"); |
Create term:
Code Block | ||||
---|---|---|---|---|
| ||||
MetadataSource source = metadataService.getSourceByName("SOME-SOURCE"); MetadataTermMetadataTermMapping termtermMapping = new MetadataTermMetadataTermMapping(source, "CODE", location); metadataService.saveMetadataTermsaveMetadataTermMapping(termtermMapping); |
Create terms in bulk:
Code Block | ||||
---|---|---|---|---|
| ||||
List<MetadataTerm>List<MetadataTermMapping> termstermMappings = Arrays.asList(mapping1, mapping2, mapping3); metadataService.saveMetadataTermssaveMetadataTermMappings(termstermMappings); |
Get term by source and code:
Code Block | ||||
---|---|---|---|---|
| ||||
MetadataTermMetadataTermMapping termtermMapping = metadataService.getMetdataTermgetMetadataTermMapping(mappingSource, "CODE"); |
Get terms by source:
Code Block | ||||
---|---|---|---|---|
| ||||
List<MetadataTerm>List<MetadataTermMapping> termstermMappings = metadataService.getMetadataTermsgetMetadataTermMappings(source); |
Get term by uuid:
Code Block | ||||
---|---|---|---|---|
| ||||
MetadataTermMetadataTermMapping mappingtermMapping = metadataService.getMetadataTermByUuidgetMetadataTermMappingByUuid(String uuid); |
Get source by uuid:
Code Block | ||||
---|---|---|---|---|
| ||||
MetadataSource source = metadataService.getMetadataSourceByUuid(String uuid); |
...
MetadataTermMapping, MetadataSource, MetadataSet should support all CRUD operations.