Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update mapping_tree creation #191

Open
juliangruendner opened this issue Aug 29, 2024 · 0 comments
Open

Update mapping_tree creation #191

juliangruendner opened this issue Aug 29, 2024 · 0 comments
Assignees
Milestone

Comments

@juliangruendner
Copy link
Collaborator

juliangruendner commented Aug 29, 2024

The current mapping tree is based on a tree structure where each tree contains all subtrees, in essence making it a mono hierarchical structure.

As we are now expanding to more terminologies future terminologies will also include mulit-hierarchical terminologies like SNOMED.

This is why we will change the tree structure to the following:

[
  {
    "entries": [
      {
        "key": "309143001",
        "parents": [
          "303247002",
          "439479000"
        ],
        "children": [
          "396526009",
          "396527000"
        ]
      },
      {
        "key": "396526009",
        "parents": [
          "309143001"
        ],
        "children": []
      },
      {
        "key": "396527000",
        "parents": [
          "309143001"
        ],
        "children": []
      }
    ],
    "context": {
      "system": "fdpg.mii.cds",
      "code": "Specimen",
      "display": "Bioprobe",
      "version": "1.0.0"
    },
    "system": "http://snomed.info/sct",
    "version": "http://snomed.info/sct/900000000000207008/version/20240101"
  }
]

Given this structure the way the tree is held in memory will have to be changed to a map like structure, where each entry can be directly accessed to build the expansion of any termcode (node).

for Example:

309143001 would expand to: 309143001, 396526009 and 396527000

note that each "tree map" is per context and system.
The reason for this is to save space when transferring the information for the tree.

=> given multiple contexts and systems which flare has to support simultaniously it will have to create a map of tree maps,

where first the correct tree map is selected by context + system and version from the termcode
and then the code of the termcode is used to expand it within the selected tree map

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants