RE: Composition commit and change types

2016-04-04 Thread pablo pazos
I agree with that, rephrasing, this "delta mode" would be just an API 
*feature*. Also both modes full and delta can be supported by the same API, 
with the same results when querying data back. This might not be part of a 
generic API spec, but more a concrete ITS.
I think especially for persistent compos, the delta mode is smarted than the 
full revision, and with a little thought/design, might be as safer as the full 
revision.
I'll put this idea in my icebox, since my user base is growing, in the near 
future I can send a survey to them to see if this might make their life easier. 
I won't write a line of code for this until I have a change request, and I'm 
sure this doesn't complicate other features.
Either way, it would be useful to have input from commercial implementers about 
if they support something like this, and  also about the original issue
-- 
Kind regards,
Eng. Pablo Pazos Gutiérrez
http://cabolabs.com

> From: i...@freshehr.com
> Date: Mon, 4 Apr 2016 21:12:00 +0100
> Subject: Re: Composition commit and change types
> To: openehr-technical@lists.openehr.org
> 
> Hi Pablo,
> 
> I think there are lots of interesting approaches (though potentially
> challenging in complex environments) but I would definitely want to
> handle the question of 'diffs or not' behind the service layer. As a
> consumer I just want to be sure that the current composition
> accurately reflects changes made. Full revision is a bit dumb but it
> is safe!
> 
> Ian
> Dr Ian McNicoll
> mobile +44 (0)775 209 7859
> office +44 (0)1536 414994
> skype: ianmcnicoll
> email: i...@freshehr.com
> twitter: @ianmcnicoll
> 
> Co-Chair, openEHR Foundation ian.mcnic...@openehr.org
> Director, freshEHR Clinical Informatics Ltd.
> Director, HANDIHealth CIC
> Hon. Senior Research Associate, CHIME, UCL
> 
> 
> On 4 April 2016 at 20:18, pablo pazos  wrote:
> > I think that can work for some implementations.
> >
> > What I was thinking is not adding parts to an existing compo, but to commit
> > a full COMPO, just with the changes. That means, the newObject would be a
> > COMPOSITION or even a VERSION. If this is for the Problem List, to add a new
> > one, the COMPO will have just one EVALUATION with the new problem. If commit
> > mode is "delta", the backend will do what it needs to reflect that addition
> > to the current Problem List. If the commit mode is "full", that means one
> > problem was added and the rest removed.
> >
> > IMO this can use the same commit(VERSION[] versions, AUDIT_DETAILS audit)
> > adding a String mode param or adding another operation
> > commit_delta(VERSION[] versions, AUDIT_DETAILS audit).
> >
> > For my implementation all commits are for completed COMPOS, the API you
> > described might allow partial updates to already committed COMPOS, and I
> > don't think delta commit should imply partial updates. Delta is just to
> > commit a completed COMPO but without the need of replicating all the
> > information that hasn't changed. The backend can create the full compo
> > internally, that would not be an issue.
> >
> > Also, that is related with the initial issue: detecting individual changes
> > to persistent COMPOS. Sending just the changes, allows to identify those
> > with the user responsible for the changes, so it is easier to create lists
> > of problems, medications, etc. per user or organization, even if internally
> > that is stored in one singleton VERSIONED_COMPO. per persistent archetype.
> >
> > Consider this is only for my implementation, I'm not looking for defining
> > this for the official openEHR API, but can help as input. I want to double
> > check my criteria with other implementers before implementing anything :)
> >
> > --
> > Kind regards,
> > Eng. Pablo Pazos Gutiérrez
> > http://cabolabs.com
> >
> > 
> > Subject: Re: Composition commit and change types
> > To: openehr-technical@lists.openehr.org
> > From: thomas.be...@openehr.org
> > Date: Mon, 4 Apr 2016 19:50:50 +0100
> >
> >
> >
> >
> > On 04/04/2016 19:14, pazospa...@hotmail.com wrote:
> >
> > Hi Thomas,
> >
> >
> > What about having the 'delta' mode just at the API level? Storage might not
> > store delta objects, just full objects, but the API allows to send only what
> > was added, modified or deleted instead of the full compo?
> >
> >
> > then you have a transactional concept, i.e. 'add', 'remove', 'modify' etc...
> > so for me the better way to think about it isn't in terms of data structures
> > but in terms of logical changes to the existing state of some Composition.
> >
> > But the logical thing is just a function of the form
> >
> > add (atPath: String; newObject: Locatable)
> >
> > so then it's just a case of what level of domain semantics you want. For
> > example, you could have a function:
> >
> > addEntryToComposition (atPath: String; newEntry: Entry)
> >
> > so it's not far to get to:
> >
> > addMedicationOrder (newMed: Instruction)
> >
> > Now - we don't need 

RE: Composition commit and change types

2016-04-04 Thread pablo pazos
I think that can work for some implementations.
What I was thinking is not adding parts to an existing compo, but to commit a 
full COMPO, just with the changes. That means, the newObject would be a 
COMPOSITION or even a VERSION. If this is for the Problem List, to add a new 
one, the COMPO will have just one EVALUATION with the new problem. If commit 
mode is "delta", the backend will do what it needs to reflect that addition to 
the current Problem List. If the commit mode is "full", that means one problem 
was added and the rest removed.
IMO this can use the same commit(VERSION[] versions, AUDIT_DETAILS audit) 
adding a String mode param or adding another operation commit_delta(VERSION[] 
versions, AUDIT_DETAILS audit).
For my implementation all commits are for completed COMPOS, the API you 
described might allow partial updates to already committed COMPOS, and I don't 
think delta commit should imply partial updates. Delta is just to commit a 
completed COMPO but without the need of replicating all the information that 
hasn't changed. The backend can create the full compo internally, that would 
not be an issue.
Also, that is related with the initial issue: detecting individual changes to 
persistent COMPOS. Sending just the changes, allows to identify those with the 
user responsible for the changes, so it is easier to create lists of problems, 
medications, etc. per user or organization, even if internally that is stored 
in one singleton VERSIONED_COMPO. per persistent archetype. 
Consider this is only for my implementation, I'm not looking for defining this 
for the official openEHR API, but can help as input. I want to double check my 
criteria with other implementers before implementing anything :)
-- 
Kind regards,
Eng. Pablo Pazos Gutiérrez
http://cabolabs.com

Subject: Re: Composition commit and change types
To: openehr-technical@lists.openehr.org
From: thomas.be...@openehr.org
Date: Mon, 4 Apr 2016 19:50:50 +0100


  

  
  




On 04/04/2016 19:14,
  pazospa...@hotmail.com wrote:



  
  
Hi Thomas,



What about
  having the 'delta' mode just at the API level? Storage might
  not store delta objects, just full objects, but the API allows
  to send only what was added, modified or deleted instead of
  the full compo?
  



then you have a transactional concept, i.e. 'add', 'remove',
'modify' etc... so for me the better way to think about it isn't in
terms of data structures but in terms of logical changes to the
existing state of some Composition. 



But the logical thing is just a function of the form



add (atPath: String; newObject: Locatable)



so then it's just a case of what level of domain semantics you want.
For example, you could have a function:



addEntryToComposition (atPath: String; newEntry: Entry)



so it's not far to get to:



addMedicationOrder (newMed: Instruction)



Now - we don't need a path, since the API knows we are dealing with
a MedicationList Composition (that should follow an archetype of
that name) and new medication orders  (Instructions) only go in a
certain place.



So you can take your pick - the great thing about APIs is you can
have as many as you like - as long as they all obey the same rules
of data structuring and validity.



If it makes sense in your environment to create an API of the
flavour of the first one above I say go for it. 



- thomas



  


___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org   
  ___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Re: Composition commit and change types

2016-04-04 Thread Thomas Beale



On 04/04/2016 19:14, pazospa...@hotmail.com wrote:


Hi Thomas,


What about having the 'delta' mode just at the API level? Storage 
might not store delta objects, just full objects, but the API allows 
to send only what was added, modified or deleted instead of the full 
compo?




then you have a transactional concept, i.e. 'add', 'remove', 'modify' 
etc... so for me the better way to think about it isn't in terms of data 
structures but in terms of logical changes to the existing state of some 
Composition.


But the logical thing is just a function of the form

add (atPath: String; newObject: Locatable)

so then it's just a case of what level of domain semantics you want. For 
example, you could have a function:


addEntryToComposition (atPath: String; newEntry: Entry)

so it's not far to get to:

addMedicationOrder (newMed: Instruction)

Now - we don't need a path, since the API knows we are dealing with a 
MedicationList Composition (that should follow an archetype of that 
name) and new medication orders  (Instructions) only go in a certain place.


So you can take your pick - the great thing about APIs is you can have 
as many as you like - as long as they all obey the same rules of data 
structuring and validity.


If it makes sense in your environment to create an API of the flavour of 
the first one above I say go for it.


- thomas

___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Re: Composition commit and change types

2016-04-04 Thread pazospablo




  

Hi Thomas,
What about having the 'delta' mode just at the API level? Storage might not 
store delta objects, just full objects, but the API allows to send only what 
was added, modified or deleted instead of the full compo?
Sent from my LG Mobile


-- Original message--From: Thomas BealeDate: Mon, Apr 4, 2016 10:31To: 
openehr-technical@lists.openehr.org;Subject:Re: Composition commit and change 
types

On 04/04/2016 07:23, pablo pazos wrote:
I thought you had more specific cases :)
Having specific lists per clinician was commented by  
Karsten on a previous message and I commented on that. I'm not  sure at 
which extent that is a backend issue, an API issue or  an UI issue. I 
would say if this is just a display  requirement, is more UI related 
and we need to find ways in  the backend to provide the data to address 
this requirement,  independently of if we have or not singleton 
 versioned_compositions per persistent compo archetype.  
I think it is not just a display requirement, at least in some
countries. There are separate care plans for example in the UK forsome 
patients for relatively unrelated conditions. Whether separatemedication 
lists really exist at the clinical level is a question (abad idea for 
obvious reasons, same for allergies), but I suspect itcould exist at a 
practical level in some places, if a GP or otherMeds list is imported into 
a hospital environment that has its ownmedications list; in this case, the 
two taken together would be seenas the total logical list,  but each part 
being owned by a differentprovider. We need more concrete evidence on this, 
but I don't seeanything to prevent this sort of thing happening.

  

OT but related:
Now this got me thinking about commits. Until now, I was
  thinking of full composition commits, so if you want to add a  
medication to a medication list, you need to commit the data  in the 
current version, plus the new entry for the new  medication. But what 
about delta commits? If I didn't changed  anything on the current 
medications, can't I just commit the  new medication? Is this possible 
or somebody implemented  something like this?  
openEHR doesn't say how to store the Versions, only that the logical
view needs to be that each Version appears to have the full content.If you 
want to engineer a delta-based storage mechanism, you can,the specs don't 
prevent that. Note that implementing differentialrepresentations for object 
structures is non-trivial, but doable(AOM2 does it for example); if you are 
storing some serial format,then you can potentially use text-based diffing, 
although you haveto be careful of ordering within Hashes and Lists, which 
tends tobreak purely logical versioning e.g. on XML.

  
I would think of that as a commit "mode" that applies for   
   amendment and modification change_type, and would allow to log  
individually added entries, and keep track of whole  "singleton" 
persistent lists.
  
Well, all it really means is that a function might be added to theEHR 
API that enables you to 'add' just a medication to a medicationlist, and 
the API will actually figure out how to create the wholecomposition, do any 
diffing, and store the proper Composition withina Contribution. Personally 
I think a better way that I haveadvocated for some years is a business 
level service + API called'medication list' that provides functions like:
  getAll: List  getAllIds: List
addMedicationOrder (newMed: Instruction)  removeMedicationOrder 
(id: String)  getMedicationOrdersInState (aState: StateEnum) // e.g.
'active', etc  putAction (anAction: Action; orderId: String)  etc   
 that's just one idea of the service. Obviously it can be done  
differently. The point is that it would provide all the needed  conversions 
between a functional/transactional interface, and the  appropriate openEHR 
structures. It would do all the building of  Compositions and so on, and 
make the correct calls to the EHR  service.
I would foresee the same kind of service for:
  allergies & interactions  vaccinations  procedures list   
   care plan  patient diary  doctor's diary  etc- thomas
  

  ___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Re: CAMSS assessment of openEHR

2016-04-04 Thread Thomas Beale


I forgot, w.r.t. to versioning of archetypes, this is the specification 
that 
applies.


On 04/04/2016 15:51, Erik Sundvall wrote:

Adding some thoughts below.

On Mon, Apr 4, 2016 at 4:02 PM, Thomas Beale > wrote:



4.A.26: “Does the maintenance organisation for the technical
specification or standard have sufficient finances and resources
to be sure of freedom from short- to medium-term threats?”

·Unable to find any info about this.



What does the question mean?




___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Re: CAMSS assessment of openEHR

2016-04-04 Thread Erik Sundvall
Adding some thoughts below.

On Mon, Apr 4, 2016 at 4:02 PM, Thomas Beale 
wrote:
>
> 4.   A.26: “Does the maintenance organisation for the technical
> specification or standard have sufficient finances and resources to be sure
> of freedom from short- to medium-term threats?”
>
> ·   Unable to find any info about this.
>
>
> What does the question mean?
>
>
Most SEC members are financed by their "home" organisations where thay are
employed, for example EHR systems providers (vendors/projects) and
healthcare organizations. It is in the interest of those organizations to
stay up to date and also to keep the openEHR specifications updated. Most
work is done online and in teleconferences (cheap). Server resources etc
are financed by the openEHR foundation that has recurring membership
incomes.

So yes, there is enough resources to keep things going at current pace.


> 5.   A.27: “Does the technical specification or standard have a
> defined policy for version management?”
>
> ·   The change process has a description about version numbering, but
> we can’t find anything about handling different versions, compatibility,
> etc.
>
>
> Eveything is versioned in openEHR; the release strategy
> describes
> the rules of versions assignment to releases. Other than that, we would
> need to know the specific question to be able to answer better.
>

Additionally, most openEHR artifacts follow http://semver.org/


> 7.   A.48: “Does the technical specification or standard address
> backward compatibility with previous versions?”
>
> ·   Can’t find any info about this on the web pages.
>
>
> see the above link to release strategy.
>

Backwards compatibility for clinical content (already stored EHR data) is
one of openEHRs real strengths. Breaking changes to the RM (technical
reference model) level are uncommon (and migration strategies are usually
provided for any such changes). The more frequent hanges at the AM level
(archetypes and templates) do not break the readability of content based on
previous archetypes etc (since the RM and everything built on the RM stays
the same).

Also the maximal-dataset approach and broad clinical review used for
international archetyping also produces a lower number of surprising
changes in implemented systems due to reduction of the, in other approaches
more commonly occuring, finding of: "Ouch, I didn't consider that less
common usecase when designing my initial datamodel".

Best regards,
Erik Sundvall
Ph.D. Medical Informatics. Information Architect. Tel: +46-72-524 54 55 (or
010-1036252 in Sweden)
Region Östergötland: erik.sundv...@regionostergotland.se (previously lio.se
) http://www.regionostergotland.se/cmit/
Linköping University: erik.sundv...@liu.se, http://www.imt.liu.se/~erisu/
___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

Re: CAMSS assessment of openEHR

2016-04-04 Thread Thomas Beale



On 04/04/2016 14:07, Bakke, Silje Ljosland wrote:


Hi,

The project has now done a preliminary CAMSS assessment of openEHR. 
It’s identified some issues that I would like some input on:


1.A.16: “Are the technical specification or standards reviewed using a 
formal review process with all relevant external stakeholders (e.g. 
public consultation)?”


·The review process is not described. There is a documented a"change 
process" 
(http://www.openehr.org/programs/specification/changeprocess), but it 
seems to be for change. Here, however, neither “review” isn’t 
described any more than that input from members of the "community" is 
sought for major changes.




there are a number of pages describing governance; see e.g. this one 
. Goals 
described here . The 
left hand menu shows the others.


The general process is:

 * new specifications are added to the current working baseline of a
   Component (list shown on the governance page - AM, RM, CDS etc) and
   are announced publicly. They have status = development. The various
   statuses are shown here
   .
   This makes them publicly visible.
 * for some period of time, development will continue, and users of the
   draft spec will report problems on the main Problem Report tracker
   
,
   or in other ways. These will be addressed by the specification owner.
 * At some point, it will be determined by the SEC
   ,
   in consultation with the community, that the specification is stable
   enough to be classified as 'trial', and it will be included in a
   named Release of the relevant component.
 * It will now be subject to formal change control, and every change
   made to it will require a Change Request on the relevant component
   CR tracker
   .

 * At some later point, it will be determined by the SEC, in
   consultation with the community that the specification can be
   classified as 'stable', and it will be marked as such.
 * A specification may be subsequently retired if it no longer serves a
   purpose.

All of this lifecycle is managed by the SEC 
, in 
consultation with the community. All documents are openly available on 
the web, and the sources are in publicly visible Git repositories 
. All of the PR 
and CR trackers are publicly visible and writeable (requires login, to 
prevent spam).


The wiki is used 
extensively as a discussion and planning resource in these processes.


It is the default situation that input from the community is always 
sought - announcements are made of all major changes in the above 
process, and community members can become involved in a number of ways.



2.A.18: “Is relevant documentation of the development and approval 
process of the specification archived and identified?”


·Issue and problem tracker available but it’s hard to find/access. 
 Approval process archive not found.




See the CR trackers 
, i.e. 
SPECxx. There is a link on the home page (top right corner) going 
straight to these; also from the specifications governance pages.


3.A.23: “Is relevant documentation of the development and approval 
process of technical specification or standards publicly available 
(e.g. preliminary results, committee meeting notes)?”


·We’ve been unable to find any minutes from meetings or preliminary 
results anywhere.




SEC face to face meeting documentation is published here 
. 
Community f2f meetings are reported as well, e.g. this one in 2014 
. Admittedly, 
these resources should be more clearly linked - we'll fix that.


The Management Board publishes a monthly update on the foundation news 
list on the web . I 
think this may also go via email directly to subscribed members, but I 
would have to check on that one.


4.A.26: “Does the maintenance organisation for the technical 
specification or standard have sufficient finances and resources to be 
sure of freedom from short- to medium-term threats?”


·Unable to find any info about this.



What does the question mean?

5.A.27: “Does the technical specification or standard have a defined 
policy for version management?”


·The change process has a description about version numbering, but we 
can’t find anything about handling 

Re: Composition commit and change types

2016-04-04 Thread Thomas Beale



On 04/04/2016 07:23, pablo pazos wrote:

I thought you had more specific cases :)

Having specific lists per clinician was commented by Karsten on a 
previous message and I commented on that. I'm not sure at which extent 
that is a backend issue, an API issue or an UI issue. I would say if 
this is just a display requirement, is more UI related and we need to 
find ways in the backend to provide the data to address this 
requirement, independently of if we have or not singleton 
versioned_compositions per persistent compo archetype.


I think it is not just a display requirement, at least in some 
countries. There are separate care plans for example in the UK for some 
patients for relatively unrelated conditions. Whether separate 
medication lists really exist at the clinical level is a question (a bad 
idea for obvious reasons, same for allergies), but I suspect it could 
exist at a practical level in some places, if a GP or other Meds list is 
imported into a hospital environment that has its own medications list; 
in this case, the two taken together would be seen as the total logical 
list,  but each part being owned by a different provider. We need more 
concrete evidence on this, but I don't see anything to prevent this sort 
of thing happening.





OT but related:

Now this got me thinking about commits. Until now, I was thinking of 
full composition commits, so if you want to add a medication to a 
medication list, you need to commit the data in the current version, 
plus the new entry for the new medication. But what about delta 
commits? If I didn't changed anything on the current medications, 
can't I just commit the new medication? Is this possible or somebody 
implemented something like this?


openEHR doesn't say how to store the Versions, only that the logical 
view needs to be that each Version appears to have the full content. If 
you want to engineer a delta-based storage mechanism, you can, the specs 
don't prevent that. Note that implementing differential representations 
for object structures is non-trivial, but doable (AOM2 does it for 
example); if you are storing some serial format, then you can 
potentially use text-based diffing, although you have to be careful of 
ordering within Hashes and Lists, which tends to break purely logical 
versioning e.g. on XML.




I would think of that as a commit "mode" that applies for amendment 
and modification change_type, and would allow to log individually 
added entries, and keep track of whole "singleton" persistent lists.




Well, all it really means is that a function might be added to the EHR 
API that enables you to 'add' just a medication to a medication list, 
and the API will actually figure out how to create the whole 
composition, do any diffing, and store the proper Composition within a 
Contribution. Personally I think a better way that I have advocated for 
some years is a business level service + API called 'medication list' 
that provides functions like:


 * getAll: List
 * getAllIds: List
 * addMedicationOrder (newMed: Instruction)
 * removeMedicationOrder (id: String)
 * getMedicationOrdersInState (aState: StateEnum) // e.g. 'active', etc
 * putAction (anAction: Action; orderId: String)
 * etc

that's just one idea of the service. Obviously it can be done 
differently. The point is that it would provide all the needed 
conversions between a functional/transactional interface, and the 
appropriate openEHR structures. It would do all the building of 
Compositions and so on, and make the correct calls to the EHR service.


I would foresee the same kind of service for:

 * allergies & interactions
 * vaccinations
 * procedures list
 * care plan
 * patient diary
 * doctor's diary
 * etc

- thomas


___
openEHR-technical mailing list
openEHR-technical@lists.openehr.org
http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org

RE: CAMSS assessment of openEHR

2016-04-04 Thread Bakke, Silje Ljosland
Hi,

The project has now done a preliminary CAMSS assessment of openEHR. It’s 
identified some issues that I would like some input on:

1.   A.16: “Are the technical specification or standards reviewed using a 
formal review process with all relevant external stakeholders (e.g. public 
consultation)?”

·   The review process is not described. There is a documented a"change 
process" (http://www.openehr.org/programs/specification/changeprocess ), but it 
seems to be for change. Here, however, neither “review” isn’t described any 
more than that input from members of the "community" is sought for major 
changes.

2.   A.18: “Is relevant documentation of the development and approval 
process of the specification archived and identified?”

·   Issue and problem tracker available but it’s hard to find/access.  
Approval process archive not found.

3.   A.23: “Is relevant documentation of the development and approval 
process of technical specification or standards publicly available (e.g. 
preliminary results, committee meeting notes)?”

·   We’ve been unable to find any minutes from meetings or preliminary 
results anywhere.

4.   A.26: “Does the maintenance organisation for the technical 
specification or standard have sufficient finances and resources to be sure of 
freedom from short- to medium-term threats?”

·   Unable to find any info about this.

5.   A.27: “Does the technical specification or standard have a defined 
policy for version management?”

·   The change process has a description about version numbering, but we 
can’t find anything about handling different versions, compatibility, etc.

6.   A.45: “Are there existing or planned mechanisms to assess conformity 
of the implementations of the technical specification or standard (e.g. 
conformity tests, certifications)?”

·   Can’t find anything about this on the web pages.

7.   A.48: “Does the technical specification or standard address backward 
compatibility with previous versions?”

·   Can’t find any info about this on the web pages.

Anyone? ☺

Regards,
Silje

From: openEHR-technical [mailto:openehr-technical-boun...@lists.openehr.org] On 
Behalf Of Bakke, Silje Ljosland
Sent: Wednesday, January 13, 2016 3:52 PM
To: For openEHR technical discussions 
Subject: RE: CAMSS assessment of openEHR

Thanks again Ian! ☺

Could anyone from Slovenia provide links to documents mandating or recommending 
openEHR, and procurement documents referring to it? It doesn’t matter if 
they’re in Slovenian, the main point is that they can be proven to exist.

Regards,
Silje

From: openEHR-technical [mailto:openehr-technical-boun...@lists.openehr.org] On 
Behalf Of Ian McNicoll
Sent: Monday, January 11, 2016 10:41 AM
To: For openEHR technical discussions 
>
Subject: Re: CAMSS assessment of openEHR

I have added some links. many of the questions seem inappropriate, not 
applicable, or virtually impossible to answer within the health domain.

Ian

Dr Ian McNicoll
mobile +44 (0)775 209 7859
office +44 (0)1536 414994
skype: ianmcnicoll
email: i...@freshehr.com
twitter: @ianmcnicoll

[https://docs.google.com/uc?id=0BzLo3mNUvbAjT2R5Sm1DdFZYTU0=download]
Co-Chair, openEHR Foundation 
ian.mcnic...@openehr.org
Director, freshEHR Clinical Informatics Ltd.
Director, HANDIHealth CIC
Hon. Senior Research Associate, CHIME, UCL

On 6 January 2016 at 08:00, Bakke, Silje Ljosland 
>
 wrote:
Thanks Ian!

It’s good to see there are so many “yes”-es! However, we’ll need some more 
info, for instance links to where the “relevant documentation of the 
development and approval process of the specification is archived and 
identified”.

We’ll handle the spreadsheet bit. ☺

Regards,
Silje

From: openEHR-technical 
[mailto:openehr-technical-boun...@lists.openehr.org]
 On Behalf Of Ian McNicoll
Sent: Tuesday, January 05, 2016 11:37 AM
To: For openEHR technical discussions

Subject: Re: CAMSS assessment of openEHR

My first go now at CAMSS wiki 
page,

There appears to be a major snafu with the CAMMS spreadsheet that auto-sets 
'not applicable' to most of the rows if 'open specification' is set as the 
standard type. This makes some sense for a proprietary specification but none 
whatsoever for an open specification. @Silje - you may want to seek 
clarification from the CAMMS authors.

Ian

Dr Ian McNicoll
mobile +44 (0)775 209 7859
office +44 (0)1536 414994
skype: ianmcnicoll
email: i...@freshehr.com
twitter: @ianmcnicoll


RE: Composition commit and change types

2016-04-04 Thread pablo pazos
I thought you had more specific cases :)
Having specific lists per clinician was commented by Karsten on a previous 
message and I commented on that. I'm not sure at which extent that is a backend 
issue, an API issue or an UI issue. I would say if this is just a display 
requirement, is more UI related and we need to find ways in the backend to 
provide the data to address this requirement, independently of if we have or 
not singleton versioned_compositions per persistent compo archetype.

OT but related:
Now this got me thinking about commits. Until now, I was thinking of full 
composition commits, so if you want to add a medication to a medication list, 
you need to commit the data in the current version, plus the new entry for the 
new medication. But what about delta commits? If I didn't changed anything on 
the current medications, can't I just commit the new medication? Is this 
possible or somebody implemented something like this?
I would think of that as a commit "mode" that applies for amendment and 
modification change_type, and would allow to log individually added entries, 
and keep track of whole "singleton" persistent lists.
Does this makes any sense?
Thanks!
-- 
Kind regards,
Eng. Pablo Pazos Gutiérrez
http://cabolabs.com

From: heath.fran...@oceaninformatics.com
To: pazospa...@hotmail.com; openehr-technical@lists.openehr.org
Subject: RE: Composition commit and change types
Date: Mon, 4 Apr 2016 05:35:13 +








Hi Pablo,
I did include my scenarios re problem list at the bottom of the email. Having 
said that there had been some movement around what compositions are persistent 
due to no context issues so problem list may no longer be a persistent 
composition.
There are similar scenarios for other persistent compositions also, it all 
comes down to context of use.



As I said, I don't like advising how others implement their systems so if you 
think your users will benefit from this rule then go ahead, I was more 
concerned about Ian's response sounding definitive than your query. This has 
risen a interesting topic
 for the API SEC to address.


Regards



Heath









On Sun, Apr 3, 2016 at 10:23 PM -0700, "pablo pazos" 
 wrote:





Hi Heath,



> There are way too many use cases where our service is used and many will 
> break this scenario like merges, distributed EHRs and cross organisational
 shared records.



It would be helpful if you share which scenarios break the rule I stated on the 
previous email to improve it.






IMHO I don't think anybody will take this little convo as a de facto standard, 
also I'm not trying to set that, never stated that. I just want to make the 
life of my users simpler by
 establishing an initial set of rules they can use until they find requirements 
that might need a more complex rule set, to have many cases that should be 
supported. I prefer that to start, instead of leaving the definition of the 
rules 100% to the clients
 of my API, considering that most of them won't have any experience with 
openEHR and how an openEHR backend should work. Of course this might work for 
my tools and my target customers, and I know this won't fit everybody, but this 
rule might help others to
 adapt it to their specific needs. And I agree if this has to be defined for an 
API behavior, the API SEC should be the place to define it.
-- 

Kind regards,

Eng. Pablo Pazos Gutiérrez

http://cabolabs.com





From: heath.fran...@oceaninformatics.com

To: pazospa...@hotmail.com; openehr-technical@lists.openehr.org

CC: openehr-technical@lists.openehr.org

Subject: Re: Composition commit and change types

Date: Sun, 3 Apr 2016 23:36:25 +





Hi Ian and Pablo,
Although I don't like commenting on how others implement their systems I would 
hate for this discussion to become the defacto standard on how the API works in 
the context of persistent compositions. 
Although I understand Ian's position on best clinical practice of a single 
medication list represented as a persistent composition in a person's EHR, 
there is nothing stated about this in the specifications. 
I would be interested in other vendors implementations in this area, but as a 
service implementation I do not like makinging these application oriented 
decisions unless they are in the specification. There are way too many use 
cases where our service is
 used and many will break this scenario like merges, distributed EHRs and cross 
organisational shared records.
I think it is the application that needs to apply these business rules.
I think this needs to be addressed by the API SEC before recommendations that 
appear normative are made on the lists.
Personally we have had big problems with persistent compositions due to lack of 
context, although we are working on fixing these, I still feel that perhaps we 
are not ready to have the category attribute constrained in the archetypes that 
we currently
 state are persistent for these same reasons. I have seen cases