It is hard to get your head around but fun! :) The current way to design systems is to try to understand the whole of clinical medicine and design a database schema to match it so that every piece of data has a matching table or set of fields. This leads to ever expanding and inflexible schemas that have to be added to or changed whenever our clinical understanding grows or changes. It means that we as clinicians have to try to describe clinical concepts to programmers so that they can build systems that work.
openEHR separates the data model from the semantic model. Lets look at some xml of a serialised openEHR composition - (serialised using the .net kernel that is very functional now) <Item xmlns="openEHR/v1/Composition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="section" archetype_id="openEHR-EHR-SECTION.summary.v1" rm_version="1.0"> <NodeID>at0000</NodeID> <Item xmlns="openEHR/v1/Composition" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="evaluation" archetype_id="openEHR-EHR-EVALUATION.problem-diagnosis-histological.v1" rm_version="1.0" local_impl_IsSelf="true"> <NodeID>at0000.1.1</NodeID> <Name xsi:type="dv_coded_text"> <value>Histological diagnosis as defined by a clinician</value> <DefiningCode> <CodeString>at0000.1.1</CodeString> <TerminologyID> <ID>local</ID> </TerminologyID> </DefiningCode> </Name> <Data xsi:type="item_tree" node_id="at0001"> <Item xsi:type="element" node_id="at0002.1.1"> <Name xsi:type="dv_text"> <value>Histological diagnosis</value> </Name> <Value xsi:type="dv_coded_text"> <value>Seminoma, testicle</value> <DefiningCode> <CodeString>314567</CodeString> <TerminologyID> <ID>SNOMED-CT</ID> </TerminologyID> </DefiningCode> </Value> </Item> <!-- at0002.1.1 --> </Data> </Item> </Item> This is a subset of data from a sample histology report and is describing the diagnosis. What you are looking at is data stored using the reference model. If you look at the data you will see that it is stamped with the archetype id all the way through and all the nodes are describing very generic structures. When retrieving this data, the kernel will match it with the the archetype to validate it. Any archetyped data can be saved with the same set of reference model classes. So you don't need to keep changing the database schema to add new clinical concepts, just the archetypes. Its worth reading through the openEHR documentation as while there is a lot of it, it makes the whole concept clearer. Regards Hugh -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Richard Hosking Sent: Tuesday, 3 January 2006 9:39 PM To: General Practice Computing Group Talk Subject: Re: GP Requirements - was [GPCG_TALK] Re: The Dreaming I still struggle with this stuff - isnt an archetype describing constraints on the data- ie type, bounds etc? Shouldnt this be coded into the DB? If not where? Richard Hugh Leslie wrote: > >An openEHR database schema doesn't contain ANY archetypes - The data >reflects the openEHR reference model, not the archetype model. If you >have to hard code archetypes in a schema then you have not gained >anything at all. The archetypes just describe what the data means. > > > > _______________________________________________ Gpcg_talk mailing list [email protected] http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk _______________________________________________ Gpcg_talk mailing list [email protected] http://ozdocit.org/cgi-bin/mailman/listinfo/gpcg_talk
