Actual meaning and use of System value in a FHIR resource

178 views
Skip to first unread message

Harsha Kumara

unread,
Jan 24, 2015, 6:05:51 AM1/24/15
to hapi...@googlegroups.com, Suranga Kasthurirathne
Hi All,

While we are developing the FHIR module in OpenMRS, I had bit of doubts on the actual usage of system value. Some times patient identifier search it's requesting like http://fhir.example.com/Patient?identifier=urn:foo|7000135 where urn:foo is the system value. As I went through some resources system value can be urn, uri and etc. So I would like to know the actual usage of system value?

In OpenMRS, patient can have several patient identifier types and identifiers in each of those identifier types. So when we do a identifier search is it Ok to set the uuid of the identifier type as a system value to do more standardize search? 

May be clear definition of system value will solve many issues. 

Thanks,
Harsha

Harsha Kumara

unread,
Jan 24, 2015, 6:21:59 AM1/24/15
to hapi...@googlegroups.com, suran...@gmail.com
While went through more resources, I got more idea about the usage of system. It's depend on how we use witth different sub resources. For example under patient identifier, system value define how the identifier value created. With this it's should be Ok to use the patient identifier type uuid as urn which define the definition on how to create the identifier. 

On the other hand the usage of system value under contact define which form of contact number is that. So it depends on the usages. 

Please add your thoughts if I misunderstood the usage of system value. 

Thanks,
Harsha

James Agnew

unread,
Feb 3, 2015, 10:35:53 AM2/3/15
to Harsha Kumara, hapi...@googlegroups.com, Suranga Kasthurirathne
Hi Harsha,

The system in that context refers to a "unique namespace" in which the identifier is drawn from. So in your context: Let's say that two clinics, ClinicA and ClinicB each have their own installation of OpenMRS. In each of those installations there is a patient who has been assigned MRN "123". These two patient records happen to have the same MRN, but they are referring to completely different patients, so you would want to use the namespace to differentiate them.

Searching for something like "http://example.com/Patient?identifier=urn:clinicA:mrn|123" tells the system unambiguously that you want the record "123" from ClinicA. That's the heart of the reason for these namespaces/systems.

The second question then is "what to actually use for the system value". Traditionally in HL7 we have used OIDs for this purpose. These had the advantage that you could get your own parent OID for your organization and then assign sub-oids for whatever purpose you needed. OIDs are completely meaningless strings though and they really are unpleasant to work with. While OIDs are ok in FHIR, the preferred mechanism is to use a URL, in much the same what it's popular to use a URL in schema namespaces when you do XML.

For now, those URLs probably should point to something meaningful but they often don't. You might just state "http://clinic-a.com/namespace/mrn" to refer to Clinic A's MRNs even though that URL doesn't resolve. There is work right now to create a "NamingSystem" resource type that could be used to provide a definition for systems that you could have these URLs resolve to, but that work isn't finished yet (and as an aside there has been some hilarious argument on what to actually call that resource).

Hopefully this helps! Let me know if this isn't answering the right question. :)

Cheers,
James


--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/c0f0e40d-dfab-4e0b-a770-55841a8251f0%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Harsha Kumara

unread,
Feb 4, 2015, 12:52:31 AM2/4/15
to James Agnew, hapi...@googlegroups.com, Suranga Kasthurirathne
Hi James,

Thanks for detailed explanation of system value. Yes it's contains the almost what I need to know. So system value add uniqueness to the value associate with it most of the time. :)

Thanks,
Harsha 
--
Harsha Kumara
Software Engineer
WSO2 Inc.
Sri Lanka.
Reply all
Reply to author
Forward
0 new messages