Stream: german (d-a-ch)
Topic: Observation.category Slicing
Lukas Schmierer (Jan 22 2021 at 10:12):
Hallo, vielleicht kann mir hier einer beim Slicen von Observation.category helfen.
Konkret geht es mir erstmal dartum das vitalsigns Profil nachzuvollziehen:
https://www.hl7.org/fhir/vitalsigns.profile.json.html
{
"id" : "Observation.category",
"path" : "Observation.category",
"slicing" : {
"discriminator" : [{
"type" : "value",
"path" : "coding.code"
},
{
"type" : "value",
"path" : "coding.system"
}],
"ordered" : false,
"rules" : "open"
},
"min" : 1,
"max" : "*",
"type" : [{
"code" : "CodeableConcept"
}],
"mustSupport" : true
},
{
"id" : "Observation.category:VSCat",
"path" : "Observation.category",
"sliceName" : "VSCat",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "CodeableConcept"
}],
"mustSupport" : true
},
{
"id" : "Observation.category:VSCat.coding",
"path" : "Observation.category.coding",
"min" : 1,
"max" : "*",
"type" : [{
"code" : "Coding"
}],
"mustSupport" : true
},
{
"id" : "Observation.category:VSCat.coding.system",
"path" : "Observation.category.coding.system",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "uri"
}],
"fixedUri" : "http://terminology.hl7.org/CodeSystem/observation-category",
"mustSupport" : true
},
{
"id" : "Observation.category:VSCat.coding.code",
"path" : "Observation.category.coding.code",
"min" : 1,
"max" : "1",
"type" : [{
"code" : "code"
}],
"fixedCode" : "vital-signs",
"mustSupport" : true
},
Observation.category
wird in Observation.category:VSCat
geslicet. Observation.category:VSCat.coding
hat eine unbeschränke max Kardinalität.
Jetzt werden allerdings Observation.category:VSCat.coding.system
und Observation.category:VSCat.coding.code
fixiert. Nach meinem Verständnis kann Observation.category:VSCat.coding
immer noch unbegrenzt viele Einträge haben, die allerdings alle das gleiche system und den gleichen code haben.
Habe ich das so richtig verstanden? Wenn ja, warum ist das sinnvoll?
Wäre es nicht sinnvoller Observation.category:VSCat.coding
auf eine max Kardinalität von 1 zu setzen oder alternativ Observation.category:VSCat.coding
zu slicen und auf dem Slice system und code zu fixieren?
Weitergehende Fragestellung: Wie verhalten sich die Discriminators coding.code und coding.system auf Observation.category
, wenn Observation.category.coding
mehrere Einträge hat? Worauf beziehen sie sich?
Ist das genaue Verhalten in diesen Fällen in FHIR Dokumentation an irgendeiner Stelle genauer erleutert? https://www.hl7.org/fhir/profiling.html konnte mir diese Sonderfälle nicht erklären.
Ich würde mich über Hinweise freuen, vielen Dank im Voraus!
Simone Heckmann (Jan 22 2021 at 10:19):
Aufgrund dieser und einiger anderer Schrulligkeiten im R4 vital-signs-Profil, haben wir kürzlich den Deutschen Basisprofilen ein eigenes, zum internationalen Profil kompatibles Vital-Signs-Profil hinzugefügt:
https://simplifier.net/basisprofil-de-r4/vitalsignde
Simone Heckmann (Jan 22 2021 at 10:22):
image.png
in diesem Profil können 1..* categories angegeben werden, eines davon muss jedoch dem VSCat slice entsprechen, welches durch das angebene Pattern definiert ist (system+value fix)
...macht das mehr Sinn?
Lukas Schmierer (Jan 22 2021 at 11:52):
Ah okay, das macht schon mehr Sinn. Vielen Dank!
So wie ich es aus dem VitalSignDE verstehe, sind mehrere categories möglich, aber jede category muss min 1 coding entsprechend dem VSCat slice (system und value fix) haben? Das Slice ist ja auf category.coding, nicht auf category.
Alexander Zautke (Jan 22 2021 at 12:11):
Die Intention war, dass eine Category mit dem Coding für VSCat existiert.
Alexander Zautke (Jan 22 2021 at 12:11):
Danke für den Hinweis
Last updated: Apr 12 2022 at 19:14 UTC