Stream: implementers
Topic: examination
Pranitha Sruthi (May 31 2017 at 06:17):
Hi all, we are using observation resource to capture the information of various types of examination. In general examination, there are many subtypes for instance examination of lung,abdomen and many more. So, shall I create profiles for each and every subtype or is there any other alternate method to capture? Thanks in advance
Lloyd McKenzie (May 31 2017 at 15:01):
If you want to enforce different rules for each subtype and it's not a simple set of rules that you could do using invariants or something like that on a single profile, then you'd need a profile for each subtype.
Pranitha Sruthi (Jun 02 2017 at 05:27):
@Lloyd McKenzie Thank you. We want to create fhir profile similar to that of the examination archetypes in openEHR. For example, in the archetype examination of a burn, there are some clusters namely structured body site, examination findings,multimedia representation and examination not done and some groups are included in each cluster. How can I add the clusters and their respective sub groups to a fhir profile? Is it possible to add extensions for observation.component? Please suggest me. Thank you
Lloyd McKenzie (Jun 02 2017 at 14:52):
Well, your starting point would likely be Observation. You'd then figure out what structures to use to represent the different pieces (e.g. the BodySite data type, various component or related Observations, etc. Where you're not sure, certainly raise questions here to get guidance. It's possible to add extensions to pretty much anything, but I suspect most of what you need done won't involve using extension at all.
Pranitha Sruthi (Jun 07 2017 at 05:17):
Okay thank you. My only concern is about adding clusters to fhir profile. I don't know how to add a group or a cluster of observations to my profile. Could you please help me?
Lloyd McKenzie (Jun 07 2017 at 05:17):
What's your objective in grouping them? Establishing a panel or something like that?
Pranitha Sruthi (Jun 07 2017 at 05:25):
For example, there is a cluster called "Examination not Done" which in turn has a boolean item which specifies whether the examination is done or not and reason which is a string type. How can I add such groups and subgroups to my profile?
Lloyd McKenzie (Jun 07 2017 at 05:51):
That one's actually a little tricky. If you were talking about a surgery or some other intervention, you could use Procedure.notDone and Procedure.notDoneReason. However, examinations are really Observations. Observation has dataAbsentReason, but that's not quite the same thing. @Eric Haas - thoughts on how best to handle this?
Pranitha Sruthi (Jun 07 2017 at 05:56):
Ok. The cluster named examination not done is there in "Examination of a burn" archetype on openEHR and it also has other clusters.
Michelle (Moseman) Miller (Jun 07 2017 at 14:25):
I've seen some examples in our system where a "Not Done" manifests as the Observation.valueCodeableConcept.
Eric Haas (Jun 07 2017 at 14:42):
An observation not done ( e.g., I didn't look at the dog's teeth for fear of getting bit) is either:
- a coded value as part of the code-value pair. ( code = oral exam , value = not performed)
- a dalueAbsentReason ( code = oral exam, value empty, DAR = not-performed
the reason (" muzzled ") would go in the comment element.
Pranitha Sruthi (Jun 08 2017 at 08:51):
How can I create a fhir profile (using the resource observation)equivalent to an examination archetype on openEHR? Below is the link for openEHR
http://openehr.org/ckm/#. When the cluster option(which is on the left hand side of the screen) is expanded, different types of examination archetypes will be displayed. Please go through anyone of the examination archetypes (for example examination of a burn or examination of lesion) and let me know how to create fhir profiles. Thanks in advance.
Lloyd McKenzie (Jun 08 2017 at 14:50):
You'll have to start by mapping all of the data elements and figuring out where they live in FHIR. Odds are you may need multiple resources to represent the full examination - and most of those will be Observations. You may also need to determine what Observation codes (generally from LOINC) you'll need to use to describe the different observations being performed. Once you've figured out where your data lives, you can use a tool like Forge to create the various resource profiles needed to represent your model.
Eric Haas (Jun 08 2017 at 14:59):
How technically:
- Use Forge
- Spreadsheets + Ig builder tool - My IG template is kind of a sampler
- I think ClinFHIR does this too
- I think other tools out there as well
There are several examples of observations on profiles for example in the vitals profiles in the build
And last but not least read the section on Profiling in the Specification.
Pranitha Sruthi (Jun 09 2017 at 05:04):
@Lloyd McKenzie @Eric Haas Thanks for your response. That is fine I can create a profile on forge,but the archetypes have clusters. How can I create a cluster in fhir profile similar to that of openEHR?
Lloyd McKenzie (Jun 09 2017 at 05:17):
I'm not super-familiar with openEHR, but, from what I understand, you don't use the cluster concept in the same way with FHIR. For example, if openEHR allows you to use a cluster on a record of a surgery and have the same type of cluster appear on a blood pressure, there's no way you could get a re-usable structure that would appear on both the FHIR Procedure resource and the FHIR Observation resource unless it was an esoteric requirement handled using an extension. You'll have to map each cluster to each resource you want to use it on. (@Grahame Grieve, please yell if I've misspoken)
Richard Townley-O'Neill (Jun 09 2017 at 05:30):
@Pranitha Sruthi some of the clusters used by the Examination of a burn
archetype (http://www.openehr.org/ckm/#showArchetype_1013.1.2111) are equivalent to FHIR resources, e.g. BodyStructure
(http://build.fhir.org/bodystructure.html). Also Multimedia
and Media
. Examination not done
uses a different technique in FHIR, see Observation.dataAbsentReason
.
Pranitha Sruthi (Jun 09 2017 at 05:49):
@Richard Townley-O'Neill but there are no references to media and bodystructure resources in the observation resource structure.
Jayashree Surnar (Jun 09 2017 at 05:53):
@Pranitha Sruthi , i think, bodystructure is nothing but body site in Observation resource.
about media in the Observation resource they given like this
The Media resource captures a specific type of observation whose value is audio, video or image data. This resource is the preferred representation of such forms of information as it exposes the metadata relevant for interpreting the information. However, in some implementations, media information may appear in Observation susing the valueAttachment element and systems should be aware of this possibility.
Jayashree Surnar (Jun 09 2017 at 05:55):
.
Pranitha Sruthi (Jun 09 2017 at 05:55):
@Jayashree Surnar can I attach a media element in observation.valueAttachment?
Lloyd McKenzie (Jun 09 2017 at 06:32):
There's an extension that allows you to point an Observation to a BodySite. An Attachment could refer to a Media instance
Elliot Silver (Jun 09 2017 at 17:29):
FYI, the relationship between Observation and Media is a current topic of discussion in the O&O workgroup.
Eric Haas (Jun 10 2017 at 01:28):
Looking at the Burn example items I am not able to casually map between openEHRCluster <==> FHIR Resource. I don't know what 'Examination Findings' are Looks like a Clinical Impression to me. ( Although as Elliot mentioned we are looking at Media's use cases, right now can use either Media or Obsevation +valueAttachment - so pick your poison based on the details you want to represent )
Eric Haas (Jun 10 2017 at 01:29):
PS not familiar with openEHR so not familiar with the term "cluster" outside of a vineyard.
Pranitha Sruthi (Jun 12 2017 at 05:38):
@Eric Haas Ok thank you
Pranitha Sruthi (Oct 12 2017 at 11:04):
Hi all, how can I create a profile for the examination of different organ systems which in turn have many findings? For example, the examination of eyes have findings namely pupil, cornea, conjunctiva etc which in turn have 'normal except', 'no acute finding', 'constricted' etc. Thank you
Lloyd McKenzie (Oct 12 2017 at 11:56):
Sounds like Observation.code to say what you were looking at + Observation.value to say what you found. You have the option of breaking the body part out to Observation.bodySite.
Pranitha Sruthi (Oct 12 2017 at 11:59):
In the above mentioned example, the Observation.code would be examination of eyes and Observation.value will contain the findings. Is that correct?
Pranitha Sruthi (Oct 12 2017 at 12:03):
Also, how can I create an examination profile which includes all the organ systems (constitutional, head and face, eyes, respiratory effort,abdomen,chest/axilla,skin,musculo-skeletal etc)?
Lloyd McKenzie (Oct 12 2017 at 23:29):
If you want one profile, you could just define a value set that identifies the allowed Observation codes and/or body sites
Pranitha Sruthi (Oct 17 2017 at 12:13):
@Lloyd McKenzie In our use case, we have Multi Organ System examination which is further divided into Eyes, ENT, Respiration, Chest/Axilla, Cardiovascular etc. Moreover, the organs in turn have different findings. For example, examination of ear comprises of organs namely external ears, tympanic membrane and ear canal, which have their respective findings.
So, how can I implement this hierarchy in the profile?
Also,how can I capture "No Abnormality Detected " and "Normal Except"(which contains different findings)? The Observation.value can take only one value set, how can I bind multiple value sets (findings)?
If I am creating profile for the "Examination of Tympanic Membrane", where can I attach the code of the tympanic membrane (Observation.code or Observation.bodySite)?
Lloyd McKenzie (Oct 17 2017 at 14:36):
If you want different value sets for each body part examined, then you'll need a different profile for each. If you want the results back with a hierarchical organization, then you'll need to define profiles for Observations at the "panel" level which have a bunch of "related" member observations as well as profiles for the leaf-level parts. Normal except would be an observation with related member observations that identify the exceptions.
Pranitha Sruthi (Oct 18 2017 at 11:55):
How can I capture "No Abnormaility Detected" in the profile? Can I create value sets for the findings of "Normal Except"?
Lloyd McKenzie (Oct 19 2017 at 13:29):
Yes
Pranitha Sruthi (Oct 23 2017 at 13:39):
Can I use the element Observation.dataAbsentReason to capture "No Abnormality Detected"?
Eric Haas (Oct 23 2017 at 15:02):
That is a typically a result value and not an exceptional value.
Pranitha Sruthi (Oct 24 2017 at 11:40):
Can I use the element Observation.valueCodeableConcept to store "No Abnormality Detected"?
Lloyd McKenzie (Oct 24 2017 at 14:02):
Yes
Pranitha Sruthi (Jan 31 2018 at 06:43):
Hi all, I need to create a profile for GU system male. Can I consider CVA Tenderness, Rectal Examination,Bladder, Urine and Catheter as components for Observation profile? ,Also, can I capture 'Male Genitalia' (Observation.related )as another Observation which comes under the main Observation GU male, appearance and palpation as components? Moreover, the Observation.component 'Bladder' has a valueset tenderness and distension, the valueset in turn has both absent and present respectively.Can I capture the pair "Absent" and "Present" in an extension? Thank you
Lloyd McKenzie (Jan 31 2018 at 14:00):
Tenderness, Rectal examination, etc. sound like they could/should be stand-alone Observations. I.e. someone could look at them by themselves and understand them and possibly make decisions based on them. They're sort of like a "white blood cell count" in a blood panel. They might be commonly reported as a group, but they're useful by themselves. Component is used for things that aren't useful by themselves. For example, if you were capturing a sensitivity test, the notion of "sensitive/insensitive" and "what drug was the specimen tested against" aren't useful on their own. You always need them both together to understand what's going on. Looking at either on its own is useless.
The pattern to follow for your data is to have a parent observation that has a "has member" relationship to a bunch of other observations - one each for CVA Tenderness, Bladder, etc. You'll need some clinical guidance as to whether bladder tenderness and bladder distension should be captured as components or as further "has member" observations. I don't know the area well enough to understand whether bladder tenderness and bladder distension can function stand alone or not. (My guess is that they can, but I'm a non-clinician, so my guesses don't count :))
Pranitha Sruthi (Feb 01 2018 at 13:53):
@Lloyd McKenzie The images show the tree structure of the Observation(GU male). Is there any other alternative to lessen the number of resources used? gumale.PNG gumale2.PNG
Lloyd McKenzie (Feb 01 2018 at 15:41):
The reason for the number of observations is to support and independent distribution - the notion is that any one of these might need to be queried on its own - possibly with historical observations of the same type for comparison. It might also be necessary to pass some subset of the information as part of a document, message or decision support operation invocation. So yes, there will potentially be a large number of observations, but each can stand alone. You might choose to send a whole package of Observations as a transaction or batch (in REST) or otherwise packaged in a document or message.
Last updated: Apr 12 2022 at 19:14 UTC