Stream: implementers
Topic: multi-dimensional valuesets?
Jens Villadsen (Dec 18 2017 at 14:17):
I'm in search of advice on profiling a matrice structure (I think that is the proper term). Basically, I have a set of 2-dimensional matrices - eg. 1,2,3,4 on one axis (describing severity) and categories on the other axis (describing eg. different traumas on the head). If I was to make this really simple, I could just profile an observation with some slices on component and deliver a set of codes containing 3 dimensional coordinates like A#B#C where 'A' would be the Id of the matrix, 'B' would be the column number and 'C' would be the row number. I like the simplicity of this design, but it does not really seem to take advantage of the capabilities of FHIR. Furthermore, the set of matrices not within my control, being that new matrices can be created without control, which basically means that I cannot make a profile for each matrix.
Jens Villadsen (Dec 18 2017 at 14:28):
OK, observation.code could be the first axis ... that leaves me with two coordinates
Jens Villadsen (Dec 18 2017 at 14:30):
second coordinate could be Observation.component[x].code
Jens Villadsen (Dec 18 2017 at 14:31):
third coordinate would then be observation.component[x].code.valueCodeableConcept
Jens Villadsen (Dec 18 2017 at 14:31):
yep ... thx guys for a wonderful discussion
Michel Rutten (Dec 18 2017 at 14:51):
Interesting. In this case, it would be convenient to have something like a generic array datatype, to model row values.
Jens Villadsen (Dec 18 2017 at 14:53):
sure ... the real use case behind this is in an ambulance setting, the paramedics are offered a set of 'cards' in the system to help them triage what has happened. Each 'card' gives a context, like 'insect bites'. The 'insect bites' card then contains a 2-dim matrix.
Jens Villadsen (Dec 18 2017 at 14:54):
each intersection between row and column is a valid answer
Jens Villadsen (Dec 18 2017 at 15:17):
hmmm .... I need a fourth dimension ....
Jens Villadsen (Dec 18 2017 at 15:18):
I guess it could look like this:
{ "resourceType": "Observation", "code": { "coding": [ { "system": "DEPT2", "code": "Thoraxskade", "display": "Kontaktårsagskort 46 - Thoraxskade" } ] }, "component": [ { "code": { "coding": [ { "system": "DEPT2-Severity", "code": "1", "display": "Rød - Livstruende" }, { "system": "DEPT2-Subject", "code": "3", "display": "Mistanke om luftvejsskade" } ] }, "valueCodeableConcept": { "coding": [ { "system": "DEPT2", "code": "46#1#3", "display": "Brand- eller ætsningsskader eller penetrerende traume mod hals/ thorax" } ] } } ] }
Jens Villadsen (Dec 18 2017 at 15:23):
scratch that ... code systems should be the same...
Grahame Grieve (Dec 18 2017 at 18:14):
sounds like a post-coordinated code system to me
Ewout Kramer (Dec 18 2017 at 21:32):
Just in case: http://clinicalarchitecture.com/informatics-lingo-pre-and-post-coordinated-terms/
Ewout Kramer (Dec 18 2017 at 21:33):
Searching for observations when they are post-coordinated (and you'd like to search on a subset of the axis) is challenging though...
Jens Villadsen (Dec 20 2017 at 12:30):
@Ewout Kramer thx. I think it is a post-coordinated system - it is for emergency triage on a patient concluding 'what state the patient is in'. Each dot in the coordinate system of the axes illustrates an observed 'problem'.
Jens Villadsen (Dec 20 2017 at 12:58):
Wait a minute ... its not post-coordinated .... x and y axes are actually just meta information
Jens Villadsen (Dec 20 2017 at 12:58):
and the axes have finite boundaries
Jens Villadsen (Dec 20 2017 at 13:00):
each intersection between the axes is a result in itself ... its not to be thought of as the 'sum' of the intersection
Jens Villadsen (Dec 20 2017 at 13:00):
so it is in fact pre-coordinated
Jens Villadsen (Dec 20 2017 at 13:01):
as you cannot make up or build non-existing 'problems'
Jens Villadsen (Dec 20 2017 at 13:01):
which means it will be Christmas after all
Jens Villadsen (Dec 20 2017 at 13:10):
For instance (from explanation on https://wiki.openmrs.org/display/docs/Deciding+Between+Pre-Coordinating+and+Post-Coordinating+Data), its not possible to build up e.g. 'Severe + Complicated + Measles + Lob of Lung + Left' which makes little sense
Last updated: Apr 12 2022 at 19:14 UTC