Grouping: Unterschied zwischen den Versionen

Aus CTS2-LE
Zur Navigation springen Zur Suche springen
K
Zeile 49: Zeile 49:
 
* The ''group'' names in line 16 have to be referenced in the resource at uploading. Every code system or value set that has this group name is uploaded
 
* The ''group'' names in line 16 have to be referenced in the resource at uploading. Every code system or value set that has this group name is uploaded
  
=== Order Overlay ===
+
=== Resource Identifier Regex ===
  
 
The resources referenced by group name above are provided in alphabetical order over the resource identifiers. If the order want to be changed then the explicit order of resource identifiers must be given (line 18).
 
The resources referenced by group name above are provided in alphabetical order over the resource identifiers. If the order want to be changed then the explicit order of resource identifiers must be given (line 18).

Version vom 16. Oktober 2022, 14:18 Uhr

Resource grouping is required for structuring resources within the frontend. It is based on a loose coupling between resources (code systems and value sets) and the group hierarchy.

Loose coupling has the advantage that hierarchies and resources can be treated separately. The only link is the group name used at uploading resources. Note that group names for value sets and code systems have to be disjoint.

Another advantage of loose coupling is that arbitrary N to M relations between hierarchy nodes and resources can be built. E.g. ICD could occur at different leaves in the hierarchy that enables multiple views over the whole resource set.

Structure

The content hierarchy is defined by the following json structure (comments below (//) are only for documentary purposes, do not use them at uploading).

 1 {
 2   "groups": [
 3     {
 4       // root of hierarchy for code systems
 5       "_id": "csvGroups",
 6       "children": [
 7         {
 8           // top level items
 9           "name": "Example",
10           "children": [
11             // children items
12             {
13               // tree node name displayed in the frontend
14               "name": "Codesystems",
15               // group names for related resources or 'children'-property (recursively) - used at upload
16               "relGroup": ["ICD", "OPS"],
17               // optional order overlay
18               "orderOverlay": ["Ops-2021", "Icd-2021"]
19             }
20           ]
21         }
22       ]
23     },
24     {
25       // hierarchy for value sets
26       "_id": "vsGroups",
27       "children": [
28        {
29           "name": "Example",
30           "relGroup": "EXA-vs"
31         }
32       ]
33     }
34   ]
35 }
  • The group names in line 16 have to be referenced in the resource at uploading. Every code system or value set that has this group name is uploaded

Resource Identifier Regex

The resources referenced by group name above are provided in alphabetical order over the resource identifiers. If the order want to be changed then the explicit order of resource identifiers must be given (line 18).

REST calls

The call

GET 'http://<host>:<port>/WebCts2LE/service/manage/groups

gets the current JSON structure above. To redefine it, call

POST http://<host>:<port>/WebCts2LE/service/manage/groups/update (Content-Type: application/json)

with the new JSON structure.

group name at upload

In case of FHIR the resource to upload has to state the 'groupName'-extension that corresponds to the group name of the hierarchy tree (see above).

1 <CodeSystem xmlns="http://hl7.org/fhir"
2 	xmlns:ext="http://semantik.fokus.fraunhofer.de/ehealth/fhir-extensions#" ...>
3 	<id value="code-system-stu3-88" />
4 	<extension url="ext:groupName">
5 		<valueString value="ICD" />
6 	</extension>
7 	...
8 </CodeSystem>