pérez lirfatrículra - 148.206.53.84148.206.53.84/tesiuami/uam7037.pdf · inseratin de un nuevo...

101
/T Alumno Ruiz Pérez Roberto- lirfatrículra 85227956 //Licenciatura Lic. Computaaiin Mixioo D.F. Mayo de 1990 / -

Upload: duongdan

Post on 08-Nov-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

/T Alumno Ruiz Pérez Roberto- lirfatrículra 85227956

//Licenciatura Lic. Computaaiin

Mixioo D.F. Mayo de 1990 / -

Especificaciones del sistema para e¡ análisis estadístico

de datos obtenidos en pruebas de espiromebia

El sistema debe permitir los procesos de alta.:, csmbios y baj3.s de cada uno de los estudios así como el de los dalos generales del pa-ciente.

También debe calcular los resultados de cada esiudio de a.cuerdo a los datos obtenidos de un estudia de espironletrie

Otro requerimiento es el despliegue de resultados teópicm como reales de cada. eshdio realizado. iodos estos datos como resultados reales deben permanecer en la ba.se de datos.

Este sistema debe también pemlitir las correcciones en cada proceso así WmO 1s facilids.d de manejo de éste.

Otra de hs mracteristica de éste sistema es que debe redizar la. regresibti lined de variabies se1eccionada.s que son algunas de los datos del estudio así como los datos generales de cada padents. Este debe pemlitir el manejo de 13. selección de 1a.s vwinbles independientes conlo la dependiente, tambien el rango con el que se quiere seieaionar las variabies a.sí como la regresión iineal y los resultados de cada coeficiente que esti asociado a cada. variable independiente -

Descripción de los procesos del sistema de eapirometría

y del sistema estadíttiw:

Sistema de Espiromefría

" Alta Datos Generales-

Se rediza ¡a. inseratin de un nuevo registro de dalos generales, pidiendo como algunos dabs su r!c que ser& ufilizada para. identifiw 8. cadn pxiente. Tanblin se soiicitari dalos mmo nombre, edad. peso, estatura, sexo , asi como algunos estudios .edizados.

Rediza la. inserción de un nuevo registro de estudio hecho por el espiritmetro, este pide los dalos obtenidos en el laboratorio. por mendonw algunos tenemos mm. de la. cspacidad forzada. presión vapor de agua. etc. El rfc del paciente se dá por defaul ya que al elegir el paciente en la pantalla ( debe existir los datos generales antes) se toma. su rfc del registro de datos generales. Después de efectuar éste procedimiento se despliegan en la pmtdla los rest~ltados redes y teoriats asi mmo los porcentaje entre ellos.

Alta HP-

Se da de alta un estudio realizado por el aparato Hp , también mmo en Espirtimetro el rfc se dC por dela.ul ya que debe existir el registro de datos generales antes de éste estudio. de lo contrario mandaria un mensaje. Alguno datos que se piden son : caJibradón presión de boca, div. flujo espiratorio bassi, etc { son wmo 15 valores). También aparecen resultados ante de que se pueda insertw el registro. Esto permite andizar los resultados antes de insertar el registro.

Cambios

Cambios Datos Generales

Realiza la modificación de un registro del ar~m de los datos generales del paciente seleccionado antes en el menú principal. Se puede modificar todos los campos menos la llave ric. Si se modifica esta, se despliega un mensaje de error.

Cambios Espirómetro

Rediza la modificaaón de un registro del estudio de espirómetro de un paciente. Este paciente es seleccionado en el menu principal. La llave no es a.ccesible para modificar. Ya modificados los datos, se despliegan en una ventana siguiente los resulte.dos reales y teórico con los valores modificados.

Cambios Hp-

Este realiza la modificación del registro del eshdio de Hp 3. un paciente. Este paciente es seleccionado en el menú principal- Se pueden modificar todos los campos que fueron amesados en el proceso de alta. de Hp.

Baia Datos Generales

k3liZa. la. baja de un registro de los datos generales de un paciente junto m n los estudios ( si los hay . Primero selecciona el paciente en el menú principal y después se despliega el registro a. dar de baja

Este proceso da de baja un registro del estudio de espirometría realizado a un paciente. este ya leccionado antes en el menú principal. Se despliega el registro a eliminar en la pantalla

Baia HP.

Rediza la baja de un registro del estudio de lip redizado a. un paciente ya seleccionado en el menú principal. Se despliega el registro a eliminar.

Sistema Estadístico

” Selección ~giiables Independientes

Realiza la selección de las variables independientes desplegada en el menú, con la ventaja que se puede eliminar algunas de las seieccionadas.

Seleccicin ?rai&le Dependiente

Realiza la. selección de la variable dependiente de las de 1s.s variables desplegadas en el menú. Esta solamente se puede canlbiar por otra. si es que ya existe alguna seleccionada

Ranqo de las wviables

Rediza la modificación del rango de cada. variables desplegada en el menú. Estas estan inicializadas por un rango de 0 - 10000. Este rango es el qtle se utiliza para seleccionar los datos de los archivos.

Resresión Lineal HCltiple.

Este proceso rediza la Regresión Múttiple de las variables seleccionadas. Este realiza In solución de una matriz donde los datos seleccionados son almacenados. Este proceso también despliega los resultados de dicha Regresión mostrándolos en la pantalla La visudización consta de cada valor de los coeficientes asociado a cada variable seleccionada

Paciente-

rfC

Es canlpo contine el regisiro feaeral de causante. este es de tipo cadena y mntiene caracteres alfanumérico. contiene 11 cwaderes conteniendo el cara.der nulo. Este registro se utilizar6 como l l a v e pwa una localización única de este registro.

nombre !%!??!?re de! p ~ % ~ ? ? e . e! PJ~.! es?& representado por una cadena. de 31 caracteres.

gaf Es e¡ grado de adividad física del paciente, el cua consta. de un m.raier { A = Adkro, etc.)

owpa Owpachin del pe.cjen!e, consta. de 21 cara.deres.

tabaal Es el número de cigarros que consume el paciente por semanq y esti representado por un número entero.

antecar Este m i p o contiene los antecedentes cardiopulmonares del paciente y consta de 31 caraderes

anteotro Cantiene otros antecedentes que haya tenido el paaente y consta de 31 caracteres.

sexo Sexo del paaente ( M = Masculino, F = Femenino) de un carader

ecg Especifica si el paciente ha tenido estudios de eiedrocardiagrma y resultados. Consta de 31 caracteres.

rayosx Describe si el paciente a tenido estudio de rayos x y mal fuk el diagnbstico. Tiene 21 caracteres.

lugar-or Lugw de origen del paaente. Consta de 21 materes.

alt-or Aftitud en metros del lugar de origen y está representado por un número entero.

lugar-r Lugar de residenda del paciente. Tiene 21 caracteres.

alt-r AMud en metros del lugar de residencia Este campo es de tipo entero.

peso Peso en kilogramos de paciente. Esta representado por un nítmero real.

est Estatura. en centimetros del paaente.Este campo es de tipo entero.

edad Contiene la edad y está representado por un número entero.

h¡JQS Este mrnpo es el número de hijos que tiene el paciente. es llenado wsnda el el paciente es mujer y está representado por un número entero.

fur Fect~a. de la. uitims. regia wando el paciente es mujer. Consta de 9 caraderes conteniedo el valor nulo.

fe&-est Cantiene la fecha. del estudio redizado al paciente. Consta. de 9 materes.

Etpirómeho-

rfC Registro federal de causante del padente. 11 Carateres contando el valor nulo.Este es utilizado como llave para la localizacitjn úni=. de éste registro.

Los siguientes campos esth represenkdos cada uno por un número red. Son datos y resultados en el estudio por medio del espirómetro.

Pa Presión ahoférim ta Tempera.tura ambiente

ie Temperahra espircmetro. Pva RerI5n t q o r de egua m& mm. cap3.cids.d vital forzada- mcvef s - - - f -: . * . .... tnm. uolumen espirslorio 1 er. segundo. mf25-75 mm. flujo 25-75 % mf200 trim. flujo 200-1 200 m v e f Os mm. volumen espiralono en los 1 O segundos. mwe tntn. volumen de reserva espiratono. mni mm. volumen de resewa inspiratono. mac tnm. i r e comente. cwf Capacidad vital forzada- vel s .c. 5 ...r

Yolumen espiratopio 1 er- segundo. vel tmf c av q C?C’

Volumen espiratono 1 er. segundo/ capacidad vital forzada. ni Y olumen de reserva inspiratono. Ci Qpacidad inspirada

6 ac Aire comente. fe200 Flujo espiratono 200-1 200. fern flujo espiratono medic.

Ventilación mkima. vuiuntaria SP Superficie corporal.

Capacidad vital. mev mm. capacidad vital. m ü mm. capacidad inspirada we Volumen de reserva espiratono.

/

WIV

m

rfC Este campo contiene e¡ registro federal de causante, el cual consta de 1 1 caraderes incluyendo el wader nulo. Este campo ser6 utulizado como Ilm úni#. para. la localización de este registro.

Los siguientes campos esth representados cada uno por un número red. Estos datos y resultados son obtenidos en el estudio hecho en el aparato de espirometría Hp.

P3 Presión atmoférica hr Humed8.d relativa, PW Presión vapor de agua.. ta Temperatura. ambiente. cpb Calibración presión boca- cpc Cslibraaón presión caja cpf Mibración presión flujo. sir Sensibilidad del integrador. sf Sensibi1ids.d del flujo. dcv División capacidad vital. M e m Divisibn volumen flujo espiratono mhmo. dac División aire comente. dvre División volumen reserva espiratono. dni Divisihn volumen de reserva inspiratono. dfeb División flujo espiratono basal.

dufim División volumen inspiratorio máximo. dcvi División capacidad vital inspirada dcvec División capacidad vital espirada wonometrada dcvic División capacidad vital inspirada cronometrada víem Volumen flujo espiratorio máximo. wfim Volumen flujo inspiralorio máximo. cvic Capacidad vital inspirado wonometrado. CIieC C%padda.d vital espiratoria inspirada fim Flujo inspiratorio medio. ‘crgi Volumen gas intratorkico. cvi Capacidad vital inspirada fe25-75 Flujo espiratorio 25 - 75 % fe200 Flujo espiratorio 200 - 1200 dfe25-75 División flujo espiratorio 25 - 75 % dfeZO0 División flujo espiratorio 200 - 1200.

Modelo de Entidades y Asociaciones

U Paciente

1 1 E s p i m m t m HP

.

NORMAIJZACION

Segunda Fora Nurmal/2NF]

Modelo de Entidades y Asociaciones Noma1 izado

Pac i en te

1 1

Se realizi remmbinaaón por eficiencia utilizando la timica de division por eficiencia ya que hay momento en que solamente se realiza la inserción de los datos generales del paciente. Esto hace rtik eficiente el sistema por que se adminWa una gran parte de memoria en disco ya que. un registro de Hp es 3 veces grande que el de los datos genereles del paciente.

También se elimina la relaaón Estudio (rfcJ ya que los archiis de paciente, espirómetro y Hp estan ligados por una sola l i m e que es d rfc. Esto nos permite también ahorrar memoria en disco.

Los tres ( pa.ciente. espirómetro y Hp 1 son de tipo maestro ya que las necesidades requieren que éstos siempre esten llenos y su información es importante a nivel investigación ya que los resunados deben tener un respddos de datos para la comprobacibn de éstos.

1 2 9 6 7 5

Gerarquia de las archivos

Rrchivos

Pac = Paciente

Esp = Espimnetm

IP = HP

DiagraMa de flujo de datos

Sistema de Espirometria lmhiuos -

Handato i x i t o Usuario .

t

Rbre f i r c h i u o s I ”-

”- Pac.Btr Esp.Bb Hp.Btr + A +

P r o c e s o s

Sa1 ida

h i t o Salida

Ixito

Usuario

I ”- Pac.Btr Esp.Btr RP.Btr ”-

I‘ I I

T i p o d e Proceso-

= n 1 t a s =

a 3 D a t o s Generales -~ _"

Pac .Btr - Reg.

Uerdadero

L - Hensaje Fracaso

I I

Ex i t o

m Usuario 1 7

=-1 Esp.Btr

Pac.Btr - Reg.

Espir.

Hensaje Fracaso

I Exi to I

c > H . P .

Si no esta H e n s a j e Fracaso

E x i t o

DiagraMa de Estructura de CIltas

+ LE! Da tos Gral es.

lena Registro Datos Grales. I ! Inserta Registra

1

I lierif ica- w e no haga dapllcado de Registro (irales. I

+ Espimmtn,

I I I I t

L1 ena Regi s tra Insepta Registro

Espimnetm Eispimol#tm I

At + u Insrsta Registro

a3 D a t o s Generales - ” Pac.Btr Esp.Btr Hp.Btr

E x i t o I

c) H p

Wp.Btr I

Exi t o

Diagrama de Estructura de Bajas

I Datos Gralcs.

c I I

I

1 w Registro Elimina Los ltso Grales. I Eliminar

I

Registms De &P. y Hp.

d

'I1

R e g d m Datos &spl iega Grales. a Elin. I

"I 1

1 II INC pegistro Elimina e1

Espimnetm

Elimina el Datos Gralcs.

I

t Trae Registro

Hp. a Ellrlnar

A . t

Despliega el Registm Ap. a

Eliminar

r

a> D a t o s G e n e r a l e s - " - " Pat .Btr Esp.Btr Hp.Btr

I A

Reg.

Fracaso tlensaje + Fracaso -

- E x i t o

b) EspirLMetro - Fsp.Btr -

- Fracaso

- E x i t o

c) H p

DiagraMa de Estructura de CaMbios

-l m Datos Grales. I

L ?ae Registro rtso +ales. 4 Cwb1a.P I

I I

t ?ae Registro rtso Grales. 4 Cambia

r-

II 1

I I M i a las

Dc ESP. 9 BP. Registras

1

I I I Irae Registro De espmonetro

a cambiar I

W i a el Reg15tm de Espimmetm

Di agrma de SisteMa

Flujo de Datos

Estadistico Bmhiuos

i x i t o Usuario

Ci5bx-e Rrchiuos ”-

“I Pac.Btr Esp.Btr Hp.Btr

Handato i x i t o Usuario

MGtodo Esta&~sticoI

Sal ida

i x i t o Opciin F Sa1 ida

1 I ”-

”- Pac.Btr E S P ” ~ b.Btr

Usuario .

I

Proceso EstndZstico,

- SelecciGn de Uariables C D e p , e Ind>

Opc i on

D

principal

2

Usuario

Regresa a .men; principal

- Rango de las variables < D e p - e Ind>

Regresa a Hen; Principal

- RegresiGn Lineal ”- Pac.Btr Esp.Btr Hp.Btr ”-

Opciin Regresa a ne& Principal.

Di agraMa de Estructura

de 1 Sistema Estadistico

Despliega llenu

Selecciona Selecciona 1 la Rango "- de las Re sion Lineal

Uariel es &ple de las Uariables Uariigle Independientes Uars.Selrcc. (indep. y Dep.) Pependxente

A

II I r I I

J

Desplie a las UariaiJles

Desplie a el go ie la

lbdifica Ranso Uar. Seleccionada de la uariablc

<

SeIcceieaa lbs kspl i esa

~ f 0 S g p ~ Bcsul tados

z + Llena Matriz Resuehe Matriz

del

Sistema de Espirometría

I istinc! of FROYZ'\FROY ESF.FRJ. paqe 1 at 09:08pm 05/13/90

s\salida\ut¡l .au::.obj ventanas\ventanas. ob j :\sal ida\car-.--i.mp. oh j btt-ieve\mscz:btrv. ob j :\sal ida\uti l e t - ¡a . ab j c\sal ida\acceso. ab j r\salida\pac.obj c\sal¡da\esp.ubj :\sal ida\hp.ob j r\sal ida\modprinc.obj r\salida\vent.obj t \sa 1 ida \p t-oy-, esp. ob j

!. C o n t i e n p l a llamada a l men¡:[ p r i n c i p a l l j ~ l s p l i e g a */ . as1 como l a l l a m a d a a. los procesos */ k Tamb i n SF e n c u e n t r - a n l a s d e c lar-ac i o n e s */ - d e l a v a r i a b l e s g l o b a l c c , */ . n c l u d e < : : s t r i n g . h > . n c l u d e . : : s t d l i b . h > . n c l u d e . : : : c o n i o . h > n c l u d e ( d o s . h:::. n c l u d e " c : v e n t a n a s \ v c _ i n c . h " n c l u d e " c : p t - o y 2 \ d e f _ s t . h " . n c l u d e 'IC: p r o y 2 \ d e f _ c o n s . h "

;Fac pac; E s p esp; :Hp h;

- A r t - e g l o r ; d e a p u n t a d o r e s pat-a t - A p i d o acceso */ que c o n t i e n e i n f o r m a c i b n t - e f p r e n t e a l a r c h i v o */

: que i d e n t i f i c a *. / hat- FOS ,-ELK P A C f1283, /* p a c i e n t p s */

POS-. BLK- E S F C 128 1 , /* E s p i t- Bme t ro * / POS ,,-BLK-HF C 1281: /U, H . P */

. L o n g i t u d d e b y t e s d e l b u f f e r d e datos */ n t BUF--LEN-FAC,

EUF-LEN- ESF, BUF_-LEN-HF;

char- * C a d e n a , Opc; i n t s tatus ;

*/

# inc lude 'IC: ventanas\vc_ inc. h"

/* Ueclat-aciBn de ventanas yobales */ e;.: t e r n VC_VENTANA vent(:),

v e n t l , vent2, vents, ven t4, vents, ventb, v m thp, ven tesp, vent res, vtm tpac :

cloid CreaVantanas O /* C r e a ventanas Globales */ r c

L i s t i n c l of PROY2\ACCESO.C, paqe 1 at Ol:4(3arn 05/16/90

/* ABRE Y CIERRA ARCHIVOS */

/* Variables Globales */

c h a r - c h a r - c h a t - i n t i n t i n t t f a c tEsp t H P

i n t abt-e-hp (Cadena) /* Abre el arch ivo HP.BTR *,! char *Cadena; .r

stt -cat (Cadena, ": \ . ' . .a~-chivos\~hp.btr-") ; return ( BTRV (abre, POS-BLK-HP, &h, Z-43.JF-LEN-HP. Cadena, 1 ) 1 ;

3

int c i e t - r a g a c O /* C i e r r a el arch ivo PAC-ETR */ r c

r e t u r n ( BTRV ( c i e r r a , POS-.BLK-PAC, Pmac, Z:EUF-LEN-PAC, pac. t-fc, 1 ) ) ; I

M. R e a l i z a ].as l l a m a d a s a los m b d u l o d e p r o c e s o s */

i n c l . u d e . : : : s t t - i n c l . .- h::. i n c l u d e . : : : s t d l i b . h : : : . i n c l u d e . : : : c o n i o . h::. i n c l u d e .::dos. h::. i n c l u d e " c : v c n t a n a s \ v c - i n c . h " i n c 1 . u d e " c : p t - o y 2 \ d c f _ s t . h " i n c l u d e " c : p r o y 2 \ d ~ f _ c o n s . h"

. : t e r n tPac p a c ; ;.: t e r n t E s p e s p ; . : t e r n t H p h ; . : t e r n c h a r - FOS~-BLt::'-FAC C 1387, ,I* p a c i e n t e s */

FOS- -ELK: -ESF C1281 . /* E s p i r b r n ~ t r o */ POS-BLt::-HF' C 1 2 8 3 : /* H. F * /

. : t e r n VC-VENThNh v e n t 2 , v c n t Z , v e n t 4 :

: . : t e r n i n t PUF-LEN-FAC, BUF-LEN.-ESF, BUF_LEN-HF';

: t et-n Reg i st t-o Reg C 500 1 ; .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l i d l l e n a ( F i n ) /* Carga e l r e y i s t r - o Reg c o n e l R f c y Nombre */ i n t * F i n ; /* de c a d a p a c i e n t e r e g i s t r a d o . */

i . n t i , s t a t u s , s t a t u s l : :hat- c a d e n a C 1 1 I ;

Listinq of FROY2\MODFRINC.C, paqe 2 at 09:08pm 05/13/90

status = ETRV (igual .POS FLC::_ESF, %esp, h(HUF-LEN-. ESP, pac. r f c , O ) ; statusl = ETRV (igual, FOS-BL-t:::-HF', %h, &BUF.-LEN HF', pac . r f c , O ) ; if ( (status == O) %% (status1 == 5 ) ) )

else

-

str-cpy (Keg Cil.Estudio, "Esp. y H.F. " ) ;

if (status == (1) )

else strcpy (HegCiI.Estudio,"Esp.");

if (status1 == o )

else strcpy (RegCil.Estudio, " H - P " ) ;

strcpy (KeqCil.Estudio, "Ninguno"); i = i + 1 ; status = FTRV (sig, POS-ELt:-PAC, b p a c , ZtBUF-LEN-FAC, cadena, O )

3 3

*Fin = i - 1 ; ? :sp-Reg IIni,Ap,Fin,i! /* Despliega todos los pacientes existentes */ .nt Ini: int *Ap; .nt Fin; : n t i:

int j;

VC-TipoCursor (&vent2, O ) ; VC-Borrar- (&vent2) ; i f ( F i n (1) }

eSct-.ibE (Went2, 10, 10, ' I !No hay Registros") ; /* si no hay pacientes */ j = o ; while ( (j + Ini > i= Fin) C.j -:::= 54) )

c c

if (i == Ini + j? .: - clrrcr (divlj,5).quot +5,div(j,S!.rem * 1 6 + 3,

escribe(Z..vent2,2,14, "Nombre : ' I ) ; escribe (bvent2,12,14, Reg C i I . Nombre) ; escribe (&ventZ,53,14, "Estudio : ' I ) ; escribe(hvent2,64,14,Rey Ci1.Estudio);

1 ., 10, vc-ForAmari 1 lo: vc--Ea!::Negro) ;

5 escribef&vent2,div(j ,Si).rem * 16 + 2, div(j.51 .quot + 1,Reg [Ini + jl.RFC) i = j -F 1;

'? *Ap = Ini + j - 1;

FROY2\MODFRINC.,C oaae 2

Listing of FROY2\MOUFRINC.C, page 3 at 09:08pm C15/13/90

har Despliega ( R f c ) /* despliega y selecciona los repistr-os existentes */ char *Rfc;

r c

char Opcion,Anterior,Salida; int Ap,i,Anti,Ini,Fin;

1 lena (%Fin) : In i = 0 ; i = (1) ; Anti = i; Desp-Reg { Ini, PzAp, Fin, i) : Salida = O; Opcion = toupper !yetch ( 1 ) : Anterior- = npcion; whi le !Sal ida)

Anti = i; if ((Anterior == Compuesto) ?& !&Ap >= O) 1

r c

r c

switch (Opcion) /* funcion de las diferentes teclas */

case F-Arriba : if (div(i,5).quot == div(Ini,5) .quat) r c

if (Ini > (3)

.: Ini = Ini - 5:

Anti = i; Desp -Req CIni,%Ap,Fin, ii :

i Z i - 5 ;

3 1

else

break: i = i - S ;

case F-Ptbajo : if C(i + 5 ) > cip) I if (Ap -< Fin)

c Ini = Ini + 5: i f ((i+5) <:= Fini

i = i + Z ; else

i = Fin; A n t i = i; D~sp.-Reg (Ini5ZApFFin,i>;

3 3

else

b t' ,O S. k:: : i = i + 5 ;

Listing of FROY2\MODPRINC.C, paqe 4 at 09:08pm 05/13/90

case Crl-FIN : if (Fin >. 59) .r

Ini = Fin - 59; i = F i n ; Anti = i; Ctesp-Reg (Ini,&Ap,Fin,i>;

3 ; S r P a k ;

PROY2\MODPRINC.C Daae 4

L i s t i n g of PROY2\MODFHINC.C, paqe 5 a t O?:(C)€?pm (Y5/155/90

1 i f ( A n t i I = i)

Mar-ca ( I n i , i . & n t i ) ; I

e l s e if: (Opcion ! = Compuesto)

t c

if ((Opcion == ESC) : ! (Opcion == ' M ' ) I ! (Opcion == ' I ' ) ! ! (Opcion == 'E') 1

i f ( ( (Opc ion == ' M ' ) : I (Opcion == ' E ' 1 1 !%tz (Ap C: O ) )

e l s e

E

putchar ( 7 ) ;

Sa l ida = i; I

e l s e plutchar ( 7 ) ;

1 Anterior- = Opcion: if < ! S a l i da )

Opcion = toupper (getch 0 ) ; 9 s t r c p y (Rfc,Rey Cil.RFC); /a. F:egresa. e l Rfc Apuntado */ t-eturn (Opcion!; / * Regresa l a epcibn * /

a i d Mat-caMenu ! i ,Gn t i ) /*. mar-ca el menij de proceses */ int i,finti; ,/* y l o s despliecja. en la. ventana vent3 *t./

c

har Opcion tNum,i,Ant) /* Selecciona d e que t i p o es el pr-acesa */ char *Nun: int *l. A n t :

í char Tipo, Sal ida, Anterior-;

n t ( i n t i ;

else i f ( T i p o != C o m p u e s t a )

r c

i f ( (T ipo == ESC) : : ( T i p o == ENTER) : ; ( T i p o == 'p.) f : { T i p o == 'E') : ; (Tipa == 'H')) S a l i d a = 1 :

3 A n t e r i o t - = T i p o ; i f ( ! S a l i d a >

Tipo = t o u p p e r ( g e t c h f ) :

I Mod ( C a d e n a , T i p o ) /+ R e a l i r a l a l l a m a d a a r n o d i f i c a c i d n */ .t. ~ a d c n a C l 1 3 , T i p o : /+ d e p p n d i e n d o d e l t ipo. */ t t Sta t u s ;

L i s t i n g of FROYZ\MODFRINC.C, page 7 a t 09:08pm 05/13/90

m o d i f i ca-datos "espirometro O ; b t-pal:: ;

s t a t u s = ETRV (igual, FOS -FLK "HF, &h, &BUF-LEN-HF, C a d e n a , (1) ; if ( s t a t u s == o

b real:: ;

case ' H ' : s t a t u s = ETRV ( i g u a l , F'OS-.BLt- PAC, tpac , ZIFUF-LEN- PAC, C a d e n a , O )

modi f i c a - h p ( ) ;

1 i f ( s t a t u s ! = O )

r 'L

VC-For-rar- (%ven t 4 ) ; M e n s a j e (status) ;

3

i d E l i m ( C a d e n a , T i p o ) /* Realiza l a l l a m a d a a E l i m i n a c i b n */ T a t - C a d e n a C 1 1 1 , T i p o ; i* d e p e n d i e n d o d e l t i p o . */

i n t s t a t u s ;

case 'E

case ' H

3

i f (statu5 != I:! )

-: ttC-Fjot-r-ar- < % v e n t 4 i ; Mensa-je ! s ta tus) ;

1

id I n s ( C a d e n a , T i p o ) /* Realiza la llamada a InserciSn Wf 7ar CadenaCll1,Tipo; /* d e p e n d i e n d o d e l t i p o . */ int status ;

escribe <&vent4,18,22, " iESC> A b a n d o n a .:F10> I n s e t - t a " ) :

switch ( T i p o ) status = o;

PROYZ\MODPRINC,. C Daue 7

d Procesos (Cadena,Opc) /* Despl iega e l menti de cada proceso */ at- Cadena C 1 1 1, Opc; / * dependiendo de la opci6n Opc. */

char- Tipo,Decision; i n t A n t , i; char *Cad:

Cad = (char- *j malloc ( 1 0 ) ; memset (Cad, NULL, 1 0 ) ;

sw i t ch (Opc! c i

case 'M' : stt-cpy (Cad, "Mod i f i ca" ) :break; case 'I ' : str-cpy (Cad, " I n s e r t a " ) ;bt-eak: case 'E' : str-cpy (Cad, "E l im ina" ) ;break; _t

L i s t i n g of PROY2\MODPRINC.C, p a q e 9 at (:)9:08prn 05/13/90

s w i t c h ( i ) r L

case 0 : T i p o = 'F ' : b r e a k : : ; case 1 : T i p o = 'E' ; b r e a k ; case 2 : T i p o = ' H ' ; b r e a k ; 1

else

I i f (Decision ! = ESE )

T i p o = D e c i s i o n ; s w i t c h ( T i p o )

r I

case 'F" : i = ( 3 ; b t - e a k ; case ' E ' : i = 1 ; b r e a k : ; case 'H' : i = 2 ; b r - e a k ; 3

1

i f ( D e c i s i o n ! = ESC 1 r c

V C - A b r i r ( & v e n t 4 ) ;

s w i t c h ( O p c ) clr-scr- ( 2 5 , 2 , 1,77, v c - - F o r N e g t - o : v c - F a k G r - i s ) ; -

r

case ' M ' : N o d ( C a d e n a , T i p o ) ; /* N o d i f i c a c i B n */ case ' E ' : Elim ( C a d e n a , T i p o ) :/* E l i r n i n a . c i b n */ case ' I ' : Ins ( C a d e n a , T i p o ) : / * I n s e r c i b n o a l t a */

b r - e a k ;

b r-eak: ;

break: : ; 1

VC-Cerrar (? , :ven t4 1 ; 3

I V C - T i p o C u t - s o r ( ! G v e n t 3 , 0 ) ; 3 while ( D e c i s i o n != ESC);

VC-Cet-r-a t- ( % v e n t 3 1 ;

L i s t i n q o f FROY2\F 'AC.C, pacje 1 a t 09:(58pm 05/13/90

-Y CONTIENE LOS F'ROCEDIIIIENTOS 4UE REALIZAN */ * LAS fALTAS,bAJA,MODIFICACION Y CONSULTA * / * DE L O S DFITOS GENERALES . */

i nc I ude i n c l u d e i n c l u d e i nc 1 ude i nc l ude i n c l u d e i nc 1 ude i nc 1 ude

* V a r i a b l e s G l o b a l e s * / :.:tern char- POS-BLK-PAC K 1281; :.:tern c h a r POS-BLt<-HF C 1287 ; :.:tern char POS-BLt:Z-ESF C 1281 ;

:.:tern i n t BUF-LEN-PAC; :.:tern i n t FUF-LEN-ESP; :.:tern int BUF-LEN-HF;

:.:tern tEsp esp; :-:tern tFac pac; :.:term tHp h;

xtet-n char *fecha-hoy ( ;

:.:tern VC-VENTANA ventpac;

L i s t i n g o f FKOY2\PAC.C, p a g e 2 at 0 9 : 0 8 p m 05/13/90

chat.- * c a d e n a ; e s c r i b e ( v e n t , 1 0 , 2 , p a c . r f c ) ; escr ibe ( v e n t , 3 9 , 2 , p a c . n o m b t - e ) ; escribe ( v e n t , 15, 3 , p a c . o c u p a ) ; c a d e n a = (chat- *) malloc ( 2 ) ; mernset ( c a d e n a , NULL,2) ; c a d e n a C O I = pac. sexo; e s c t - i b e ( v e n t , 4 8 , 3 , c a d e n a ) ;

i f ( p a c . s e x o == 'F') /* S i es Mujer- *./

escribe I v e n t , 3 , 1 2 , " H i j o s : I t ) ;

e s c r i b e ( v e n t , 2 0 , 1 2 , " F e c h a d e U l t i m a R e g l a : ' I ) ;

c c

c a d e n a = (char *) malloc ( 4 ) ; memset ( c a d e n a , N U L L , 4 ) ; i t o a (pac.hi j o s , c a d e n a , 1 0 ) ; escribe ( v e n t , 1 1 , 1 2 , I z a d e n a ) ; escribe ( v e n t 7 4 4 , 1 2 , p a c . f u r - ) ;

FHOYZ\P4C.C page 2

L i s t i n g of FfOY2\F'AC.C, paqe 3 a t 09:O8pm 05/13/90

e s c r i b e (vent,27,8,pa~.antecar); e s c r i b e ( v e n t , 2 7 , 9 , p a c . e c g ) ; e s c r i b e (vent,27,10,pac.anteott-o); escribe ( v e n t , 1 3 , l l , p a c . r a y o s x ) ;

i d c a p t y a c ( v e n t , o p c ) /*. C a p t u r a el r - e q i s t t - o p a c i e n t e y d e p e n d i e n d o */ /* d e o p c se l i m p i a o se d e j a como l l .ego para */ /* p o s t e r i o r m e n t e inset-tar o m o d i f i c a r e l */ /* el r e g i s t r o */

C-VENTANA + v e n t : hat- o p c ;

char v a l . o t - , * . c a d e n a ; i n t s t a t u s ,

c o n t , 1 i m ;

c o n t = 1 ; lirn = 18;

i f ( o p c == 'i') r c

rnemset(Zcpac, NULL, sizeof ( t F a c ) 1; s t t - c p y i p a c . f e c h - e s t , f e c h a _ h o y O ) ;

2

do I s ; w i t c h ( c o n t j

r c

case 1 : valor- = e d i t a - c a m p o {vent,pac.rfc,iO,Z,lO,t_direccion); str-upr (pac. r-fc) ; b rea I:: ;

st t -upt- (pac. n o m b r e ) ; b real:: ;

strupr fpac-ocupa); break: ;

case 4 : c a d e n a = (char + I malloc ( 2 ) ; rnemset ( c a d e n a , NULL, 2 ) : ca .dena COI = p a c . sexo: valor = e d i ta-campo ( v e n t ? cadena, 1,3,48, t-nornbt-ej : pac. sexa = c a d e n a EO15 pac.se:-:o = t o u p p e r i p a c , s e x o ) ; i f ( p a r , sexo == 'F' )

case 2 : valor = edi ta-campo ( v e n t , pac . n o m b r e , -30,2,39, t -nombre ! ;

case 3 : valor = e d i t a - c a m p o (vent,pac.ocupa,20,3,15, t -nornbt-ei :

r L

e c . c r - i b e (vent,3,12, "Hijos : ' I ) ;

e s c r i b e (vent,2fO, 1 2 , "Fecha de U l t i m a Regla : ' I ) ;

1 i m = 30: 3

else .r

e s c r i b e ( v e n t , 3 , 1 2 , " 'I) ; escr ibe (vent,2!3,12, 'I

l i m = 18: 3

b r e a k ;

C a S E 5 :

case b :

case 7 :

ca.se 8 :

case 1 1 :

case 1 2 :

ca5e 1.3 :

case 14 :

c a d e n a = ( c h a r * ) rna1l.o~ ( 4 ) ; memset ( c a d e n a , NUL.L? 4 ) ; i t o a ( p a c . e d a d , c a d e n a , 1 0 ) ; v a l o r = e d i t a - c a m p a ( s e n t , c a d e n a , 3 , 5 , 6 1 , t - e n t e r o ) ; pac. e d a d = a t o i (cadena) ; b r-eak: ; c a d e n a = (char *) malloc ( 4 ) ; memset ( c a d e n a , NULL, 4 ) ; i t o a ( p a c . e s t , c a d e n a , 1 0 ) ; v a l o r = e d i t a - c a m p o ( v e n t , c a d e n a , 3 , 4 , 1 4 , t - e n t e t . o ) ; pac .es t = a t o i ( c a d e n a ) ; b rea. k ; c a d e n a = ( c h a r * ) malloc (51; memset ( c a d e n a , N U L L , S ) ; g c v t p a . c . p e s o 7 5 , c a d e n a ) ; v a l o r = edita-campo (vent,cadena,5,4,34,t_real); p a c . p e c ; o = a t o f ( c a d e n a ) ; break ; c a d e n a = !char *) malloc ( 2 ) ; memset ( c a d e n a , NULL, 2 ) ; c a d e n a [(:)I = p a c . g a f ; v a l o r = e d i t a - c a m p o ( v e n t , c a d e n a , 1 , 4 , 7 1 , t - n a m b t - e ) ; pa.c. 5af = c a d e n a C ( 3 1 : pac. g a f = t o u p p e r - (pac. g a f ; b real:: ; valor = e d i t a - c a m p o ( v e n t , p a c . l u g a ~ - . _ o r , 2 0 , 5 , 2 1 , t - d i t - e c c i o n ) ; - , t t - u . p r ( p a r . l u g a r - o r ) ; b r-eak ; ca.dena = ( c h a r *t.) malloc (5); rnemset ( c a d e n a , N U L L , 5 ) ; i toa. ( p a c . a l t-or-, c a d e n a , 1 0 ) ; valor- = e d i t a - c a m p o ( v e n t , c a d e n a , 5 , 5 , 5 7 , t - e n t e r o ) ; p a c . a l t -or = a t o i ( c a d e n a ) ; b rea I:: ; valor = e d i t a - c a m p o ( v e n t , p a c . l u q a r _ r ? 2 ( ~ ) , ~ . ~ ~ , t - d i ~ ~ e c c i ~ n ) : GIL-

break; c a d e n a = ( c h a r + j malloc (5); rnernset ( c a d e n a , NULL. 5 ) itoa I p a c . a l t - r - , c a d e n a , 1 O j : valor- = edita-campo I v e n t , c a d e n a , 5 , 6 , 6 0 , t - e ~ t e t - . o ) : p a c . a . l t - r = ato i ( c a d e n a ) ; b typal:: 5 c a d e n s , = (chat- *I malloc ( 2 ) ; mem-set i c a d e n a , N U L L , 2 ) ; i toa (pac. a.no-t-, c a d e n a , 1C)i ; v a l o r - = e d i t a - c a m p o {vent,cadena,2,7,2¿,~-~nter-~): pac. a.no-r = atmi ( c a d e n a ) ; b t-eak ; ca-dens = ( c h a r *) malloc (3); memset (cadena,NULL,3) ; i toa (pac. tabaco, c a d e n a , l O > ; v a l u r = edita-campo ( s e n t , c a d e n a , 2 , 7 , 5 1 , t - e n t e r o ) ; pat- tabaco = atoi (cadena) ; b r e a k ; valor = edita-campo c v e n t , p a c . a n t e ~ a r , ~ O ~ ~ , ~ 7 . t - d i ~ - ~ c ~ i o n ~ : stt-upr ioac. a n t e c a t - ) : t! r-eak ; valor = edita-campo ! v e n t , ~ a c . e c q , 3 0 , 9 , 2 ~ , ~ - ~ ~ ~ - . ~ ~ c i ~ ~ j :

s t r l _ t p r (pac. l u g a r - t - ) ;

5 t r - u p t- {pac .I PC9 1 ;

h r-ea\:: ;

s t t - u p t - (pac.anteott-o) ; b t-eak:: ;

case 17 : valor- = edita-campo (vent,pac.anteotr-o,30,10,27, t -dit-eccionj ;

case 18 : valor- = edita-campo (vent,pac.rayos:.:,20,11,13,t_direccion); strupr(pac. t-ayos:.:) ; b t-eak ;

memset (cadena, NULL, 4) ; i toa (pac .hi jos ,cadena, 10); valor- = edita-campo (vent,cadena,2,12,12, t- .entet-o) ; pa.c.hi jo5 = ato i (cadena) ; b rea k:: ;

b rea C:: ;

case 1 9 : cadena = (char *) malloc ( 4 ) ;

ca.5e 20 : valor = edita-campo (vent7pac.fur,8,12,44,t-fecha);

3 cont = pos-campo (valor , cont , 1 im) : i f (val.ot- == F 1 (1) )

i f (opc == ' i ' j .:

c c

s t a t u s = BTRV ( inset- , F'OS--PLt:::-PAC, %pac, Z~EUF-LEN-~~FAC:, &pac. r f c , 0 ) ; i f ( s t a t u s == 0 j

r I-

memset(%pac, NULL, s i r e o f ( t F a c j } ;

stt-cpy(pac.fech-est,fecha-h@y O ) ; VC-Borrar I v e n t i ; let-da.tosqra. les ( v e n t i ; l lena- let < v e n t ) ; c a n t = 1 ;

5

1"lensaje ( s t a t u s ) ; e l s e

1 e 1. se

r c

s t a t u s = ETRV (modi f , POS-ELK-PAC, Ztpac, &EUF LEN F h C , Z,:pac I 1-f c, 0 ) ; i f ( s t a t u s ! = 411)

valor- = ESE;

- -

Mensaje (status):

3 5

5 w h i l e (valor- ! = ESC i ; i

> i d modi f i ca_ ja tosqt -a les O /* F:ealira 1s mndificacibn d e los datos */ /* qenet-ales del paciente *I

c

VC-VENTANA v e n t : i n t s t a t u s ;

d a t o s q r a l e s O /* R e a l i z a l a i n s e r c i d n de un r e g i s t r o */ /* d e pac ien tes en e l a r c h i v o F A C */

C--Abt-ir (Zcventpac) : Z-T i tu lo (kventpac , " A l ta Datos Genera les "1; et-datos-qrales (Ztventpac) ; apt-pac(Ztventpac, ' i ' ) ; /+L lena un t -eg is t t -o pac ien te * / C-bot-rat- (&ven tpac 1 ; Z - C e r r a r (Zrventpac) ;

b a . j a - d a t o s q r a l e s 0 /* Realiza l a e l i m i n a c i d n de un */ /* r-egistr-o de pac ien tes en FAC.*,'

at- valor-: t s t a t u 5 , 5 t a t u s l ;

:01\IT I EIW L O S F'ROCED I M 1 El\lTOS QUE KEAL I ZAN w / -AS ALTUS, BALJAS Y MODIFICACIONES DE LOS */ jAT"3S DEL ESF I ROMETRO * /

: 1 u d e : 1 c.( d e : 1 u d e I 1 u d e I u d e

I l u d e I l u d e I 1 u d e

1 u d e

t-esultado_espit-omett-o i t e o ) /* Despliega los r-erul tadcs y porcenta jec *i /* d e I n s Datos Reales y Tetjrico de los */ /* Datos d e l E s p i r B m e t r o */

?or-icc teo:

:hat- opc

at- c a l c u l a O i* Real i z a l o s c d l c u l o s para determinar *¡ / w lo.; resultad~s t e 6 r i c o como r e a l e s */ / * basados en l o s d a t n s de entrada . */

tTeor-ico teo; f l o a t c,s,r,b,v,f,g,i,k,n; c h a r - opc;

i f (teo.cvfwteo.cv*teo.vel=*teo.fem~.teo.fe2!~)(:)*teo.vmv != 0 ) r c

esp. cv = v; esp.cvf = n; /* modificar */ esp.veis = f: esp.veiscvf = c: esp . f e2C)C) = i : esp. vmv = l.-- .. $

esp. sp = S :

esp.fem = CJ; ii Iesp.cvf != O!

r c

esp. ve 1 scvf = esp. ve ls/~sp. cvf : e s p . a.c = e5.p I nacwb*r-; ezp. vt-e = esp. mvre * b * t-:

esp. v t - i = psp .) mvt-i * b * t-;

esp c i = ~c,p. mci * t? * r: opc = r-esl-rltado-espit-ornett-o (teo); /* Desplieqa Resultados */ 3

/* Oependiendo de opc se va a l impiar- * / / * o se de ja r6 corno e n t r e para * / /* l l e n a r o modif icar- * /

!O.-VENTANk *vent; :hat- opc:

I t con t , I i m , 5ts.tus;

l a r - valctr-, *cadena;

cont = 1 : lim = 14: i f (opc == 'i'!

r c

memset (;C,.:esF, NULL, s i z e o f (tEsp) ) ;

str-cpy iesp. r f c , p a c . r f c ) ;

e s c t - i b e ( v e n t , 2 ~ , 2 , e s p . r - f c ) ;

s w i t c h i c o n t )

:r

lo .:

c- L

ca.se 1 : cadena = (char *! ma l lo r (5) 5 memset (cadena, NULL, 51 ; gcv t (esp. pa, 5, cadenaj ; valor- = edita.-carnpo (vent,cadena,5,2,64,t_real); ~ .sp .pa = ataf (cadena) ; b t-ea I:: ;

case 2 : ca.dena = !char *) mal loc (5): memset (cadena, NULL, 5 ) : gcvt (esp. ta,Z,cadena>; valor- = e d i t a - c a m p o ( v e n t , c a d e n a , 5 , 4 , 2 6 , t - ~ - e a ~ ~ : e5p.ta = atof (cadena) ; b t - e a k :

mem5et !cadena, NULL, 4 ) : gcvt (esp. te , 5 , ca.dena) ; valor- = e d i ta-campo (vent, c a d e n a , 4 , 4 , &4, t - rea l1 : esp. te = atof (cadena!; bt-pal::;

memset (cadena, NULL, 5 ) : qcvt !esp.pva.5,cadenaS: valor- = edita-campo ¿vent,cadena,5,6?26,t_real ) ; ecp-pva = dtGf (cadena);

c a . 5 ~ 3 : cadena = (cha.r- W! mallor ( 4 ? :

ca5.e 4 : c a d e n a = (char * I malloc ( 5 ) :

b r e a k : case 5 : cadena = {char * j malloc ( 5 ) ;

rnernset (cadena, NULL, 5) : gcvt (ecp.mvcf,5,cadena): valor = edita-campo Ivent,cadena,5,6,64,t_t-eali: e=.?-mvcf = a t o f ( c a . d e n a ) : b r--ez.l:: ;

xemsst Irzdena, NLltt, 5 ) ; c>.se 6 : c a d e n a = (char *) rnalloc ( 5 ) ;

g c v t iecp.cvel~,5,cadena); v a l o r - = e d i t a - c a - m p o (vent,cadena,5,8,26, t - r e a l ) ; r r p . r n v ~ l c = atof (cadena):

case 7

case 8

ca.se 9

case 1 O

ca.se 1 1

case 12

case 1 3 :

ca5e 14 :

b real:: ; cadena = (char *) malloc ( 5 ) ; memset (cadena, NULL, 5) ; qcvt (esp.mf25_75,~,cadena); valor- = edita-campo (vent,cadena,5,8,64,t_real); esp.mf25-.75 = atof (cadena) ; b r-eaP: ; cadena = (char- SF) malloc ( 5 ) ; memset (cadena, NULL, 5) ; qcvt (esp.mf2(:)0,5,cadena); valor = edita-campo (vent,cadena,5,10,26, t-real!; esp.mfX)!I = atof (cadena); b PP a 1:: ; cadena = (char *) malloc ( 5 ) : memset (cadena, NULL, 5) : gcvt (esp.mvel0s,5,cadena) ; valor = edita-ca.mpo (vent,cadena,5,1C),64,t_real); e s p . m v e l O s = ataf (cadena) ; t real:: ; ca.dena = (char- *) malloc (5) ; memset (cadena, NULL, 5) ; gcvt (ecp.mvt-e,5,cadena): valor- = edita-campo (vent,cadena,5,12,26,t_real); esp.mvr-e = atof (cadena); b rea 1:: ; cadena = (char- *) malloc ( 5 ) ; memset {cadena, NULL, 5) ; gcvt (esp. mvr-i , 5 , cadena) ; valor = edita-campo (vent,cadena,5,12,64, t-real); esp.mvri = atof (cadena); b rea I:: ; cadena = (char *) ma1l.o~ ( 5 ) ; memset (cadena, NULL, 5 ) ; gcvt (esp.mac95,cadena); valor- = edita.-ca-mpo (vent,cadena,5,14.26. t-real); esp-mac = atof (cadena); b rea 1: ; cadena. = (chat- *) malloc ( 5 ) ; memset !cadena, NULL, 5) ; gcvt (esp=ci,5,cadena); valor- = edita-campo (vent,cadena,5,14,64,t-t-e~.1~; esp.mr_i = atof (cadena); b r-eak ; cadena = fchar *l malloz ( 5 ) ; mernret (cadena, NULL, 5 ) ; qcvt {esp. CY, 5 , cadena) ; valor = edita-campo (vent,cadena,5,16,26,t_real); es.p.mcv = atof (cadena): b rea k ;

cont = pos-campo <valor-,cont, lim) ;

o i d l l e n a - e s p ( v e n t ) /* L l e n a e l le trero con l o s d a t o s d e */ 2C-VENTANA * v e n t ;

,!* r-eq i s t r o e s p */

char- * c a d e n a , v a l o r ;

e s c r i b e ( v e n t , 2 6 , l O , c a d e n a ) ; c a d e n a = ( c h a r - *) malloc ( 5 ) ; rnemset ( c a d e n a , NULL, 5 ) ; g c v t (esp.rnvel(~s,5,ca.dena); esct-ibe ( v e n t , 6 4 , 1 0 , c a d e n a ) ; c a d e n a = (char- *) malloc ( 5 ) ; memsclt ( c a d e n a , N U L L , 5) ; g c v t ( e s p . m v t - e , 5 , c a d e n a ) ; e s c r i b e ( v e n t , 2 6 , 1 2 , c a d e n a ) : c a d e n a = (char *) m a l l . o c ( 5 ) ; memset ( c a d e n a , NULL, 5 ) ; g c v t ( e s p . m v r i , 5 , c a d e n a ) ; e s c r i b e ( v e n t . 6 4 , 1 2 , c a d e n s . ) ; c a d e n a = ( c h a t - *) malloc ( 5 ) ; mernset ( c a d e n a , N U L L , 5 ) ; g c v t ( e s p . m a c , 5 , c a d e n a ) ; e s c r i b e ( v e n t , Z t i , 1 4 , c a d e n a ) ; c a . d e n a . = (char- *) malloc ( 5 ) ; memset ( c a d e n a , N U L L , 5 ) : g c v t ! e s p . c i , Z , c a . d e n a ) ; e s c r i b e ( v e n t , 6 4 , 1 4 , c a d e n a ) : c a d e n a . = ( char *) malloc 1 5 ) rnernzet ( c a d e n a , N U L L , 5) : g c v t ( e s p . c v , 5 , c a d e n a j : e s c r i b e ! v e n t , 2 6 , 1 6 , c a d e n a ) ;

L i s t i n q of F'HOY2\ESF'.C, paqe 8 a t 01:40am 05/16/90

> i d m o d i f i c a _ d a t o s _ e s p i r o m e t ~ - o 0 /* R e a l i z a la. m o d i f i c a c i d n d e u n */ /* r e g i s t r o e n e l a r c h i v o ESP */

r c

VC,-fibt-i t- ( Z t v e n t e s p ) ; V C - T i t u l o ( S t v e n t e s p , I' M o d i f i c a Datos E s p i r 6 m e t t - o * I ) ; let-esp (Ztventesp) ; l l e n a - . e s p ( h e n t e z p ) ; c a p t - e s p ( & v e n t e s p , & e s p , ' m ' j ; /* M o d i f i c a el r-egsitro */ VC_,-Bor-r-at- ( & v e n tesp > ;

VC-Cerrar- ( Z ( v e n t e s p ) ;

x i d b a j a _ d a t o s - e s p i r o m e t r o 0 /* R e a l i z a . l a E l i m i n a c i d n d e un r e g i s t r o */ /* e n e l a t - c h i v o ESP */

r i

c h a t - va.lor-; i n t s t a t u s ;

c CONTIEPJE LOS FKOCEDIMIENTO QUE REALIZAN */ LAS ALTAS,EAJAS Y ELIMINACION DE LOS * /

t. MEDIDOS FOR EL AF'ARA'TO H. F. * /

include . n c 1. ud e i. nc 1 ctde L nc 1 ctde i nc 1 ctde .nclcrde i nc 1 ude : nc 1 c!de i nc 1 ude

.I tern in t HUF-LEN-,,,FAC : :tern int BUF-LEN.-HF:

.:tern tFac pae: :t;er-n tHp h;

.: tern VC_VENTANA vent hp, vent res;

lid llena-let-hp (vent) /* Llena el letrero con el registro h */ VC-.. VENTAN& *vent :

chat- *cadena;

c 'C

(vent,64,2,h.pa.5): (vent,26,3,h.ta,5?; (vent764,Z,h.hr,5): (vent,2t74,h.pva,4): (vent,¿4,4,h.cpb.5); (vent,26,5,h.cpc,5); (vent,64,5,h.cpf,5); Ivent,26,6,h.sit-,2); (vent,64,6,h.sf.5): (vent, 26,7, h, dcv. 5) ; Ivent,64.f,h.dvfem,5)5 fvent,26,8,h.dvfim,5)5 Cvent,64,8,h.dac,5): (v~nt,26,9,h.dcvi,S); tvent,64,9.h.dcvec.5)5 ivent,zffb, 10,h.dcvic,5): (vent.64, 10,h.dvr-e,5); (vent.Z¿,ll,h.dvt-i,5): !vent,64, ll.h.dfeb.5): ivent,26,12,h.dfib,5); ivent,b4,12,h.dfem.5); ivent.2¿,13,h.dfene,5!; ivent,64,13,h.dfin.5); fvent,26,i4,h.ang-a,5); ivent.64, 14,h.ang-b,5);

FROY2\HP.C p a g e 1

,

e s c r 1 b e K e a l (vent,26,15,h.dfe25-75,5); e s c r - i b e R e a l ( v e n t , 6 4 , 1 5 , h . d f e 2 ( : ) ( 3 , 5 ) ; e s c t - i b e K e a l . ( v e n t , 2 6 , 1 6 , h . f e p , 5 ) ;

3

: h a t - r - e s u l t a d o - , , h p ( t e o ) /* D e s p l i e g a R e s u l t a d o s reales como */ /* t e t i r i c o s d e l o s d a t o s h . */

t T e o h p t e o ; .:

c h a r * c a d e n a , o p c ;

PROY2\HP.C Dame 2

L i s t i n p o f FROY2\HF.C, page 3 a t 04:24am 05/16/90

escr ibe (bventres,37, 12, " m l . ' I ) ;

escribe (&ventt-es,42, 12, "CVECISeg. /Cap.Vi ta l . : " ) ;

escribeRea1 (&ventres,65, 12,h.cvec*100/h.cv,4); escr ibe (&ventres,73, 12, " % " ) ; escr ibe (%ventres,Z, 13, " A i r e C o r r i e n t e : l a ) ; escribeRea1 (Lventt-es,27,13,h.ac,4)q escr ibe (&ventves, 37, 13, I'ml. ; escribe (%ventt-es,42, 13, "Vol.Reset-va Insp. : ; escribeRea1 (bventt-es,65,13,h.vt-i,4); escr ibe (&ventres,73, 13, " m l . " 1 ; e s c r i b e (Lventt-es,Z,l4,"Cap.Vital Insp. : ; esct-ibeReal (&ventres,27, 14,h.cvi,4); e s c r i b e (?.:ventres,37, 14, " m l . " ) ; escr ibe (%ventres,42, 14, "Cap.Vit. 1.Cr.m. 1 Seq. : ' I ) :

esct-ibeHeal ( ~ ~ v ~ n t ~ - e s , 6 5 , 1 4 , h . c v i c , 4 ) ; escribe (&ventt-es,73, 14, " m l . ' I ) ;

e.zcr-ibe (Exventres, 3 , 15. "CVIClSeq. /Cap. V. Insp. : ' I ) ; esct- ibeHeal (%vent~es,27, 15,h.cvic*I00/h.cvi ,4) ; escr ibe (%vent res , 37, 15, " % " ) ; escribe (3ventres,42,15, " F l u j o Esp. B a s a l .IS). - 9

eccribeKea1 (bventres,65,15,h. feb,4); e s c r i b e (Zxventres,73,15, "l/c,") ; esct-ibe (&ventres,3,16, " F l u j o Insp. Fasal 1 1 ) .

escribeHea1 (%ventt-es,27,16,h.fib.4); escribe (%ventves,37, 16, "1,'s") ; e s c r i b e (~~ventt-es,42,16,"Rel.Fl~~j.~as. ( E / I ) : ' I ) ;

escribeRea1 (%ventt--es,65, 16.h. feb* lQ6/h . f ib ,4 ) ; escr ibe (Went res .73 , 16, " % " ) : e s c r i b e (~~ventres,3,I7,"Vol/Flujo Esp. Max. : ' I ) ;

escr-ibeHeal (%ventres,27, 17,h.vfem,4); escr ibe (%vent res , 57,17, " m l . ' I ) : escr ibe IWentres.42, 17, "F lu jo . Ins,p. Max, . , S ) I

escribeRea1 (&ventres, 65,17, h. f i m , 4) ; escribe (&ventres,73,17, " l / s " ) : e s c r i b e (~xventres,3,18,"Vol . /Flujo 1nsp.Ma:;. : I s ) ;

esct-ibeReal (%ventres, 27,18, h. vf i m , 4) ; escr ibe (&ventres,37, 18, " m l . ' I ) ;

escr ibe (&vmtt t -es, 42, 18, "Rel. / F l u j .Ma:-:. (E/I ) : l a ) ; esct-ibeRea.1 (Lventt-es, 65, 18,h. fem*lcXl/h. f im , 4) ; e s c r i b e (Z(ventres,73,18, * ' % ' I ) ; e s c r i b e ($.:ventr-es,.3, 19, "Hesist.Gereas Espec. : I t ) ; esc t- i beReal (&vent res , 27,19, h. t-a.e, 4 i 4 escr ibe (&ventres,37, 19, "CmH2O/LSeg. ; d o I opc = Fetch 0 ; 3 w h i l e (Impc != ESE) Z-& (OPE != Flc:jj j ;

VC-Forrar (&vent res > VC-Cet-rat- (&vent res) ; t-e turn (opc > ;

3

Listinq of FROt’2\HF.C, pacre 4 at (14:24am 05/16/9(5

i f (pac-sexo == ’M’) /* Faciente Masculino *! r c

teo.cv = 48.1 * pac.est - 20 * pac.edad - 2810; teo.cr- = 57.8 * pac.est + lb * pac.edad - 40 * pac.peso - 4240; teo.vr- = 21.6 * pac.est +23.9 * pac.edad - 16.3 * pac.peso - 1680; teo.fm = 0. 1051 * pa,c.est /2.54 - 0.(547 * pac.edad + 2.01; teo.fh = 0.()47 * pac.est /2.54 - 0.045 * pac.edad + 2.513; teo.fep = (3.95-0.0i51*pac.edad)* pac.est;

3 else /* femenino */

r c

teo.cv = 40.4 * pac-est - 22 * pac.edad - 2350; teo.ct- = 55.9 * pac.est - 30 * pae.peso - 4910; teo. vt- = 29.3 * pac. est + 7.6 * pac. edad - 5730; teo.fm = (3.145 * pac.est /2.54 - (3.(336 * pac.edad - 2.532; teo. fh = (3.060 * pac.est /2.54 - O. 030 * pac.edad + O. 551: teo.fep = (2.93-0.0072*pac.edadj* pac.eE;t;

3 if (teo.cv*teo.cr*teo.v~.*te~. fmwteo. fhicteo. fepw

(teo.cv+teo. c r ) * i teo. Et--teo. vr)* (teo. vr-+teo. cv) ! = (1)) .r

h.sp = av = tp = tt = k:6 = if (tt

k 7 I:: 8 I:: 5)

<

if (h.sir ! = 0 ) r i

ctel = h.5f * k9 /h.sir: h.cv = h.dcv * ctel; h-vfem = h.dvfem * ctel; h.vfim = h-dvfim * ctel; h.ac = h.dac .)i. ctel: h.cvi = h-dcvi * ctel; h.cvic = h.dcvic * ctel: h . vre= h . dvre * ctel; h.vr-i= h.dvri * ctel; h.cvec = h.dcvec * ctel; cte2 = h.sf * k8; h.fem= h-dfem .)c cte2; h-feb = h-dfeb + cte2: h-fib = h . d i i b * .cte’>; h.feme= h-dfeme * cte2; h.fim = h.dfirn * ttp2; h.fe25_.75 = h.dfe25-75 * cte2; h . fe200 = h, dfe200 +e cte2; cl = ( 5 3 1 - pac. PESO + ten. c r - . / ’ 1 ( 5 0 0 1 / 531 5

if Idiv(h.a.ng-a.90) .ran != i? E&: h.cptr !=O1 c.3 = 3 6 ( 3 / & , . 28;

c I.

h-crf = i h.cpc / (tan (h.ang-a/cZ) wh.cpb ) + 0,7254 * cl - O if < Ch-crf - O. 17) != O)

f ~2 = < h.ct-f + 0 . 4 / i h . c r f - 0.17 1 ; i f ( d i v ( h . a n g -S ,SO? . r e m != (3)

PROY2\HP.C page 4

.: i f ( t a n ( h . a n p - b / c 3 ) I= O )

.: h.r-ae = t a n ( h . a n q - , a / c 3 ) / t a n ( h . a n p - . . b / c S ) * h . c p b 1 h . c ~ h . vt- = h . c t - f * 1 OOt: ) - h. vt-e; h . c p t = h.cv 4- h . v t - ; i f ( h . c p t * h . c v * h . c v i * h . f i b * h . f i m ! = (3)

e l s e o p c = r-esul t a d o - h p ( t e o ) ; /* D e s p l i e g a t-esul t a d o s */

M e n s a j e (-3) ; 1

e l s e M e n s a j e (-3) ;

1 else

I"lnsaje (-3) ; 3

e l s e M e n s a . j e (-3) :

3 e 1. se Mensaje (-3) ;

1 e l s e

M e n s a j e (-3) ; 1

else M e n s a j e 6-.3j:

3 else

Mensaje (-21 ; t u r n ( o p c ! ;

p t - h p ( v e n t , o p c ) /* L i m p i a o n o lo a l t e r a e l t-egistt-o h */ !* p a r a 1 l e n a t - CI m o d i f ¡car u n t - e g s i t r - o */ /* d e p e n d i e n d o de la o p c . +/

VENTANA * v e n t : t.. OpC 3

Listincr of F'ROY2\HF.C, page 6 at (34:24am 05/16/90

case

case

C a S E

ca.se

case

case

case

C a S E

case

cadena = (char- * I malloc ( 5 ) : memset (cadena,NULL,S); gcvt (h.pa, 5 . cadena) ; valor- = edita-campo (vent,cadena,5,2,64,t_real); h.pa = atof (cadena) ; b r - e a I:: ; cadena = (char *) malloc ( 5 ) ; memset (cadena, NULL,S) ; qcvt (h. ta,5,cadena); valor = edita-campo (vent,cadena,5,3,26, t-real); h . ta = atof (cadena); b real:: : cadena = (chat- * ) malloc ( 5 ) ; memset (cadena, NULL, 5 ) ; qcvt (h.hr.5,cadena); VdlGt' = edi ta.-carnpo (vent, cadena, 5,5,64, t-real j ; h.hr = atof (cadena): b r-pa. 1:: ; ca-dena = (char *) rnalloc ( 5 ) : memset (cadena,NULL,S) : gcvt (h.pva,5,cadena); valor- = edita-campo (vent,cadena,4,4,26,t-r-eal}; h.pva. = atof (cadena) ; b r-eak ; cadena = (char *) malloc ( 5 ) : mernset (cadena,NULL,5); qcvt (h.cpb75,cadenaj; valor- = edita-campo (vent,cadena,5,4,54, t-real): h.cpb = atof (cadena) ; b t-Eal:: ; cadena = (char- *i malloc (51 : rnerrrset (cadena, NULL,S) ; pcvt Ih.cpc,5,cadenaj: valor- = edita-campo (vent,~adena,5,5,26,t_real); h.cpc = atof (cadena) ;

cadena = (char *) malloc ( 5 ) : memset (cadena,NULL,S) : gcvt (h.cpf -5,cadena) va lor = e d i ta-campo (vent. cadena, 5,5,64, t-real i ; h.cpf = atof fcadena); b t-eak ; cadena = (char- * j ma-lloc ( 5 ) : mpmset icadena,NULL,2! ; i toa (h. si t-, cadena, Ir:>) ; valor = edita-campo fvent,cadena,l,b,Z6, t--entet-o!; l-t.sir- = ato1 (cadena); b t-pal:: ; cadena = (chat- *) malloc (51 ; rnprnset (cadena,NULL,5); qcvt (h.sf,z,cadena); valor- = edita-campo (vent,cadena,5,6,¿4, t-real); h.sf = atof (cadena); break; cadena. = ichar *) malloc 15); memset (cadena,RULL, 5 ) ; gcvt ( h . dcv, 5, caijenaj ; v-alar = edita - r;_r;..po (vent,cadena,5,7,2~,t-t-~a~;; h-dcv = atof ( c a d e n a ) : b r e a 1: ;

b t-ea 1:: ;

F'ROY2\HP.C oacle b

Listing of FHOY2\HF.C, paqe 7 at 04:24am 05/16/90

case 1 1 :

case 1 2 :

ca5e 1 3 :

case 14 :

case 1 5 :

case I t :

case 1 7 :

case 18 :

ca5e l? :

ca5e 20 :

cadena = (char- * ) malloc ( 5 ) ; memset (cadena, NULL, 5 j ; gcvt (h.dvfem,Ei,cadena): va.'lor- = edita-campo (vent,cadena,5,7,64, t,_r-eal); h.dvfem = atof (cadena); b real:: ; cadena = (char- * ) malloc ( 5 ) ; memset (cadena, NULL, 5 ) ; gcvt ( h . dvf irn, 5, cadena) ; valor- = edi ta-campo (vent, cadena, 5,8,26, t-real) ; h.dvfim = atof (cadena); b r-eal:: ; cadena = (char *) malloc ( 5 ) ; memset (cadena,NULL,Si ; gcvt (h. dac, 5, cadena) : valor = edita-campo (vent,cadena,5,8,64,t-t-e~lj; h,dac = atof (cadena); b real:: ; cadena = (char- *) mallo= (5i ; memset (cadena,NULL,S); qcvt (h.dcvi,5,ca.dena): valor- = edi ta--campo !vent, ca.dena, .5,9,26, t.-r-eal) ; h.dcvi = atof (cadena) ; b r-eak ; cadena = (char- *) malloc ( 5 ) ; memset (cadena, NULL, 5) ; gcvt (h.dcvec,Ei,cadena) valor = edita-campo (vent,cadena,5,4,¿4, t-t-eali; h.dcvec = atof (ca.denai; b t-etal:: : cadena = ( c h a r - * 2 malloc ( 5 ) ; memset !cadena, NULL,52 ; qcvt (h.dcvic,5,cadena): valor- = edita-campo (vent,cadena,5,10,2&, t-t-eay); h-dcvic = atof (ca.dena); break: ; cadena = ( c h a r * I malloc ( 5 ) : memset (cadena, NULL,S) ; gcvt (h.dvre55,cadena); valor = edita-campo iventtcadena,~,10,64,t-~-eal~; h. dvt-e = atof (cadena) ; t r-eak ; cadena = (char- *) rnalloc 15) ; memset (cadena, MULL.S! ; p c v t (h. dvr-i , 5 , cadena) ; \ralot- = e d i t a - c a m p n (vent,cadena,5,11,2&,t_real); h.dvr-i = atof <cadena) ; b t-eak : cadena = ( c h a r - w! malloc (5); mernset (cadena, !GULL, 5 ) ; gcvt !h.dfeb,5,cadena): valor = edita-campo (vent,cadena,5, 11,64,t-t-eal}; h.dfeb = atof (cadena); b r-pak: ; cadena = ( c h a r *I malloc ( 5 2 ; meinset (cadena, NULL, 5) ; ecvt (h.dfib55,cadena); va-lor = edita-carpo (vent,cadena,5,12,26, t-t-ealj; h.dfib = atof icac;enaj ; b reat:: ;

F'RcIY2~..tiP.C page 7

case 21 :

case 22 :

case 23 :

case 24 :

cs.se 25 :

case 26 :

ca.!Se 27 :

c;.ze 28 :

cadena = (chat- * ) malloc ( 5 ) ; memse t (cadena, NULL, 5 ) ; pcvt (h.dfern,Eí,cadenai; valor- = edita-campo (vent,cadena,5,12,64, t-r-eali; h.dfem = atof (cadena); b t-ea I:: ; cadena = (char- *) malloc ( 5 ) ; memset (cadena,NULL,S); qcvt (h.dfeme,S,cadena); valor- = edita-campo (vent,cadena,5,13,26,t_real); h.dfeme = atof (cadena); b t-eal:: ; cadena = (char 9 ) malloc (5) ; memset (cadena, NULL, 5) ; qcvt (h. df im, 5, cadena) ; valor- = edita-campo (vent,cadena,5,13,64, t-t-ealj: h.dfim = atof (cadena); b t-eaI:: ; cadena = (chat- wi malloc ( 5 ) ; memset (ca.dena, NULL, 5 ) ; gcvt (h. a n g - a , 5, cadena) ; valor = edita-campo (vent,cadena,5,14.26, t-real); h.ang-a = atcif (cadena);

cadena = (char- i+) malloc ( 5 ) ; rnpm5set (cadena,NULL,S) ; qcvt (h.ang-b,5,cadena); valor = Edita-campo (vent,cadena,5,14,64,t_reali; h-ang-b = atof (cadena); b F - e d I:: ;

cadena. = (char *) malloc ( 5 ) ; memset (cadena, NULL, 5 ) ; qcvt (h.dfe25_75,5,cadena): valor- = edita-campo (vent,cadena,5,15,26, t._r-eal): h.dfe25-75 = atof (cadena): b r-eak ;

cadena = (char- * I malloc (5): rr.emsPt (cadena,NULt,S) qcvt (h. dfe200,5, cadena) ; valor- = edita-campo (vent,cadena,-5,15,64, t-real!; h.die20C) = atof (cadena) ; b t-ea I:: ;

cadzna = ichar- w ! mal lor ( 5 ) ; merriset (cadena, NULL, 5 ) ; qcvt {h.fep,S,cadena); valor = edi ta-campo (vent, cadena, 5,16,36, t-r-eal) ; h-fep = atof (cadena);

b r-eaI:: ;

b real:: ;

d let-hp (vent) /* Escribe un letr-et-o para. los datos de H.F + / 'C-VENTANA *vent ;

esc t- i be escribe esc t- i be escribe esc t- i be esc t- i be esc t-i be esc t- i be esc t- i be esc t- i be esc r- i b e esc t- i be esc t- i be e5c t- i be ee,c t- i be e5c t- i be esc t- i be escribe e5c t- i be escribe esc t- i be e s c r i b e escribe escribe escribe Pscribe esc ribe estct-ibe ssc r i be

r c

I* que contiene 103 datos r-ealizados / * por- e l apat-ato H.F * /

3 i d baja-datos-hp O /* Rea. l i za l a e l im inac ibn de un */ /* t-qistr-o d e datos hp en e l */ /* ar-chivo HP */

char- val or-; int statcrs;

* Contiene aluunas her-r-aminetas que se uti 1 i zan * / * en la . mayoria de los pt-ocedimientos que r e a l i z a n *./ * a l t a s . b a j a s y mod i f i cac iones de l s i s tema */

nc 1 ude nc 1 ude nc lude nc 1 ude nc 1 u d e nc 1 ude nc 1 ude nc 1 ude

t e r n VC',-VENTANA v e n t 1, ven t5, ven t6;

r -uc t FECHA-: /* H e q i s t r o par-a. capturar- l a fecha de l s i s tema */ unsigned ch2.t- an io ; unsiqned char- mes;

unsigned char- d i d ; unsigned cha.r-. dia-sem;

1:

union REGS inr-eqs, outregs; s t t-uc t FECHA DATE ;

inr-egs. h. ah = traer--da.teg i n t S 6 ( 5 t d _ i n t e t - , l i n r e g s , %t>utr-egs) ; Dt?TE.anio = outr-eps. :.:.E:-: X 1iJO; D A T E - m e s = outr-eqs. h. dh; DATE-did = outr-eps.h.dl; [?ATE.dia,,.-sern= out reqs .h .a l : t-e tcr t-n i DATE > :

i d e s c r i b e (vent , pos- y7p@s_x,cad) /* Escr ibe una cadena e n l a ventana vent - VENTANA *vent ; t pos-:-:, p o s v ; Sr- *cad;

l i d E n c a b e z a d o ( c a d e n a ) /* d e s p l i e g a l a v e n t a n a s u p e r i o r */ ar- * c a d e n a ; /* c o n u n t i t u l o y la f e c h a d e l sistema */

/ * E l m e n s a j e es l a c a . d e n a que p a s a por- valot- */ st r-c.tc t FECHA Date, f e c h a ( 1 ; c h a r - * d i a _ s e m C 7 1 = C " D o m i n p o " , " L u n e s " , "Martes", "Mircoles" , " J u e v e s " , " V i e r n e s "

escribe ( t . : v e n t l , 1 , 1 0 , c a . d e n a i : Date = f e c h a ( ) ; e s c t - i b e ( % v e n t 1 , 4 0 , l,dia.-semCDate.dia-temll: esct-ibe(&vent1,5C~,l,fecha-hoy O ) ;

at- pos-campo ( c a r , c o n t , l i m ) /* R e q r - e s a u n a p o s i c i c i n d e p e n d i e n d o */ /* d e l caracter (ca.t-) . c o n t y 1 i m . * ,'

at- car; t c o n t ,

1 i m ;

id M e n s a j e (Codipo) /+ S o n m e n s a j e s de b t r - i e v e */ n t Cod ¡go; /it y m e n s a j e s sabre o p e f a c i o n e s */ char- @PC;

case 5 : escr ibe ( L v e n t 5 , 5 , 1 , " Y a E x i s t e R F C " ) :

ca.se 6 : e s c r i b e ( b v e n t 5 , 5 , 1 , "Num. L l a v e i n v A l i d a " ) ;

case 7 : escr ibe ( & v e n t 5 , 5 , 1 , " N u m . L l a v e , D i f e r e n t e " ) ;

case 9 : escribe ( t v e n t 5 , 5 , 1 , " F i n d e A r c h i v o " ) ;

case 1 0 : escr ibe ( & v e n t 5 , 5 , I , "RFC n o M o d i f i c a b l e " ) ;

case 1 1 : escribe ( % v e n t 5 , 5 , 1 , " I n v A l i d o n o m b r e A r c h i v o " ) :

ca.se 1 2 : e s c r i b e ( % v e n t 5 , 5 , 1 , " A r c h i v o s n o e x i s t e n t e s " ) ;

case 1 7 : escribe ( L v e n t 5 . 5 , 1 , "Et-r-ot- a l cerrar a r c h i v o " ) ;

case 1 8 : escr ibe ( . S : v e n t 5 , 5 , 1 , "Disco 1 l e n o " ) ;

case 1 4 : escribe ( t v e n t 5 , 5 . 1 , " E t t - i e v e dafiado") :

C d S E 20: escribe ( & v e n t 5 . 5 , 1 , " E t t - i e v e n o C a r g a d o " ) ;

case 22: e5ct-i b e ( & v e n t 5 , 5 , 1 , " E u f fer- G r a n d e " ) :

b real : : ;

b rea I:: ;

b real:: ;

b rea C:: ;

b t'PaI:: ;

b real : : ;

b r p a k :

b rea l.:: ;

b t -eak :

b r - p a I:: ;

b real.:: ;

b re a I:: ;

b real.:: ;

b t-eak: ;

b rea I:: ;

b t-eak:: ;

b rea 1:: ;

' case 23: escribe ( & v e n t 5 , 5 , 1 , " B l o c l : : .::>. 1 2 8 b i t " ) ;

case 28: escribe ( & v e n t 5 , 5 , 1 , " I n v 6 l i d a L o n g . K e q i s t r o " ) ;

case 24: escribe ( % v e n t 5 , 5 , 1 , " I n v A l i d a L o n g , RFC") ;

case 8 5 : escribe ( L v e n t 5 , 5 , 1 , "Tab la E t r - i e v e L l e n a " ) ;

d e f a u l t :escribe ( & v e n t 5 , 5 , 1 , " E r r o r c o n s u l t a rnant-tal") ;

1

"tar- D i r - A r c h O /* A b r e los a r c h i v o s b t r e n e? d r i v e especificado +/

r

char - @PC, * C a d e n a l . WcCadenaZ, + E a d e n a 3 ; i n t s t a t u s ;

void escribeRea1 (vent,x,y,num, lon) /* Escr ibe un nctmer-o n u m f l o a t */ VC-VENTANA *ven t ; !* en l a ventana vent en la. * i i n t 5: : /* p ~ ~ i c i d n x,y en una l o n g i t u d */ i n t y ; i* de Ion. * / f lcjat num; i n t l o n ;

c h a r *cadena:

r

cadena = (char *) mal l o c ( l o n ) ; mernset (cadena, b1ULL. l on ) : gcv t I num, lon, c a d e n a ) : ==.cribe (vent, x,y,cadena 1 :

3

Listing of FHOY2\DEF-CONS.H, page 1 at 09:cjBpm 05/13/90

#define ESC ((char..) 2 7 ) #define F1O 'D'

#define inset- 2 /* constantes pat-a Eitr-ieve */ #define modif 3 #define sig 6 #define igual 5 #define f in-archivo 9 #define primer 1 2 #define u1 t 15 #dpf ine ~1 i m i n a t - 4 /*****3+****.***-*******.********i

/* Constante para el manejo de teclas */ #define ENTER '\r' #define F-At-t-iba 'H' #define F-Aba jo ' P ' #define F-At-r-iba. ' I ' #def ine F-Atra jo 'E?'

#define F-I rq ' 1::: ' #define F-Der ' M ' #define Compuesto ' \:.:U '

#define F I N ' O ' #define IN1 'G' #define Crl-FIN 'U' #define C t - l - I N I ' W '

L i s t i n g of F R O Y 2 \ U E F - S T . H , p a c t e 1 a t C)9:(cS€!pm 05/13/90

/ * DEFINIClON DE ESTRUCTURAS */

, t r u c t Z F a c i c n t e .C /* R e g i s t r o que c o n t i e n e l o s d a t o s *./ / * g e n e r a l e s d e c a d a p a c i e n t e .It. /

c h a r t-fc C 1 1 1 , /* R e g i s t r o F e d . C a u s a . n t e */ /*. KEY 0 */ n o m b r e C S 1 1 , g a f 9 /* G r a d o d e f i c t i v i d a d fisica */ ocupa C 2 1 1 : /* 0cupa.c i bn */

i n t tabaco: /* C i g a t - r o s p o t - s e m a n a s */ c h a r - a n t e c a r - C 3 1 1 , /* A n t e c e d e n t e s C a t - d i o p u l m o n a r e s */

a n t e o t r - o C 3 1 1 , /* Otros a n t e c e d e n t e s */ sexo, ecg C 3 1 1 , /* E l e c t r o c a r d i a p r a m a * / rayos:.: c z 1 3 , l l u g a r - o t - C 2 1 1 ; /* Lugar- d e o r i g e n */

i n t a l t -or ; /* A l t i t u d l u g a t - d e o r i g e n */ c h a t - l u g a t - - t - C 2 1 1 ; /*. L u g a r - d e r e s i d e n c i a */ i n t al t-r, /* A l t i t l - ! d l u g a r r e s i d e n c i a */

ano-t- : /* A K o s d e r e s i d e n c i a */ f l o a t p e s o : /* Feso P e r s o n a */ i n t e s t , /* EstatL1t.a *./ i n t h i j o s : /* S i es f e m e n i n o , c u a n t o s h i j o s * / c h a t - fur t91, /* S i es f e m e n i m o f e c h a d l t i m a r - e g l a */

e d a d ;

f e c h - e s t C 9 1 : /* F e c h a del e s t u d i o */ .I

/ w R e g i s t t - o que c o n t i e n e l o s datos *./ / * m e d i d o s c o n e l a p a r a t o s H . F . * / /* R e g . F e d . C a u s a n t e */ /* K E Y (3 */ /* F t - e s i c i n Atmoft-ica * / /* Humedad R e l a t i v a */ /* P r e s i b n V a p o r - d e Aqua */ /* l e m p . A m b i e n t e */ /* C a l i b t - a c i b n F r e s i e i n d e Boca */ /u, C a l i b r a c i b n P t - e s i 6 n d e C a j a */ /* C a l i b t - a c i 6 n P t - e s i c i n d e F l u j o / * S e n s i b i l i d a d d e l i n t e g t - a d o r * / /* S e n s i b i l i d a d d e l F l ~ r J o */ /* D i v . c a p . V i t a l */ /* Div. V o l . F1.o jo E s p . M a x i c o */ /*- Div. G i r e C o r r i e n t e */ /U Div. V o l . Reserva E s p . +/ /* Div. V o l . F : e s e r - v a . I n s p . *i /* D i v . F l u j o E s p . Ea.s.31 */ /* D i v . F l u j o I n s p . Basal */ /* D i v . F l u j o E s p . M A x i m o */ /* D i v . F l u . j o E s p . M e d i o */ /* D i v . F l u j o I n s p . M A : - : i m o */ /* A n g c r l o "a" */ /* G n g u l o 'lb" */ /u C a p . F u l m o n a r T o t a l */ /* C a p . V i t a l */ /* V o l . R e s i d u a l */ /* A i r - e C o r r i e n t e */ /* V o l . Reserva E s p i rator-io */ /w Vol. R e s e r v a . I n s p it-atot-io */ /* C a p . H e s i d u a 1 F u n c i o n a l */ /* C a p . I n s p i r a d a */ /* F l u j o I n s p . Easal */ /* F l u j o Esp. M 6 x i m o */ /* F l u j o E s p . M e d i o *,I

/* F l u j o Esp. P i c o */ /* R e s i s t e n c i a Arreas Ecpecificas */ /* V e n t . M & x i m a V o l u n t a r i a */ /* S u p e r - f i r i e C o r - p o t - a l */ /*t. D i v . V o l . F l u j o I n s p . M6ximo */ /* D i v . C a . p . V i t a 1 I n s p . ++/ /* P i v . C a p . V i t a l Esp. Cronametrada */ /* DZv. C a p . V i t a l I n s p . C r - a n o m e t t - a d a ii-/

/* Vol. / F l u j o E s p . EEtximc! */ /* V 0 1 . i F l ~ l j 0 I n s p . Mdximo +/ /* C a p . L ' i t a . 1 I n s p . C t - o n o r n e t r a d a * / /* Cap. V i t a l Esp. C r a n a a x e t t - a d a */ /* F l u j o I s n p M&.:.:imo w/' /* V o l - G a s I n t r a t a r a c i c o */ /* C a p . V i t a l Insp. */ /* F l u j o E s p . 25-73 X +,I

/* Div. F l u j o Esp. 25-75 X*/ /* Piv. F l u j o E s p . 2CO-1200 */

Flujo E s p . Basal * /

i* F l u j o ESP. 2OtI>-12(3O +/

t;~.-uc t STeohp .: /* R e g i s t r o que c o n t i e n e los valores */ /* ted t - i cos de l o s t -esul ta.dos del * / / * H.F' */

f l o a t cs, c t- , Vt' , f m , fh, fep ;

ypedef s t t -uc t Per-sons. Reg is t ro ; ypedef s t r -uc t sHp tHp; ypedef s t t -uc t STeorico tTeor-ico; ypedef s t t - u c t sF'aciente tF'ac; vpedef s t ruc t ~ E s p i r o m ~ t t m tEzp: y p e d e f s t t-uc t STeohp tTeohp;

Codificacibn

en lenguaje

del

Sistema Estadístico

Listina of F R O Y -EST.F'fJ, p a q e 1 at 04:lbpm 05 /1T . /Y( - )

c : c\sa l ida\ut i l - . a~r : . : .ob . ! c: ventanas\ventanas. nbj c: c\sal ida\cat-,.,, imp. ob j c:c\salida\util.obj c:c\salida\proy-est.obJ c: c\sal ida\pt-oce-3td. ab j c:c\salida\procvent.obj c: c\sal ida\at--cbtr.ob j c: htri.eve\mscxbtrv. obj

/ * I'lodulo p t - l n c i p a l p r - o y - e s t . c * /

# i n c l u d e " c : v e n t a n a s \ v t _ i n c . h " # i n c l u d e " c : c a p t u r . a \ d e f _ t i p o . h " # i n c l u d e " c : e s t a d i s t \ . d e f _ s t . h " # i n c l u d e " c : e s t a d i s t \ d e f - . c o n s . h "

/* Vat-iattles Globales */ /*t. A t - r - e g l o s d e a p u n t a d o r e s para r - d p i d o acceso -F / / * que c o n t i e n e i n f o t - m a c i 6 n r e f e r e n t e al a r c h i v o W/ / * que i d e n t i f i c a . *ci

/ * L o n g i t u d e n bytes d e l b u f f e r - d e d a t o s */ i n t BUF-LEN-PAC,

ELIF-LEN-ESP, FUF-LEN-HF;

f l o a t M a t r i z I: 1 i ! l C l ( 5 1 : /* M a t r i z d e d a t o s s e l e c c i o n a d o s * / A r r e p 1 o R e g C X ) 1 : /* Arreglo t o d a s las vat-. a S e l e e c i m n a r * / t?lat- VC l Q 1 : /* A r t - e u l o d e vat's. p a r a h a c e r - l a r e g r - e s i 6 n */ i n t k.n: /* i: nhmer-o de v a t - i a b l e s p a r a t - e g t - e s i b n * i

/* n nbmer-o d e m e d i d a s s e l e c c i o n a d a s */

ESTHDIST\PROY_EST. C p a g e 1

El iminaVentanasO;

ESTADIST\PR@Y-EST. C page 2

/X M b d u l o F ' t - o c E 5 t d . c *í

# i n c l u d e " c : v e n t a n a s \ v c - i n c . h" # i n c l u d e " c : c a p t u t - a \ d e f _ t i p o . h " # i n c l u d e " c : e s t a d i s t \ d e f - s t . h " # i n c l u d e " c : e s t a d i s t \ d e f _ c o n s . h "

í* Variables G l o b a l e s */ e x t e r n c h a r POS-BLK-FAC C 1 2 B 1 , /* p a c i e n t e s */

F'OS-ELt:::-ESF' C 1 2 8 3 , /* Esp i r-cimetr-o */ F'OS-BLt:~-HF E 1 2 8 1 5 /* H. F' * /

e x t e r n i n t BUF-LEN-PAC, EUF-LEN-ESP , EUF-LEN-HF;

e x t e r n f l o a t M a t r i z C 1 0 1 C 1 0 3 ; e:.: t e t - n A r r e g l o R e g C Z O I ; e x t e r n t V a r VC 1 0 1 ; e x t e r n i n t C::,n;

ex t e r - n VC-VENTANA v e n tC!, v e n t s , v e n t b , vent7, v e n t 8 , v e n t 9 ,

v e n t l a , v e n t l l , ventl2;

L i s t i n g of ESTADIST\FROCESTD.C, p a g e 2 a t (33 :58pm C)5/13/YC)

r 1.

case 1 : c a d e n a = (char * ) malloc ( 5 ) ; /* M o d i f i c a limite I n f e r - i o r */ memset ( c a d e n a , NULL, 5 ) ; g c v t ( au:.:2,5, c a d e n a ) ; valor- = e d i t a - c a m p o ( % v e n t 7 , c a d e n a , 5 , 2 , 1 . 7 , t-r-eal); aux2 = a t o f ( c a d e n a ) ; b t - e a k ;

c a d e n a = ( c h a t - *) malloc ( 5 ) ; /* M o d i f i c a l imite 5c . tper ior- * / memset ! c a d e n a , NULL, 5) ; g c v t ( aus l , 5 , c a d e n a ) ; valor- = c d i ta-campo ( & v e n t 7 , c a d e n a , 5 , 4 , 1 7 , t-r-eal i ; d u x 1 = a t o f ( c a d e n a i ; b r e a k ;

case 2 :

3 i f icont == 3)

e l s e c n n t = 1 ;

c o n t =2;

j l l e n a 0 /u Llena el a r r e g l o Re5 con las v a r i a b l e s *,' /* q u e se q u i e t - a h a c e r - l a t - e g r - e s i 6 n +/

; i;

L i s t i n g of E S T A D I S T \ F R O C E S T D . C , p a 5 e 3 a t (33 :58pm 05/13/9C)

besp-Vat- 0 /* D e s p l i e g a las v a t - i a b l e s ya s e l e c c i o n a d a s */ i n t .j;

c h a r - * c a d e n a ;

.Did Marcavar < i ? A n t i j n t ¡ , A n t i ; i* Marca la. v a r i a b l e s s e l e c c i o n a d a */ .E

clt-scr- ( i l + A n t i , 4 2 , 1 , 1 0 , v c - F o t ~ A m a t - i l l o : v c _ E ; a k N e g t - o I : e s c r i b e ( & v e n t 8 , 2 , l + A n t i , V C A n t i l . N o m b r e ) ;

e s c t - i b e ( ~ . ~ v e n t S , 2 , l + i , V C i I . r ~ D m b t - e ) ;

-

- clt-scp- ( l l + i , 4 2 , 1 , 10,vc_Fot~Negt-oIvc-~akGr-is):

1

hat- D e s p 1 i e g a V a r ( >

L i s t i n g o f ESTADIST\FKOCESTD.C, page 4 a t (33:58pm 05/13/90

A n t i = is i f ( A n t e r i o r == C o m p u e s t o )

r c

s w i t c h ( O p c i o n ) r c

case F-Ar-r-iba : i f ( i 1::. 1) i = i - 1 ;

b r e a I:: ; case F-Abajo : i f ( i .:: l::-1)

i = i + l : b t-eal:: ;

case FIN : i = \::-1; b real:: ;

case I N 1 : i = 1; b t-ea I:: ;

1 i f ( A n t i I= i )

Mat-cavar- i , A n t i ; 3

elSr i f !Option I= C o m p u e s t o )

c c

s w i t c h ( O p c i o n ) r

case ESC : S a l i d a = 1 ;

case ' E ' : i f (I:: 3 1 ) b t-ea I:: ;

c /*. E l i m i n a l a v a r i a b l e s e l e c c i o n a d a d e l */ dux = i ; /* arregla V d e vat-. E? r - e y r e s i b n *i w h i 1 e ( a.u x .:: ( I:: - 1 )

r c

s t r c p y ~ V C a u s l . N o m b ~ ~ e , V C a u x + l l . ~ o m b t - e ~ ; VEauxJ. I n d i c e = VCacrx+l I . I n d i c e ; a u x = dux + 1 :

Listing of ESTADIST\FKOCESTD.C, p a g e 5 a t (:)3:58pm 05/13/90 - sp-F\'eg (vent,Ini,Ap,i) / * Despliega l a s variables a poder- */ : - VENTANA *vent; / * selecclnnat- pat-a l a t-egt-esi6n lineal .+/ 1t Ini; I t W p ; It i;

int j;

~.d Marca (Ini.i,Anti,vent /* marca. la variable seleccionada */ : Ini, ¡,Anti: /+k Reg Ci7. Nombre y quita la marca */ -VENTANA *vent ; /* a He5 [Anti I . nombre */

- clrscr (div!Anti-Ini,S) .quat + S,div!Anti-Ini,S) .rem * 16 + 5 , 1, 10, vc-For-Amar-i 1 lo :vc-BakNegt-o) ;

escribe(vent,div(Anti-Ini,5) .rem * 16 + Z,div(Anti-Ini,S) .quot + 1,Reg CA - clt-sct- (div(i-Ini,S).quot + S,div(i-Ini,5).rem * 16 + 3, I, 1 0 , vc-ForNegro: vc-EakGris) ;

esct7ibe(vent,div(i-1ni,5j . r - e m * I 6 + 2,div(i-Sni15).quot + 1,Reg Eil.Nomb

.d Solucion O /* Resuelve la matriz que vepresenta el sistema. */ /* d e ecctaciones generado pot- e1 nt3rnet-o de variables *t./ /* y la cantidad de mediciones aceptadas */

nt i, j,Reng,Conf; :hat- Sal ida; : loa t Au:.: ;

I

f o r- (i=cJ; i(= /::+I= .I i++) .:

AL\:.: = M a t r i z C R e n g l C i l ; M a t r i z C R e n g I C i l = M a t r i z E C o n t l C i l ; M a t r i z C C o n t l C i l = AL[:.:;

1 S a l i d a . = 1:

1 else

C o n t + + ; i f ! ! S a l i d a )

R e n g + + ; 3

3

s t r n c a t ( c a d , c a d e n a , 1 ) ; e s c r i b e ( P ~ v e n t l 0 , i 5 , 2 + i , c a d ) ; e s c r i b e ( P t v e n t 1 0 , 1 8 , 2 + i , " = " ) ; c a d e n a = (char- * ) malloc ( 1 5 ) ; memset ( c a d e n a , NULL, 15) : g c v t ( M a t r i z ~ i 7 C k : + 1 7 , 1 5 , c a d e n a ) ; e s c r i b e ( & v e n t l ( 3 , 2 0 , 2 + i , c a d e n a ) ;

e s c r i b e (P~ventl0,2,2+i,HepCVC03. 1 n d i c e l . N o m b t - e ) ; 1

/ m i d R e g r - e s i o n 0 F c

t P a c p a c ;

t HP h ; t E s p PSP;

i n t s t a t u s l ,

i , j; s t a t u s 2 ?

char-. F a r - t i c i p a , C o n d i c i o n , T i p o ;

f l 0a . t x c 1 1 1 :

/* llama a l p r i m e r - r - e p i s t r o de p a c */ s t a . t u s 1 = F T F W ( p r i m e r , POS-BLK:-PQC, Zqac, !i&UF-LEN-PAC, pac. r - f c , 0 ) 5 P a r t i c i p a =(:I;

I:: = I:: - 1 ; for- ( i=(I); i -::= I::; i++)

fo r- ( j = r J ; j .:y= . C::+l; j++) /* i n i c i a l i z a l a m a t r i z c o n ceros *i M a t r i z CilCjl = O ; /* hasta e l n u m e r o d e v a t - i a b l e s k + l +e/

i f ( T i p o ! = ESE)

r L

w h i l e ( s t a t u s 1 == 0 1 r c

s t a t u s 2 = 0: /* l l e n a e l r e g i s t r o R e g O. . 4 c o n el registr-o pat.*/ R e g t0l.Valor- = p a c . e d a d ; R e g t l 1 . V a l o r - = pat-peso; Re5 C 2 1 . V a l o r - = pat-est; R e g C-31.Valot- = p a c . a l t - r ; R e g C41.Valot- = p a c . a n o - r ;

i f ( F a r - t i c i p a ) r c

i f ( T i p o == 'E ' )

I /+ T r a e r - el e s t u d i o e s p a l p a c i e n t e c o r r e s p o n d i e n t e * / statcts2 = BTRV ( i g u a l , POS-ELt:::-ESF, Z r p ~ p , ZtEWF-LEN ESF, p a c . r fc , 0 ) ; i f ( s t a t u s 2 == 0 )

-

.: / * L l e n s t - e g i s t r o Reg 5 . . 1C! c o n e l r - e g i s t t - c t e s p . */ Reg C 5 7 . V a l o r = e s p . c v ; Reg C 6 3 . V a l o r = e s p . c v f ; EPCJ C 7 1 .L'alor- = e s p . veis; Reg C 8 1 . Valor- = esp. fe20C): R e 5 C 9 3 . V a l o r - = e s p - f e r n ; Reg C1OI.Va.lor = e s p . v m v ;

5 3

.: iw T r a e r - el e s t u d i o Hp al p a c i e n t e c o r r e s p o n d i e n t e */ else

status2 = BTRV ( i yua l ,POS_FL t : : : _HP,~~h ,~~UF-LEt~ -HP~pac .~ - f c ,~ ) ; i f ( s t a t u s 2 == (1) 1

I /* l l e n a e l r e g i s t r o R e 5 5..13 c o n e l r e g i s t r o h . * / R e g C5l.Valot- = h.cv; Reg C6l.Valor = h . c r - f ; R e g C 7 l . V a l o r = h . c v e c ; Re5 C83. V a l o r - = h . fe200; Re5 C 9 1 . V a l o r = h . f e m ; R e g Ci0l.Valot- = h . v m v ; R e 5 C i l l . V a l o t - = h . c t - f ; Reg Cl2l .Valor = h.vt- : R e g C 1 3 l . V a l o t - . = h . f e p ;

L i s t i n s of E S T A D I S T \ F H O C E S T D . C , p a g e 9 a t (_73:58pm 05/13/90

n i + ; 1

2 i .f ( n 1::. 1 )

' S o l u c i o n O ; /* R e s u e l v e la M a t r i z */ R e s u l t a d o s 0 ; /* Despliega la s o l u c j . 6 n */

c c

1 e l s e

E r r o r ("Nflmet-o d e n m e d i d a s I n s u f i e n t e s " ) ; 1 I.:: + + :

k s p 1 i ega ( v e n t 1 /* D e s p l i e g a l a s v a r i a b l e s a s e l e c c i o n a r p a r a */ VE - VENTANA * v e n t ; ,I* l a t - e y r - e s i 6 n as1 como los d i f e r e n t e s pt-mcpsos */ I char O p c i o n , A n t e r i o r , S a l i d a , ~ ~ p e r l d i e n t e : i n t Ap, ¡ , A n t i , I n i ;

r

i = F i n : A n t i = i ; D e s p - R e g ( v e n t , I n i , & k p , i ) ;

1 1

else

b r-ea 1:: ; i = i + S ;

L i s t i n g of E S T A D I S T \ F R O C E S T D . C , p a g e 1 1 a t 03:5Spm 0 5 / 1 3 / 9 0

case F4 : V C C ) l . I n d i c e = i ; /*t. A g r e g a l a v a r i a b l e s d e p e n d i e n t e w / s t r - c p y ( V C O I . Nombt-e, R e g [ i I . Nombre) ; D e p e n d i e n t e = 1 ; D ~ s p l i e g a V a t - ( ) ; b t-eak:: ;

case F 5 : i f ( D e p e n d i e n t e ) r c

V C k 1 . I n d i c e = i ; /U a g r e g a v a r i a b l e i n d e p e n d i e n t e */ s t t - c p y ~VCkl .Nombt-e,RegCi l .Nom~t-e~;

D r s p l i e g a V a t - ( ) ; 1:: ++ ;

5 else

Er r -o r - ( "No Selecc. Vat-. Dep. 'I ) : b r-eak: ;

case F6 : i f ( D e p e n d i e n t e ) D e s p 1 iegaVar- ( > ;

Et- t -or ("No S e l e c c . V a r . D e p . ' I ) ;

else

b t-eak ; case F? : i f { D e p e n d i e n t e )

.: i f ( 1:: 1::- 1 )

Reg t-es i o n ( > ; else

E r r o r - ("No Select-Vat-. I n d . ''1 ; 1

else

break:: ; Et-t-or- ("No S e l e c c . V a . t - 5 . D e p . e I n d . ' I ) ;

-I

i f ( F l n t i ! = i ! Marca. ( I n i , i , h t i , v e n t ! ;

j else

i f ( O p c i o n ! = Compuesto) r -c

s w i t c h ( O p c i o n ) ..- case ESC : S a l i d a = 1 ;

3 A n t e r i o r = O p c i o n : i f ( ! S a l i d a )

O p c i o n = t o u p p e r (getch0 1 :

e t u r n ( O p c i o n ) ;

/U Mcjdulo Procvent. c t. / / u Creacibn y e l i m i n a c i b n de ventanas st-/

inc lude "c:ventanas\vc- inc.h" \

:.:ter-n VC-VENTANA vent(:), / * Declar-acibn de ventanas +/ v e n t l , ventZ, vent3, vent4, vents, ventb, ven ti', ven t8 , vent9, ven t lo , v e n t l l , ven t l 2 ;

Did Crea'Jentanas O /* Crea Ventanas */ r c

/* Mcidulo At-cbtr-. c */ /* A b r e y c i e r r a 1.0s a r c h i v o s */

/ * Var iab les G loba les */

. n t a b r e p a c (Cadena) / * A b r e el a r c h i v o PAI=.ETR */ chat- Cadena C201; r c

tPac pac: s t r c a t (Cadena, ' I : \ . \arch ivos\ \pac. b t r - " ) ; t-etur-n ( BTRV fabt-e, F'OS-ELt<_-PAC7 Z~pac. S.:BUF-LEN-F'AC, Cadena, 1) ) ;

1

.nt abr-e-erp (Cadena) /* Abre e l a r c h i v o ESP.BTR */ chat- Cadena C2C17; c

tEsp esp; s t t - ca t (Cadena, ''E ' \ \ a r c h i v o s \ \ e s p . b t r " ) ; t-e t u r n ( ETRV (ab re , FDS-BLK-ESP, Zesp, PcBUF-LEN .-ESP, Cadena, 1 1 ;

1

int ciet-r-a-hp 0 /* C i e r r a e l a r c h i v o HF-BTR */

L i s t i n q of EST4DIST\ARCETR.C. pacte 2 at 0 2 : C ) 2 a m 05/16/90

/* C O N T I E N E A L G U N A S H E R R A M I E N T A S QUE SE U T I L I Z A N * / / * EN L.A M A Y O R I A DE L O S P R O C E D I M I E N T O S Q U E R E A L I Z A N u/ /J( A L T A S , B A J A S Y M O D I F I C A C I O N E S DE L A BASE DE D&TOS J(./

# inc lude # i n c l u d e # i n c l u d e # i n c l u d e # inc lude # i n c l u d e # inc lude # inc lude

e x t e r n VC-VENTANA vent 1, ven t4 , sent 11 ;

struct F E C H A f e c h a O /* F:egr-esa l a f e c h a d e l s i s t e m a en un r e g i s t r o */ c i

un ion REGS int-'pgs9 o u t r - e g s ; s t t-uc t FECHA DATE;

int-egs. h . ah = traer-date; i n t 8 6 ! s t d _ i n t e r , ~ ~ i n r e ~ ~ , ~ ~ o ~ t t t - e g ~ } ; D A T E . , a n i o = outreqs.x.cx X 1 0 0 ; DATE, mes = outregs. h . dh; D A T E . d i a = outregs.h.dl; DATE. d i a-s;em= OLI t r e g s . h. a I ; re tu rn {DATE) ; .

J

v o i d e s c r i b e (vent , p o s ~ , p o s - x , c a d ) /* Escr ibe una. cadena rn l a ventana vent VC-VENTANA *vent ; int por-:.: p o r v ; char - *cad;

char *fecha-hoy I 1 /* Fiegr -e .sa l a fecha d e l s i s t e m a *! r c

s t r - u c t FECHA date, f e c h a O; char *au:-:,

cal E 3 3 ;

L i s t i n g o f E S T A D I S T \ l . J T I L . C , p a g e 2 a t 0 3 : 5 8 p m 05/13/90

/* c o n u n t i t u l o y la fecha d e l sistema */ r c

zhat- pos-campo ( c a . r , c o n t , lim) /* Regresa u n a p o s i c i b n d e p e n d i e n d o */ /* d e l car-acter- (car) , c a n t y 1 i m . */

r o i d M e n s a j e ( C o d i g o ) i n t Codi50; /* m e n s a j e para B t t - ¡ e v e */

I- '5.

VC-VENTFINFS v e n t ; c h a t - Opc;

L i s t i n g of ESTADIST\UTIL.C, page 3 a t 03:58pm 05/13/9(:)

b real.:: ; case 6 : e s c r i b e

case 7 : e s c r i b e

case 9 : e s c r i b e -

case 10: e s c r i b e

case 11: e s c r i b e

case 12: e s c r i b e

case 17: e s c r i b e

cs.se 18: e s c r i b e

cErs.e 19: e s c r i b e

b t-eaC:: ;

b real:: ;

b r e a k ;

b real:: ;

b r-eak:: ;

b r-eak ;

b real:: ;

b t-eal:: :

b r e a. k:: ;

b t-eak: ;

b real.:: :

b real:: ;

b rea 1:: ;

b real.:: ;

b r-ea\: ;

b real.: ;

case 20: esc t - i b e

case 23: e s c r i b e

case 23: e s c r i b e

ca.se 2b: e s c r i b e

case 29: e s c r i b e

case 736: e s c r i b e

d e f a u l t : e s c r i b e

1

(%vent9,5, 1, "Nurn. L l a v e i n v d l i d a " ) ;

(%vent9,5, 1, " N u r n . L lave D i fe t -en te" ) ;

(?rvent9,5, 1, " F i n de Arch ivo" ) :

(&vent9,5,1,"KFC no Modif icable");

(&vent9,5, 1, " I n v a l i d o nombre A rch i vo " ) :

(&vent9,5, 1, "Arch ivor no e x i s t e n t e s " ) ;

(%vent9,5, 1 "Er r -o r - a l ce r ra r - a rch i vo " > ;

(P<ventC?, 5, 1, "Disco 1 leno" ) ;

C%v~nt9,5, l 7 "Ftr ieve daf iado") ;

(%vent?, 5, 1, " B t r i e v e no Cargado") 5

(Irven t9,5, I , "Buf fe t - Gt-ande" ) ;

(&vent9,5, I , "BlocC:: .::I> 128 b i t " ) ;

(ZcY.ent9.5, 1, " I n v A l i d a Long. F;egistr-o") ;

(&vent9,5,1, " Inv6l ida Long. R F C " ) :

(&vent9,5, 1, "Tabla Bt t - ieve L lena") ;

(Svent9,5, l. "Et-rot- consu l ta manual " 1 ;

/ * y los abre pat-a SCI acceso +/

c h a r Opc, * . C a d e n a l , Cadena?, *Cadena3; int s t a t u s ;

'JC-Ab r i r (%vent 1 1 1 ; VC-Borrar- (%vent 11 ) ; escr ibe ( W e n t 11,2,1, "Drive (A/B/C) : " ) ;

do .: do .:

Cadenal = ( c h a r *) mal loc ( 2 0 ) ; memset (Cadenal, NULL, 2 0 ) ; Cadena2 = (char- if) mal loc ( 3 3 ) ; mpmset !Cadena2? NULL, 2 0 ) ; Cadena3 = ( c h a r *) malloc ( 2 0 ) ; memset (Cadena3, NULL, 20) ; ripc = edita-ca.mpo ! ~ ~ v e n C l l , C a d e n a l , l , l ~ 1 8 , ~ - ~ i t - ~ c c i o n ~ ; 3 w h i l e ( ( O p c ! = ESC) P& lOpc ! = ENTER) ) ; i f ! Opc == ENTER )

r L

s t r c p y (Cadena2, Ca.dena1) ; stt-cpy (Cadena3: Cadenal) ; s t a t u s = a b r e s a c (Cadena11 ; i f ( s t a t u s ! = 0 )

e l s e Mensaje <sta.tus) ;

f s t a t u s = abre-esp (Cadena21 ; if !statl-!s. ! = ( 3 )

else Mensa je ! r ta tus) ;

.-

1

stt-uct; s F ' a c i e n t e .C /* R e g i s t r o q u e c o n t i e n e l o s d a t o s */ /* g e n e r a l e s d e cada p a c i e n t e * .I

c h a r r f c C 1 1 1 , /* R e g i s t r o F e d . C a u s a n t e */ /* K E Y 0 */ nombt-e C311,

ocupa L211;/* O c u p a c i b n *! claf 9 /* G r a d o d e R c t i v i d a d f i s i c a */

i n t tabacu: /* C i g a r t - o s por- s e m a n a s */ char- a n t e c a r C 3 1 1 , /* A n t e c e d e n t e s C a t - d i o p u l m o n a t - e s */

anteotro C313, /* Otros a n t e c e d e n t e s */ sexo, ECg C 3 1 I t /* Electrocat-diaq~-ama */

i n t c h a t - i n t

f l o a t i n t

i n t c h a t -

t-ayos:-: E 21 1 ,

a l t-or-; /* lugat--t- c 2 1 1 : /* a l t - t - , /* a n 0-1- ; ,; * peso; /* est 'I /* e d a d ; h i dos; /* fech-est C 9 1 : /*

l u g a r - o r t 2 1 7 ; /*

f u r c91, /*

L u g a r - de o r i g e n *./ A l t i t u d lugar - d e o r i g s n */ L u g a r d e r e s i d e n c i a */ A l t i t u d l u g a r r e s i d e n c i a . */ ARO5 d e r e s i d e n c i a */ Feso F e r - s o n a */ Estatut-.s. */ S i es f e m e n i n o , c u a n t o s h i j o s */ S i es f e m e n i m o f e c h a d l t i m a regla. * / F e c h a d e l e s t u d i o */

R e g i s t r o que c o n t i e n e l o s d a t o s * ./

vr-e; / * V o l u m e n R e s i d u a l E s p i r a t o r i o */ 1;

char- r-fc C 1 1 1 : f l o a t pa,

h t- , p v a 7

t a , CPb , c p c , c p f , s i t - ,

s f , d c v , d v f e m , dac, d v t - e , d v t - i , i j f e b , d f i b , d f e m , dfeme, d f i m , a n 5 -a 7

a n y - b , c p t , C V 'I

v t- , ac, v t-e , vr- i , c t - f , c i , f e b . f i b , f em, feme, fep , t-ae , vmv, 5 P .) d v f i m , d c v i , d c v e c , d c v i c , v f e m , v f i m , c v i c , cvec, f i m , v g i . c v i , f e25-75, feZO(I,, d fe25-7.5, j fr20Ct;

3:

/ * R e g i s t r o que c o n t i e n e l o s d a t o s *./ / * m e d i d o s c o n e l aparatos H.F. */ /* R e g . F e d . C a r - i s a n t e */ /* K E Y O */ /* F t - e s i b n Atmoft- ica */ /* Humeda.d R e l a t i v a . */ /* F r - e s i 6 n V a p o t - d e A g u a */ /* T e m p . A m b i e n t e */ /* C a l i b r - a c i d n F r - e s i c j n d e boca */ /* C a l i b t - a c i d n F r - e s i d n d e Ca ja */ /* C a l i b t - a c i d n F t - e s i d n d e F l u j o */ /* S e n s i b i l i d a d d e l i n t e p r a d o r - */ /* S e n s i b i l i d a d d e l F l u j o */ /* D i v . C a p . L'ital */ ./* D i v . V o l . F l o j o E s p . M d x i c o */ /*. I s i v . A i r " C o r r i e n t e */ /* Div. V o l . R e s e t - v a . E5p. *,,' /* D i v . V o l . R e s e r v a . I n r p . */ /* D i v . F l u j o E s p . B - a s a l */ /* D i v . F l u . j o 1 n . s ~ . Easal +/ i* D i v . F l u j o E s p . Mdximo */ /* D i v . F l u j o E s p . Medio */ /* D i v . F l u j o I n s p . M A x i m o */ /* Angcrlo 'tao' */ /w Angu.10 "b" */ /* C a p . P u l m o n a r T o t a l */ /* C a p . V i t a l */ /* Vol. R e s i d u a l */ /* A i r - e C o r - r - i e n t e */ /* V o l . R e s e r v a E r p i t-atop-io */ /* Vol. R e s e r v a I n s p i r a t o t - i o */ /* Cap. F : e s i d u a l F u n c i o n a l */ /* Cap. I n s p i r a d a */ /* F l ~ t j o Esp. Basal */ /* F l u j o I n s p . Basal */ /* F l u j o Esp. Mdwimo * / /* F l u j o E s p . Medio w / /* Flujo Esp. P i c o */' /* R e s i s t e n c i a Get-eas E s p e c i f i c a s */ /* V e n t . M A x i m a V o l u n t a r i a */ /* S u p e r - f i c i e C o r - p o r - a l */ /* D i v . V o l . F l u j o I n s p . t'l%.ximr> *,.' /* D i v . C a p . V i t a 1 I n s p . */ /* D i v . C a p - V i t a l Esp. C r - o n o m e t r a d a Y /

/* D i v . C a p . V i t a l I n s p . C r o n o m e t r a d a */ /* V o l . /Flujo Esp. M a x i m 0 w/ /* V o l . / F l u j o I n s p . Mdt.:imo */ /* C a p . Vi t a l I n z p . C r c m o m e t t - a d a w/ /* C a p . V i tal Esp. Cronometr-ada *./ /* F l u j o I s n p kl$:-:imo */ /* Vol I Gas I n t r a t o t - a c i r o */ /* Cap. V i t a l Insp. */ i* F l u j o E s p . Zoü-l2o!I! */ /* E i v , F l u j r ~ E ~ F 25-75 X S/

/* Eiv. F l u j o E s p . 200-12fiO

/* F l u j o ESP- - ~ 5 - 7 -7% */

s t I-uc t V a t - i ab 1 es .:

char Nombre C l l l ; f l o a t M a x , M i n , V a l o r ; 1;

st; rc\c t Var- .:

c h a r Nombre C 1 1 1 ; i n t I n d i c e ; 1;

t ypedef stt-uct V a r i a b l e s Ar-regla; typedef str-uc-t V a t - tVar-; typedef s t t -uc t sHp tHp; typedef stt-ctct sFaciente tFac; typedef st;I.-uct sEsp i t-ometr-o tEsp;