pu

Buscar este blog

jueves, 3 de abril de 2014

Estudiando HL7 Chile

Estudiando HL7
Ya escribí sobre el tema software para salud/medicina, en:
Desde hace un tiempo, estoy coleccionando información sobre el tema, en especial enlaces. Uno de los temas que surge en este tipo de aplicaciones, es HL7 (Health Level 7). ¿Qué es HL7? Podemos leer en el sitio:
Just as people from different countries with completely different native tongues are only able to communicate with each other if they can speak a common language, computer applications can only share information if they communicate with a common protocol. For people or computers to be able to share clinical data with one another, they must both:
  1. have functions to be able to physically communicate, e.g. speak & hear, send and receive documents and data files, share data and information. This is called "functional interoperability".
  2. speak a common language (in terms of nouns, verbs, grammatical structure, etc.) and share the same vocabulary that allows them to understand complex medical conditions and processes. This is called "semantic interoperability".
A group of healthcare computer systems users started developing the HL7 protocol in 1987 to create a common "language" that allows healthcare applications to share clinical data with each another. Over time the HL7 interoperability protocol became a nationally, internationally and globally accepted and accredited standard.
Es decir, HL7 es un standard para intercambiar datos, usando un lenguaje común, entre aplicaciones de salud. La misma gente de ese sitio, produjo este video:

Atención: hay una versión HL7 v2.x y luego apareció un V3 donde se pasó a un formato de mensaje XML (antes en la V2 los mensajes eran líneas de texto).
Mi colección de enlaces es
El sitio madre de HL7:
Un pantallazo de lo que es, se puede ver en la página de la Wikipedia
Un breve curso introductorio de 30 minutos:
Vean que ahí menciona que en V3 cambia el formato de serialización de mensajes: pasa a XML. Es un “gran” cambio con respecto a V2. Aparece Clinical Document Architecture (CDA). Recursos sobre CDA en: http://hl7book.net/index.php?title=CDA
Ayer, el bueno de @HiperiX me envió enlaces a sus posts:
Si quieren programar produciendo y consumiendo HL7, me parecieron potables:
http://hl7api.sourceforge.net/ (proyecto código abierto en Java)
http://nhapi.sourceforge.net/home.php (port a .NET)
Pero no vi que tuvieran soporte de V3.
Un glosario de HL7
Tutorial interesante, uno de los primeros que leería:
Un interesante sitio, con material de V2, V3, CDA, etc:
Más tutoriales en
Recursos y herramientas en:
Sobre el formato de los mensajes V2:
Más técnicos sobre V2:
Sobre mensajes en V3, con validación en línea, y ejemplos de instancia en:
Los mensajes V3, al ser XML, se pueden describir en XSD. Alguien que intentó tomar los XSD para generar clases:
Tengo que leer con más detenimiento, el “approach” de
Vean cómo ahí plantea un escenario donde hay DISTINTAS aplicaciones, de posiblemente distintos proveedores de software, que intercambian mensajes HL7:
Me pareció muy informativo, desde el punto de vista de desarrollo:
Una comparación corta de V2 vs V3:
Dos productos comerciales:
Igualmente, una advertencia: no armaría un dominio de aplicación de salud, basado en lo que dice HL7. Los dominios se arman sobre la realidad, como una representación de la realidad. Lo bueno de HL7 es que es un destilación de la realidad donde nació: tiene conceptos médicos en los mensajes que puede ser interesante representar en nuestro dominio (dependiendo de la necesidad de nuestro cliente). Pero no confundiría el mapa con el territorio: basar un dominio en HL7 no veo que sea el camino. Basar un dominio en HL7, es como basar un sistema de comercio electrónico en lo que tiene que ir en los mensajes EDI, o una aplicación en general según lo que va en un XML.
Lo que sí veo es que una aplicación médica, en todo caso, deberá tener en algún momento un mapeador de su dominio a HL7.
Nos leemos!

lunes, 31 de marzo de 2014

Cuestionario Networking I Inacap



1- ¿Cuáles son los servicios básicos de la capa de enlace de datos?

Permite a las capas superiores acceder a los medios usando técnicas, como tramas.
Controla cómo los datos se ubican en los medios y son recibidos desde los medios usando técnicas como control de acceso a los medios y detección de errores

2- ¿Cuál es el nombre de la pdu de la capa de enlace de datos?

Trama: el PDU de la capa de enlace de datos.

3- ¿Qué entiende por método de control de acceso al medio?

Definen los procesos por los cuales los dispositivos de red pueden acceder a los medios de red y transmitir marcos (frames) en diferentes entornos de red.

4- ¿Cuáles son los procesos que realiza la capa de enlace de datos para colocar la trama hacia otro destino a través de un medio?

A medida que el router procesa tramas, utilizará los servicios de la capa de enlace de datos para recibir la trama desde un medio, desencapsularlo en la PDU de la Capa 3, reencapsular la PDU en una trama nueva y colocar la trama en el medio del siguiente enlace de la red.

5- ¿Cuáles son las subcapas de la capa de enlace de datos?

Para sostener una gran variedad de funciones de red, la capa de enlace de datos a menudo se divide en dos subcapas: una subcapa superior y una subcapa inferior.
LLC La subcapa superior define los procesos de software que proveen servicios a los Protocolos de capa de red.
MAC La subcapa inferior define los procesos de acceso a los medios realizados por el hardware.

6- ¿Nombre y explique los métodos básicos de control de acceso al medio para medios compartidos
Acceso controlado para medios compartidos: los dispositivos de red toman turnos para acceder al medio. Cuando un dispositivo coloca una trama en los medios, ningún otro dispositivo puede hacerlo hasta que la trama haya llegado al destino y haya sido procesada por el destino.
Acceso por contención para medios compartidos: permiten que cualquier dispositivo intente acceder al medio siempre que haya datos para enviar.





7- Explique CSMA/ Detección de colisión brevemente

  • En CSMA/Detección de colisión (CSMA/CD), el dispositivo monitorea los medios para detectar la presencia de una señal de datos. Si no hay una señal de datos, que indica que el medio está libre, el dispositivo transmite los datos. Si luego se detectan señales que muestran que otro dispositivo estaba transmitiendo al mismo tiempo, todos los dispositivos dejan de enviar e intentan después. Las formas tradicionales de Ethernet usan este método.
8- Explique CSMA/ prevención de colisión brevemente

  • En CSMA/Prevención de colisiones (CSMA/CA), el dispositivo examina los medios para detectar la presencia de una señal de datos. Si el medio está libre, el dispositivo envía una notificación a través del medio, sobre su intención de utilizarlo. El dispositivo luego envía los datos. Este método es utilizado por las tecnologías de redes inalámbricas 802.11.

9- Cuál es la diferencia entre Full Duplex y Half Duplex

  • Comunicación half-duplex quiere decir que los dispositivos pueden transmitir y recibir en los medios pero no pueden hacerlo simultáneamente.
  • En la comunicación full-duplex, los dos dispositivos pueden transmitir y recibir en los medios al mismo tiempo.
10- Nombre los tipo de topologías lógica y física generalmente utilizada en redes
        Punto a Punto
        Multi-Acceso
        Anillo
11.- ¿Cuál es el direccionamiento que ofrece el control de acceso al medio y entramada de datos en la capa de enlace de datos?

MAC

12.- (COMPLETE): El direccionamiento de la capa de enlace de datos está contenido en el encabezado de la ____trama_______ y especifica la ___mac_____ origen y la __mac____ destino sólo en la red ____local_______.





13.- Nombre 2 características principales de la dirección MAC.

Es una dirección única física en la red que está formada por letras y números de 48 bits hexadecimal, y es única a nivel mundial

14.- ¿Sobre qué capas actúa el protocolo ethernet (802.2 y 802.3)?

Los estándares de Ethernet definen los protocolos de la Capa 2 y las tecnologías de la Capa 1

15.- Explique brevemente el protocolo IEEE 802.11

El estándar IEEE 802.11, comúnmente llamada Wi-Fi, es un sistema por contención que utiliza un proceso de acceso al medio de Acceso múltiple con detección de portadora y prevención de colisiones (CSMA/CA).


16.- ¿Cuál es la función principal de la capa física?

La capa física controla de qué manera se ubican los datos en los medios de comunicación.
Representan las tramas de la capa de Enlace de datos, en los medios físicos


17.- Nombre la presentación de bits en el los 3 medios físicos que realiza la capa física

Inalámbrica: Onda Electromagnética
Cable Magnético: Impulso Eléctrico 
Fibra óptica: haz de luz


18.- Nombre las 4 áreas de estándares que definen las organizaciones internacionales como IEEE, ANSI, ITU, para la capa la capa física

–         Propiedades físicas y eléctricas de los medios 
–         Propiedades mecánicas (materiales, dimensiones, diagrama de pines) de los conectores 
–         Representación de los bits por medio de las señales (codificación) 
–         Definición de las señales de la información de control

19.- ¿Qué se entiende por "codificación de datos" en la capa física?

El método utilizado para convertir un stream de bits de datos en un código predefinido. 
Los códigos son grupos de bits utilizados para ofrecer un patrón predecible que pueda reconocer tanto el emisor como el receptor. 
La utilización de patrones predecibles permite distinguir los bits de datos de los bits de control y ofrece una mejor detección de errores en los medios

20.- Explique brevemente el proceso que se genera en la capa física y de enlace de datos cuando se realiza la transmisión de una trama

La transmisión de la trama a través de los medios se realiza mediante un stream de bits enviados uno por vez. La capa física representa cada uno de los bits de la trama como una señal.

21.- ¿La forma de representar los bits de manera física, según el tipo de medio (metálico, FO, inalámbrico) se llama?

–método de señalización.

22.- Nombre los 3 métodos de señalización que realiza la capa física.

Señal electrica (cable de cobre)
Señal de pulso de luz (fibra)
Señal de microondas (inalambrica)

23.- ¿Cuáles son las ventajas de los medios de cobre?

El materia utilizado  para su instalación  por lo tanto Menos costoso,  
Los medios de cobre son mas fáciles de manipular.

24.- ¿Cuáles son las desventajas de los medios de cobre?

Interferencia de señal externa . Son susceptibles a la 
interferencia o "ruido" generado fuera del sistema de comunicaciones. ondas de radio ,
como luces fluorescentes, motores eléctricos y otros dispositivos que puedan representar una posible fuente de ruido.
Menor alcance que otros medios y la velocidad .

25.- ¿Cuáles son los tipos de cables que se pueden confeccionar con un cable UTP?

LOS TIPOS DE CLABE QUE SE PUEDEN FORMAR SON T568A-T568B DENOMIADOS CABLE DERECHO QUE ES CUANDO TIENEN LA MISMA TERMINACION
EN SUS EXTREMOS O EL CABLE CRUZADO, GENERALMENTE SON UTILIZADOS  PARA FORMAR el montaje de conectores rj45

26.- Nombre 2 tipos de conexiones que se pueden realizar con un cable cruzado (crossover)

sirve para conectar, dispositivos de la misma capa.  PC con PC, PC con Impresora

27.- Nombre 2 tipos de conexiones que se pueden realizar con un cable derecho (directo)

distinta capa
conexion switch con pc
switch con router

28.- Nombre y explique brevemente los 2 tipos de fibra óptica que existen

Multimodo: el término multimodo indica que pueden ser guiados muchos modos o rayos luminosos.
transmite varios rayos de luz simultaneamente

monomodo: el diámetro del núcleo de la fibra es muy pequeño y solo permite la
 programación de un único modo o rayo(es para distancias mas largas)
 -se utiliza un laser.

29.- Nombre los 3 estándares inalámbricos con su (número ejemplo: 80x.x) y su nombre comercial.
802.11: Wifi
802.15: bluetooth
802.16: Wimax

30.- ¿Cuales son las funciones de la subcapa MAC (IEEE 802.3)?

Resp: 
Funciones subcapa MAC (Control de acceso al medio). Se implemeta en hardware, generalmente en la Tarjeta de interfaz de red (NIC). La subcapa MAC de Ethernet tiene dos responsabilidades principales:

Encapsulación de datos: Proporciona tres funciones principales: Delimitación de trama, direccionamiento y detección de errores

- Control de Acceso al medio: Controla la colocación de tramas en los medios y el retiro de tramas de los medios, y la recuperación por fallo de transmisión debido a colisiones. El método de control de acceso a los medios para Ethernet clásica es el Acceso múltiple con detección de portadora con detección de colisiónes (CSMA/CD).


31.- ¿Cuales son las funciones de la subcapa LLC (IEEE 802.2)?

es la encargada de transmitir tramas entre dos estaciones sin tener que pasar por ningún nodo intermedio . Esta capa debe permitir el acceso múltiple . Esta capa debe identificar todos los posibles accesos a ella , ya sean de una capa superior como estaciones destino u otros.

32.- Nombre 2 particularidades de la Capa 1

implica señales, streams de bits que se transportan en los medios, componentes físicos que transmiten las señales a los medios y distintas topologías. 

33.- La direccion MAC es __UNICA_____ por cada interfaz de red existente en la actualidad


34.- Al modelo 10Base-T generalmente se utilizaban en conexiones a dispositivos concocidos como ____HUB_______ mientras que 100BASE-TX generalmente se conectan a dispositivos llamados ____SWITCH______

35.- ¿Qué identificador se creó para lograr identificar cada uno de los dispositivos conectados a una red local con fines de conocer el destino de una trama?

MAC

36.- ¿Cuál es el nombre de la norma que implementó la IEEE el cuál asigna un código unico de 3 bytes al inicio de la direccion MAC? ¿Para qué sirve?

Es un identificador único organizacional (OUI).y garantizar las direcciones únicas para cada dispositivo Ethernet  para identificar el fabricante el numero del disp. 
"Las normas establecidas por el IEEE obligan a los proveedores de dispositivos Ethernet a registrarse en el IEEE. El IEEE le asigna a cada proveedor un código de 3 bytes, denominado Identificador único organizacional (OUI)."



37.- ¿Cuál es la dirección de broadcast de capa 2?

Broadcast contiene 48 unos que se muestran como el hexadecimal FF-FF-FF-FF-
FF-FF.




38.- ¿Cuál es la direccion multicast de capa 2?

Para Ethernet las direcciones de multicast usan el prefijo de 24 bits
0x01:00:5E:xx:xx:xx


39.- ¿Cuáles son las caracterísitcas principales de un HUB?

Solamente comparte mas puertos ethernet, no toma decision de rutas.. es un dispositivo planoo

40.- ¿Cuáles son la velocidad, tipo de cable, duplex y distancia máxima del ethenet tipo 100Base-TX, 1000Base-TX,10GBase-LX4, 1000Base-LX? 


Ppt chárter nueve

lunes, 17 de marzo de 2014

[C#] Validación con expresiones regulares

Las expresiones regulares son modelos que describen las combinaciones de caracteres en el texto. Se podrían definir como una serie de carácteres que forman un patrón, que representan a otro grupo de carácteres mayor, de tal forma que podemos comparar el patrón con otros conjuntos de carácteres para ver las coincidencias. Las expresiones regulares pueden utilizarse en múltiples lenguajes de programación pero en esta entrada vamos a ver un ejemplo de validación de formularios mediante Javascript y haciendo uso de expresiones regulares.





Un buen tutorial para iniciarse en el manejo de expresiones regulares lo podemos encontrar en Desarrolloweb. Para realizar el ejemplo siguiente no hay porque conocer en profundidad su manejo. A continuación muestro una serie de tablas a modo de chuleta para que podamos utilizarlas con un simple corta y pega.
La tabla siguiente contiene los caracteres especiales de las expresiones regulares.

CarácterTexto buscado
^Principio de entrada o línea.
$Fin de entrada o línea.
*El carácter anterior 0 o más veces.
+El carácter anterior 1 o más veces.
?El carácter anterior una vez como máximo (es decir, indica que el carácter anterior es opcional).
.Cualquier carácter individual, salvo el de salto de línea.
x|yx o y.
{n}Exactamente n apariciones del carácter anterior.
{n,m}Como mínimo n y como máximo m apariciones del carácter anterior.
[abc]Cualquiera de los caracteres entre corchetes. Especifique un rango de caracteres con un guión (por ejemplo, [a-f] es equivalente a [abcdef]).
[^abc]Cualquier carácter que no esté entre corchetes. Especifique un rango de caracteres con un guión (por ejemplo, [^a-f] es equivalente a [^abcdef]).
\bLímite de palabra (como un espacio o un retorno de carro).
\BCualquiera que no sea un límite de palabra.
\dCualquier carácter de dígito. Equivalente a [0-9].
\DCualquier carácter que no sea de dígito. Equivalente a [^0-9].
\fSalto de página.
\nSalto de línea.
\rRetorno de carro.
\sCualquier carácter individual de espacio en blanco (espacios, tabulaciones, saltos de página o saltos de línea).
\SCualquier carácter individual que no sea un espacio en blanco.
\tTabulación.
\wCualquier carácter alfanumérico, incluido el de subrayado. Equivalente a [A-Za-z0-9_].
\WCualquier carácter que no sea alfanumérico. Equivalente a [^A-Za-z0-9_].
La tabla siguiente contiene algunos de los patrones más utilizados a la hora de validar formularios. Si alguien conoce alguna expresión regular más -que pueda ser útil en la validación de formularios- la puede poner en los comentarios y yo la incorporaré a esta tabla.




Cualquier letra en minuscula[a-z]
Entero^(?:\+|-)?\d+$
Correo electrónico/[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/
URL^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)( [a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
Contraseña segura(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$(Entre 8 y 10 caracteres, por lo menos un digito y un alfanumérico, y no puede contener caracteres espaciales)
Fecha^\d{1,2}\/\d{1,2}\/\d{2,4}$(Por ejemplo 01/01/2007)
Hora^(0[1-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$(Por ejemplo 10:45:23)
Número tarjeta de crédito^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\ d{2}-?\s?\d{6}-?\s?\d{5}$
Número teléfono^[0-9]{2,3}-? ?[0-9]{6,7}$
Código postal^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$
Certificado Identificación Fiscal^(X(-|\.)?0?\d{7}(-|\.)?[A-Z]|[A-Z](-|\.)?\d{7}(-|\.)? [0-9A-Z]|\d{8}(-|\.)?[A-Z])$
Valida sólo números del 1 al 12 (ideal para meses)^([0-1]?[0-2]|[0-9])$
Valida de 0.1 a 9.9^([0-9].[1-9])$
Valida desde 10.01 hasta 99.99 con 2 decimales máximo^[0-9][0-9](.[0-9][0-9])$
Valida desde 0.01 hasta 99.99 con sólo 2 decimales máximo

espero les sirva y si pueden comenten en donde están ocupando el código.


Saludos Jose Arcos                               
^[0-9]?[0-9](.[0-9

lunes, 6 de enero de 2014

Funcion Valida Rut Chile Oracle

/* Bueno aki le dejo una funcion para validar el rut en oracle espero les sirva */



Anotacion: Funcion Valida Rut Chile Oracle


hay momentos en que para que inventar la rueda y ya esta inventada o no? todos los jiles dicen eso... pero te reto a que construyas tu propio algoritmo de rut tomando las consideraciones basicas que exije este.. ojala lo hicieras en algún lenguaje que no sea conocido phyton, sap o cualquier tipo de lenguaje y lo compartas con nosotros.



create or replace FUNCTION VALIDARUT(RUT IN VARCHAR2)RETURN VARCHAR2

AS

TOTAL VARCHAR2(12); -- largo total del string a ingresar (rut)

VRUT VARCHAR2(12); -- rut modificado para ajustar el largo



UNO VARCHAR2(2); -- primer valor del rut

DOS VARCHAR2(2); -- segundo valor del rut

TRES VARCHAR2(2);-- tercer valor del rut

CUATRO VARCHAR2(2); -- cuarto valor del rut

CINCO VARCHAR2(2); -- quinto valor del rut

SEIS VARCHAR2(2); -- ..

SIETE VARCHAR2(2); -- ..

OCHO VARCHAR2(2); -- ..



DV VARCHAR2(2); -- digito verificador

ULTIMO VARCHAR2(2); -- ultimo valor del rut ingresado

ESTADO NUMBER(2); -- estado simulacion booleano



BEGIN



ESTADO := 0; -- iniciamos el estado por defecto en falso

TOTAL := LENGTH(RUT); -- tomamos el total de la cadena



IF TOTAL = 12 OR TOTAL = 11 THEN -- comprovamos que no sea mayor a 12 y menor a 11

IF TOTAL <= 11 THEN -- verificamos

VRUT:=LPAD(RUT,12,0); -- agregamos 0 para ajustar a la nececidad de 12 digitos

ELSE

VRUT := RUT; -- asignamos valor final

END IF;

-- En VRUT se guardara el RUT FINAL



-- FILTRO "AMATEUR" PARA QUE EL FORMATO SEA EL CORRECTO

-- SOLO SE PERMITE EL SIGUIENTE FORMATO XX.XXX.XXX-X SI NO ES ASI DEVUELVE 0.

-- BASADO EN LOS VALORES ASCII DE CADA DIGITO.

IF

ASCII(SUBSTR(TO_CHAR(VRUT),1,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),1,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),2,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),2,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),3,1))= 46 AND

ASCII(SUBSTR(TO_CHAR(VRUT),4,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),4,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),5,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),5,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),6,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),6,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),7,1))= 46 AND

ASCII(SUBSTR(TO_CHAR(VRUT),8,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),8,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),9,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),9,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),10,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),10,1)) <= 57 AND

ASCII(SUBSTR(TO_CHAR(VRUT),11,1))= 45 AND

ASCII(SUBSTR(TO_CHAR(VRUT),12,1))>=48 AND ASCII(SUBSTR(TO_CHAR(VRUT),12,1)) <= 57

OR ASCII(SUBSTR(TO_CHAR(LOWER(VRUT)),12,1))=107 THEN --K



-- ALGORTIMO 2 DE http://www.dcc.uchile.cl/~mortega/microcodigos/validarrut/algoritmo.html

UNO := (SUBSTR(VRUT,1,1)*8); -- 1

DOS := (SUBSTR(VRUT,2,1)*9); -- 1

TRES := (SUBSTR(VRUT,4,1)*4); -- 2

CUATRO := (SUBSTR(VRUT,5,1)*5); --2

CINCO := (SUBSTR(VRUT,6,1)*6); --2

SEIS := (SUBSTR(VRUT,8,1)*7); --3

SIETE := (SUBSTR(VRUT,9,1)*8); --3

OCHO := (SUBSTR(VRUT,10,1)*9); -- 3



TOTAL := UNO + DOS + TRES + CUATRO + CINCO + SEIS + SIETE + OCHO; --SUMAMOS TODOS LOS VALORES



DV :=MOD(TOTAL,11); -- OBTENEMOS EL DV



--####-K 10699370-K

ULTIMO:= SUBSTR(VRUT,12,1); -- OBTENEMOS EL ULTIMO DIGITO DEL RUT

--- K

IF ASCII(SUBSTR(TO_CHAR(SUBSTR(LOWER(VRUT),12,1)),1,1)) = 107 THEN --OBTENEMOS SI EL VALOR INGRESADO TERMINA EN K

IF DV = 10 THEN

RETURN(1);

END IF;

END IF;

 





IF ULTIMO = DV THEN --COMPROVAMOS SI EL ULTIMO DIGITO ES IGUAL AL DV

ESTADO:=1; -- CAMBIAOS EL ESTADO DE FALSO A VERDADERO

RETURN(ESTADO); -- RETORNAMOS EL ESTADO SI TODO ESTA OK

END IF;

END IF;

END IF; -- end if, si el largo esta en el rango de 11 u 12

RETURN(ESTADO); -- RETORNAMOS EL VALOR FALSO.

END;


dejen comentarios....

3 Semestre Taller Base De Datos Santiago Sur

Bueno este semestre fue difícil pero nada imposible aqui les cuento como me fue en la asignatura mas ctm con un profesor que no voy a nombrar hasta después de mi futura titulación jajajajaj (ha).

el ramo por lo general es la caga... pero se puede aprender con mucha practica y un buen profesor. por lo que puedo decir que tuve que esforzarme con practica, videos youtube, manuales internet y mucho blog. son el fruto de un 5,6 de promedio y puedo decir que varios de mis amigos quedaron en el camino.

aca les dejo un poquito de lo que paso el #$)=??¿"...


****Taller de Base de Datos****

Programas a utilizar:
-ORACLE VER.11G
-Power Designer VER.16 o superior

1° Evaluación (20%):
-Modelamiento
-Operaciones sobre tabla
-Consultas simples, resumen, anidadas



2° Evaluación (20%):
-Privilegios
-Roles
-Perfiles

3° Evaluación (20%):
-Procedimientos Almacenados documentacion
-Procedimientos documentacion
-funciones documentacion
-Cursores documentacion
-Trigger documentacion

4° Evaluación (40%):
-Proyecto (Liquidación de Sueldo)  aki mi proyectofinal


********************

Codifica un archivo en BASE64 para se enviado por WS II

eh aki en codigo de la decodificacion...-

public string DecodificarBase64(string sBase64, String StrNombreArchivo)
        {
            // Declaramos fs para tener crear un nuevo archivo temporal en la maquina cliente.
            // y memStream para almacenar en memoria la cadena recibida.
            string sImagenTemporal = @"C:\\PDF\\" + StrNombreArchivo;
            FileStream fs = new FileStream(sImagenTemporal, FileMode.Create);
            BinaryWriter bw = new BinaryWriter(fs);
            byte[] bytes;
            try
            {
                bytes = Convert.FromBase64String(sBase64);
                bw.Write(bytes);
                return sImagenTemporal;
            }
            catch
            {
                //MessageBox.Show("Ocurrió un error al leer la imgen.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);
                return sImagenTemporal = @"C:\\PDF\\no_disponible.pdf";
            }
            finally
            {
                fs.Close();
                bytes = null;
                bw = null;
                sBase64 = null;
            }
        }


aki coloco el capitulo anterior donde lo codifico.

http://ingenieroinformaticainacap.blogspot.com/2012/10/codifica-un-archivo-en-base64-para-se.html