scupperscupper / open-ehr-gen-framework

Automatically exported from code.google.com/p/open-ehr-gen-framework
0 stars 0 forks source link

Soporte inicial para órdenes #106

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Al subir un arquetipo desde la GUI, si es un arquetipo de instrucción y se 
subió correctamente, mostrar una segunda pantalla donde se especifique qué 
roles deberían ver las órdenes creadas según ese arquetipo de instrucción.

Luego cada rol debería tener un listado de órdenes creadas según todos los 
arquetipos para los que se indicó que se verían las órdenes para ese rol.

En el listado de órdenes para el rol, se debería poder acceder a los detalles 
del registro de la orden, incluyendo quién ordenó y para qué paciente. Y se 
debería poder ejecutar la orden. Para ejecutar la orden deberían haber 
arquetipos de acción que se correspondan con algún 
ACTIVITY.action_archetype_id, para alguna actividad de la instrucción. En 
realidad lo que se ejecutan son actividades, no instrucciones en si.

El registro de cumplimiento de una actividad debería generar una nueva 
composition, el composer es quien ejecuta la actividad y el paciente es el 
mismo paciente que el asociado a la instrucción (INSTRUCTION.subject).

Esto es un soporte inicial, luego se verá como hacer instrucciones para 
personas en particular dentro de un rol o lugar físico (ej. emergencia u 
hospitalización).

Original issue reported on code.google.com by pablo.swp@gmail.com on 29 Dec 2012 at 5:22

GoogleCodeExporter commented 8 years ago
Listado de instrucciones filtrados por su rol.
  * Ver los indices de instruction que tienen el rol del usuario en sus instructionRoles
  * Obtener los registros de instrucciones para esos arquetipos
  * Ver el estado de cada instruccion (necesito crear una estructura para mantener los estados)
  * Deberia poder realizar acciones dependiendo del estado actual, del ACTION archetype referenciado por la ACTIVITY y de las transiciones que marca el arquetipo de ACTION
  * Al ejecutar una accion se deberia crear una nueva COMPOSITION y se deberia actualizar el estado de la instruction/activity en la estructura que mantiene los estados.

Original comment by pablo.swp@gmail.com on 6 Jan 2013 at 6:33

GoogleCodeExporter commented 8 years ago
Cuidado con los arquetipos de prueba: si el arquetipo de INSTRUCTION tiene un 
slot a ITEM_TREE, el binder no crea la estructura de ACTIVITY. (por ahora no se 
soportan slots que no sean slots de SECTIONs).

Original comment by pablo.swp@gmail.com on 10 Jan 2013 at 10:08

GoogleCodeExporter commented 8 years ago
El binder no está seteando el ACTIVITY.action_archetype_id (obligatorio en el 
RM), dato que debe obtener del arquetipo de la INSTRUCTION que se está 
bindeando.

Original comment by pablo.swp@gmail.com on 10 Jan 2013 at 10:11

GoogleCodeExporter commented 8 years ago
Corregido el seteo de ACTIVITY.action_archetype_id en el binding.

Original comment by pablo.swp@gmail.com on 12 Jan 2013 at 7:22

GoogleCodeExporter commented 8 years ago
Para la ejecución de órdenes, el elemento de ejecución en la instrucción 
puede identificarse con Instruction.workflow_id:

ENTRY    workflow ID 
Unique logical identifier for the running process instance, which may be 
executed in the real world or within a messaging environment, or within a 
workflow management system. 

This is usually a system generated identifier (e.g. openEHR system such as 
OceanEHR assigning the identifier within a 'Workflow Object' to an Instruction, 
or an instance ID assigned by an external workflow engine, or the placer ID in 
a messaging scenario). 

http://www.openehr.org/wiki/display/impl/openEHR+RM+times+and+tracking+clinical+
process

Original comment by pablo.swp@gmail.com on 22 Jan 2013 at 3:17

GoogleCodeExporter commented 8 years ago
Para simplificar la generacion de UI para la ACTION que registra ejecución de 
una ACTIVITY, en el momento de subir un arquetipo de INSTRUCTION, se debería 
serleccionar un template que referencie a algún arquetipo que matchee el 
ACTIVITY.action_archetype_id.

Un template que cumpla eso debe existir previamente a la subida de la 
INSTRUCTION.
Como es un template, la GUI ya está generada, entonces para quien cumple es 
solo listar las INSTRUCTION/ACTIVITIES y el cumplimiento se registra usando el 
template asociado (el seleccionado cuando se subió el arquetipo de 
INSTRUCTION).

Original comment by pablo.swp@gmail.com on 14 May 2013 at 6:28

GoogleCodeExporter commented 8 years ago
El comentario anterior puede crear una situación problemática:

 - Se crea una referencia entre un ArchetypeIndex de INSTRUCTION y un Template que tenga la ACTION referenciada.
 - ¿Qué pasa si quiero usar la misma INSTRUCTION en otro dominio con un Template distinto?

Entonces, la asociación debería ser entre un template que tenga la 
INSTRUCTION y un template que tenga la ACTION correspondiente:

 - Subir el arquetipo de INSTRUCTION normalmente (sube y selecciona roles que pueden ejecutar la INSTRUCTION).
 - Cuando se crea un template que contenga un arquetipo de INSTRUCTION:
   - Listar las ACTIVITIES de la INSTRUCTION, y para cada una, los templates que tienen la(s) ACTION(s) referenciadas en ACTIVITY.action_archetype_id
   - Para cada ACTIVITY, seleccionar un template de que contenga una ACTION.
   - Esas referencias entre templates se deberían guardar en una estructura aparte: ActivityActionTemlateRef.

Original comment by pablo.swp@gmail.com on 11 Aug 2013 at 2:50

GoogleCodeExporter commented 8 years ago
La generacion de UI para la accion que cumple la actividad anda ok.

Ahora el save no sabe que la accion se registró como cumplimiento de una 
actividad:
  - se debería actualizar el InstructonExecution correspondiente.

Cuando se intenta hacer el show del registro ingresado, en 
RecordsController.show se usa el workflow para saber qué mostrar:
  - los cumplimientos no tienen un worfklow definido, así que serían otro caso más
  - ver RecordsController línea 727.

Original comment by pablo.swp@gmail.com on 11 Aug 2013 at 5:41

GoogleCodeExporter commented 8 years ago
Hecho lo del save que sepa que se cumplió una orden.

TODO: cambiar el estado de InstructionExecution cuando se cumple un paso de su 
careflow en GuiGen.save() linea 1020

FIXME: el show del cumplimiento toma el workflow del dominio actual para 
dibujar el menu. Pero el cumplimiento no tiene workflow, asi que deberia 
mostrarse un link para volver al listado de registros donde está el item de 
cumplimiento actualizado, y no mostrar el menu con el WF del domain.

Original comment by pablo.swp@gmail.com on 11 Aug 2013 at 6:08