Cercar en aquest blog

Es mostren els missatges amb l'etiqueta de comentaris coneixement. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris coneixement. Mostrar tots els missatges

16/11/16

Why 101

The first recorded use of an introductory class being designated as “101” was in a University of Buffalo course catalog dated 1929. It wasn’t until the early 1930s that universities in the United States started using a three-digit system to identify their courses. The method wasn’t quite uniform, but it was more logical than the non-system of naming courses that had previously been in place.
In the 1930s, college students started regarding a university degree as a means to a better job, and as a result, universities started added more specialized classes to their curriculum. Students were also traveling further afield after graduation in search of work, so it became important for a potential employer to be able to compare candidates: Was a passing grade in Cost Accounting 203 at Kent State the same as one in Business Accounting 4 at the University of Michigan?
Eventually, colleges started using a three-digit designation, in which the first digit indicated the academic level (1=Freshman, 2=Sophomore, etc.). The second digit usually represented a department (English, Science, etc.) and the third the level of the class within the department. These were not hard and fast rules, and still vary from school to school.
However, as the three-digit system became more commonplace, it seemed that “101” always represented a basic beginning course, no matter what the discipline. By the late 1960s, the phrase was starting to enter the vernacular at large, outside of the collegiate realm.


24/3/10

Transició entre sistemes: Convivència entre un sistema nou i un de caducat.

Després d'un temps dissenyant i implementant dos components molt importants del sistema, el gestor d'events i el getor d'identitats (més endevan en parlaré), cal reflexionar una mica (molt) sobre com fer conviure el moduls que vagin apareixen del nou sistema, amb el sistema existent.
  
Fem memòria, partim d'un dinosaure gegant, monolític, sense capes, tot barrejat, visualitzacions, lògica de negoci, persistència de dades, lògica d'autentificació i accés, un sistema NO transaccional, etc; caducat, difícil d'escalar, poc flexible i costós d' integrar amb altres sistemes. El sistema que dessitjem és totalment el contrari, distribuit, flexible, transaccional, modular, basat en serveis i amb les diferents lògiques (capes) ben diferenciades.
  
La ideia és definir diferents dominis d'aplicació, implementar-los i posar-los en producció. Cada domini en producció haurà de conviure amb el sistema "vell". El mecanisme que utilitzem per fer possible aquesta convivència ha de ser transparent tant pel sistema nou, com pel vell, ja que un cop desaparegui el sistema vell, aquest mecanisme ha de parar-se (desapareixer) i el nou sistema n'hi s'ha d'inmutar.
  
Per entendren's, imaginem-nos que tenim els següents dominis d'aplicació identificats:

  • Peticions: Proves, consultes, visites, etc. 

  • Agendes: Mèdiques, de recursos (TAC, ECO), sessions rehabilitació, ......

  • Llista Espera: Gestió de la llista de peticions en espera de citació.

  • Hospitalització: Gestió de la assistència d'un ingrés.

  • Urgències: Gestió de la assitència d'una urgència.

  • Consultes Externes: Gestió de la assitència d'una consulta externa.

  • Gestió Administrativa del Pacient: Expedients, Històries Clíniques, ingressos administratus, altes administratives , etc.

  • Gestió Activitat: Control de la activitat que és realitza.

  • Facturació: Facturació de la activitat.

  • etc, etc, etc.
  
Evidentment, aquests dominis existeixen en el sistema vell. El procés serà, conectem el domini d'aplicació nou, i desconectem el vell. Però, que passa amb la resta de dominis, han de seguir convivim amb el nou i aquest amb els vells.
I com podem fer que aquesta convivència sigui el més transparent possible. Si fem refèrencia a un post d'aquest blog La Capa de Coneixement podem trobar una solució bona si la barrejem amb el gestor d'events.

Sempre que s'estigui executant un procés, utilitzaria el gerundi del verb que identifica la acció sobre el nom o objecte. Per exemple "guardant" i un cop acabat el participi, "guardat". En ambdós casos dispararia un event que informés al gestor d'events i aquest decidís si s'ha de fer alguna cosa.



Amb aquesta ideia, l'aplicació nova només ha d'informar sempre del que fa, el que escolta o els que escolten, capturen aquesta informació i actuen. En aquest cas actuen informant al sisteam vell. I per tant les aplicacions noves només ha de dir: Guardant_Peticio_10000, Guardada_Peticio_10000, Actualitzant_Cita_3456, Actualitzada_Cita_3456, etc. Evidentment, un cop llançat un event, pot ser recullit per moltes coses diferents, per comunicar a una altre aplicació, per contabilitzar-lo, per fer auditories, logs, etc. També potser que un event no l'escolti ningú. Però tant si escolten els events d'una aplicació o no, aquesta segueix funcionant i donant a conéixer que fa.







19/1/10

Coneixement: Entrevista a Genís Roca

Fent alusió a la gestió del coneixement, i la meva opinió personal sobre la transformació que estant patint els sistemes d'informació, convertint-se en sistemes de coneixement bidireccional, recomano la lectura de la entrevista a Genís Roca publicada a FlashTicSalut [Entrevista].

.....
genisroca: Ara per ara, la veritable bretxa digital és troba en les elits: els que prenen decisions sense haver entès Xarxa.




genisroca: Res és més greu que constatar que les nostres polítiques digitals a mitjà i llarg termini les dissenyen responsables analògics.

.....
 



genisroca: M’agrada el concepte de “prescripció de la informació”. Recepta’m pastilles, però recepta’m també articles i enllaços.



......
 
 

11/12/09

La capa de coneixement

En els sistemes d'avui en dia, quan parlem del seu desenvolupament, el seu disseny o la seva arquitectura, en algun moment o altre, sempre apareix el terme capa.


"desenvolupament de 3 capes, de 5 capes , de n-capes,...."

Sempre apareix la capa de visualització (pantalles per interactuar amb el sistema), la capa de negoci (processament de les dades rebudes pel sistema) i la de dades (persistir aquella informació que ha de durar en el temps), és un resum. També hauríem de parlar de la capa de seguretat que apareix involuntàriament ,o no, en tota la resta. Però, independentment del número de capes i a l'igual que la de seguretat, al meu entendre, crec que hi ha una capa més amagada i de la qual mai se’n parla, poder perquè no cal parlar-ne, poder perquè no hi ha temps per pensar-hi, poder perquè la inversió econòmica no ho ha previst o poder perquè no hi em parat a pensar més del que es mereix.


Quan parlem de coneixement, parlem de saber, de saber alguna cosa, de saber fer alguna cosa, de saber com ..., etc, en definitiva, "saber", sabiduria, intel·ligència?, uhmm, raonem-ho una mica més.


Crec que puc afirmar que al voltat dels sistemes d'informació hi ha molt coneixement, i dins, n'hi ha?..., també, però menys del que hi podria haver.


En qualsevol programari informàtic triat a l'atzar, podem trobar un mínim de coneixement, com pot ser, el manual d’instal·lació, la documentació tècnica, i el coneixement que ens dóna el sistema, uns logs i uns events (rarament), dels quals poques vegades se’n treu profit, quan realment són indicadors de que el sistema està viu.


Bé doncs, la idea que jo vull expressar és la de poder absorbir el coneixement al màxim de manera bidireccional, o sigui, utilitzar el coneixement del professional per alimentar al sistema, i utilitzar el coneixement del sistema per ajudar en tot moment al professional a fer la seva feina el millor possible i augmentar així la productivitat i la eficiència, així com millorar-ne els resultats.

I com podem fer-ho:


  • Utilitzar al màxim el llenguatge natural i les parts de la semàntica que el formen. Utilitzar noms per identificar objectes i verbs per identificar accions sobre els objectes. adjectius per representar propietats, adverbis per representar estats, situacions, aspectes, etc. També cal identificar dominis d'aplicació. "Enregistrar persona" en un domini mèdic-assistècial suposa enregistrar un pacient, en canvi en un domini de compres online, suposa enregistrar un client.


  • Mantenir un glossari domini-nom-verb i associar-li una documentació o protocol que utilitzarem per informar on calgui del que s'està fent quan és produeixi l'acció.


  • La documentació o protocol associat/da a cada relació domini-nom-verb, realment ja la tenim, però no en podem fer res, no la fem servir, perquè no ens hem preocupat d’enregistrar-la. Aquest protocols estan en els professionals que degut a la seva experiència, saben com es fan algunes coses que altres no saben. Això suposa que si no podem absorbir d'alguna manera aquest coneixement, quan aquesta persona marxi pel motiu que sigui, s'emportarà amb ella aquest coneixement tant valuós.


  • I per tant, l' empresa és la primera interessada en no perdre aquest coneixement. I que pot fer, doncs molt fàcil, incentivar l'aportació de coneixement als sistemes d'informació de l'empresa.


  • El sistemes d'informació han d'oferir mecanismes per enregistrar aquesta informació de manera que sigui aprofitable pel programari i els usuaris que en facin ús. Per dir-ho de manera senzilla, el sistema ha de se capaç de dri-li a l'usuari que està enregistrant un pacient i no un client.


  • També podem utilitzar aquests protocols per informar al nous usuaris de com es fa alguna cosa (procés de negoci). El sistema hauria de ser capaç de posar-lo en el punt de partida i ajudar-lo fins al final de tot el procés. El sistema hauria de ser capaç de contestar a "Com es fa un alta hospitalària" o "Com es programa un preoperatori" o ....


  • Per altre banda el sistema es va informant, l'usuari "x", a l'hora "y" a "enregistrat un pacient". Però en aquest procés d'enregistrament, s'han fet moltes coses, s'han introduït dades per part de l'usuari (que podríem analitzar, imaginem-nos un informe d'alta per un diagnòstic en concret, crec que valdria la pena analitzar el contingut dotant al sistema de coneixement sobre aquest tipus de diagnòstic i reutilitzar-lo si cal, en futurs diagnòstics semblants), s'han procesat  i finalment s'han guardat.


  • Sempre que s'estigui executant un procés, utilitzaria el gerundi del verb que identifica la acció sobre el nom o objecte. Per exemple "guardant" i un cop acabat el participi, "guardat". En ambdós casos dispararia un event que informés al gestor d'events i aquest decidís si s'ha de fer alguna cosa.


  • Per altre banda dins el sistema, s'han de capturar tots els errors i tractar-los amb cura. Les excepcions haurien d'informar-se ràpidament, per tal de solventar-les. Quan es produeix un error l'usuari ha d'estar informat de manera entenedora i el tècnic de manera explícita. Això es coneixement també.

Quines aportacions podem trobar en les noves tecnologies que ens ajudin a gestionar coneixement dins les nostres aplicacions? Moltes.


En molts IDE's actuals podem trobar ajudes per crear documentació tècnica, facilitar el disseny de processos, facilitar la integració entre processos i serveis, facilitar la definició d'entitats, de models, ajudar a la programació, a picar codi, mostrant les possibilitats al programador a partir de la variable on es troba (intellisense, bona paraula quan parlem de coneixement), etc, etc, etc. Tot això s' ha pogut incloure dins els IDE's gràcies a fer un estudi de com fan les coses els professionals, com estaria bé que les facin, i analitzant això i moltes més dades, poder facilitar la feina al desenvolupador, per fer la seva feina el millor possible i augmentar així la productivitat i la eficiència, així com millorar-ne els resultats. Em sembla que això ja ho havia dit abans.

Dins el món Microsoft, puc dir que realment ja treballen en aquest sentit, aportant millores constants que em molts casos faciliten en gran mesura el desenvolupament, i el desenvolupament de la capa de coneixement. En el seu IDE actual en producció ja es poden definir processos mitjançant Workflows, definir Serveis amb workflows, definir models d'entitats a partir de models relacionals, definir serveis de dades, crear diagrames de seqüències, de classes, etc. Amb el VS2010 que vindrà les coses encara són més senzilles i entenedores.


Dins les tecnologies .NET que Microsoft aporta mitjançant el seu framework gratuït, podem trobar dins de cada capa millores que ajuden a la gestió del coneixement.

Si comencem en la capa de dades, està clà, "S' HAN ACABAT LES SENTÈNCIES SQL DINS D' UNA APLICACIÓ". Avui en dia em d'anar més enllà del model relacional, i de consultes SQL dins les aplicacions, em d’ apostar pel model d'entitats, models post relacionals. N' hi ha un munt, NHibernate és poder el més famós, però jo em quedo de moment amb el que porta el mateix framework, de moment no necessito res més. I que ens aporta? coneixement. Amb un model d'entitats, si parteix d'un model E/R ben definit i amb les relacions entre taules ben establertes, obtenim un model d'entitats (classes) que ens aporten coneixement en tot moment del model que representen, mitjançant les seves propietats escalars i de navegació. Aquestes últimes ens informen cap a on podem anar a partir d'una instància qualsevol. Si a més projectem el context que formen aquest conjunt d'identitats a través d'un Servei de dades (DataService), podem accedir a un model de dades, des de qualsevol punt de la xarxa (fora de la intranet, saltant firewalls, amb HTTP o HTTPS), i a més a més, un model que ens aporta coneixement de com aquestes dades estan relacionades, i el més important que encara no ho he dit, en temps d' execució i consultable amb LINQ. "El sistema es capaç de d'informar-nos de que emmagatzema, com ho fa i com està relacionada tota la informació". I moltes més avantatges (mirar documentació a MSDN).


Si continuem en la línea lògica, ens trobem en la part de processos de negoci. Aquesta part ha d'estar desenvolupada amb Workflows. Aquest per si sols ja aporten coneixement, si estan ben implementats, ens donen una representació gràfica de flux del procés, encapsulen porcions de codi en activitats, augmentant en gran mesura la reutilització de codi, la flexibilitat dels processos i el coneixement dels usuaris. Es poden representar amb estructures XML, el que suposa que son portables , transferibles, serializables, fàcils de transmetre entre sistemes, fàcils de modificar, bé aconsello el seu estudi.


Alguns del processos de negoci seran projectats a través de serveis. Els serveis en .NET són igual a WCF. La gràcia d'aquesta tecnologia no l'explicaré, perquè és obvia si et documentes prou. Però respecte al coneixement també comença a aportar coses molt interessants, com poden ser el descobriment de serveis, la recerca de serveis a partir de certs criteris, serveis que anuncien la seva disponibilitat, realment molt interessant, només cal pensar que un client ja no s'ha de connectar a un servei que respon a una URL, sinó a un servei que respón a un criteri de recerca, això és coneixement, els sistemes saben que busquen però no saben on està, però els serveis que poden respondre a dites necessitats saben respondre a aquestes sol·licituds, ....... no calen més explicacions, imaginació i prou.


Si arribem a les capes de presentació, trobem components Web 2.0 que ajuden a captar coneixement dels professionals, però es tasca dels dissenyadors d'interfícies i els desenvolupadors, el fet d'aportar o incorporar components intel·ligents que siguin capaços de captar que vol fer un usuari i ajudar-lo i informar-lo si cal, de que està fent i que suposarà fer allò i com ho ha de fer. El sistema prèviament ha estat informat per algún professional qualificat amb el coneixement necessari per realitzar la tasca suposada, i per tant em estat capaços de captar el coneixement, i reutilitzar-lo.


"Bé com podem veure es un tema apassionant en el qual sens dubte i tenen cabuda algoritmes utilitzats en Sistemes Experts i Intel·ligència artificial. No és una tonteria, el futur del sistemes d'informació passa per convertir-se en sistemes de coneixement, el professionals han de conèixer el negoci, els sistemes també, i crec que en un futur la presa de decisions ha de ser compartida entre el professional i el sistema."

















13/3/09

Antecedents

El sistema a desenvolupar està inmers en un cotext sanitari. O sigui, per entendrens, es tracte de desenvolupar un sistema complert per ajudar als professionals de la sanitat (metges, infermers, auxiliars d’ infermeria, administratius,etc) a donar la millor assitència sanitaria possible al pacient.

Per qui no coneix aquest món, com a negoci (mirat sempre des del punt de vista dels sistemes d’ informació) és bastant, o millor dit, molt complexe. Si a això hi afegim el dinamisme que implica el coneixement dels professionals que fan servir aquest sistemes (metges, infermeres, professionals de la sanitat), així com al dinamisme del entorn sanitari, encara ho complica més. Per entendrens millor, només hem de pensar en que la medicina a igual que els sitemes d’ información està sempre en constant evolució. Si això li afegim la importància de les dades que es mouen (dades referents a la salut de les persones) i la confidencialitat que aquestes requereixen, encara es complica més.

Si a aquest sistema, podriem dir assistencial, li afegim la resta (no assitencials), recursos humans, contabilitat, facturació (pública i privada), compres, magatzems, cuina, bugaderia, magatzems, etc, encara es complica més. I per tant, estem davant d’un sistema distribuit, els membres del qual han de poder interoperar entre ells. I si a més a més alguns d’aquest sistemes són propietaris, amb tecnologies totalment diferents, encara es complica més.

També hem de pensar que actualment, el negoci no està parat. Això vol dir que existeix un sistema, que en algún moment s’haurà de migrar, augmentant encara més el grau de complexitat. I si es tot tant complexe, com es que decidim apostar per aquest canvi? Doncs perque el sistema actual està caducat, cal fer una reingenieria del sistema total. Funcionalment el considerem bastant complert (valorant solucions de mercat), però el metode en que es va desenvolupar ja no dona per més. Fer-lo creixe cada cop costa més. Es tra d’un sistema totalmente monolitic, les dades del qual estan enmagatzemades de forma jerárquica, amb manca de documentación, cosa que puposa perdua de coneixement del sistema. A tot això cal sumar, pocs professionals al mercat per poder-lo gestionar, i poca productivitat per part del departameent SI.

“Els diplodocus eren dinosàuris molt grans, això feia que fossin lents, molt lents. Davant dels problemes que els hi poguessin sortir, reaccionavem lentament, i a vegades massa tard. Els velociraptors en canvi eren ràpids, àgils, intel.ligents, treballaven en grup, es sabien comunicar, i si tenien algún problema el resolient ràpidament”.

“Hem d’aconseguir un sistema format per un grup o família de velociraptors, que es comuniquin, colaborin i es relacionin entre ells, idependentment del metode de desenvolupament i la tecnoligia que facin servir”

I per acabar aquest punt, com a professional dels sistemes d’informació, i amb uns anys d’experiècia demostrats, m’agradaria apuntar un detall. El món sanitari és un món que va lligat directament amb la evolució del coneixement i les noves tecnologies. Catalunya com a país aposta per la formació professional dels seus habitants, de manera encertada, i mira als països més desenvolupats per poder trobar models aplicables al creixement en materies de coneixement i formació. El més curiós de tot es que quan has lluitat per la teva formació, durament, arribes al món laboral i resulta que no serveix per res, el titol no es contempla dins el conveni al que pertanys. El que vull dir es que és molt trist que un llicenciat o enginyer o tècnic informatic, que desenvolupa tasques de analisi, disseny, desenvolupament de tecnologies de sistemes d’informació, o sigui que fa la feina que sap fer i per la qual a invertit molt temps de formació, no sigui reconegut com a tal. Amb detalls com aquests, els països acaben sent anomenats, països desenvolupats. Suposo que altres col.lectius es troben en el mateix cas. Així va tot.
Freemarket.com Marketplace