PR�SENTATION G�N�RALE

La fonction groupage est monomodulaire, c�est-�-dire qu�elle s�utilise en n�appelant qu�une seule fonction, la fonction grp(). Celle-ci se charge de toutes les op�rations n�cessaires au groupage d�un RSS. Ces op�rations sont : la lecture des RUM, le contr�le des RUM, la d�termination du s�jour principal, et le groupage proprement dit.

Cette documentation pr�sente la mani�re d�utiliser la fonction grp().

Une d�finition correcte de ces param�tres ainsi qu�un prototype de la fonction grp() se trouvent dans le fichier FG7MAIN.H.

Type de donn�es et structures

La fonction groupage 7 utilise des types de donn�es et des structures � l�appel.

  1. Le type GRP_ENTREE :

Cette structure est utilis�e pour rassembler les param�tres d�entr�e de la fonction groupage.

 

typedef struct {

��� char *rum2[tab_max];

��� char dirtab[BUFSIZ];

��� int ns;

} GRP_ENTREE ;

 

*rum2[tab_max] ����� Tableau de pointeurs sur des cha�nes de caract�res. Ces cha�nes contiennent les diff�rents RUM d�un RSS Chaque cha�ne (correspondant � un RUM) doit se terminer par un caract�re nul (�\0�). Ce tableau comporte au plus tab_max pointeurs, soit 25 �l�ments. Les formats accept�s sont les suivants :005, A05, 007 et 008.

 

dirtab[BUFSIZ]������ Cha�ne de caract�res contenant le chemin d�acc�s absolu, complet, pour atteindre le r�pertoire contenant les tables. Il doit �tre �crit de telle sorte que l�acc�s � une table donn�e consiste � concat�ner cette cha�ne avec le nom de la table recherch�e.

 

int ns  ��������� Entier contenant le nombre de s�jours �l�mentaires du malade au cours de son s�jour dans l��tablissement hospitalier. Un appel � la fonction grp() avec ce param�tre � 0 entra�ne la fermeture des tables de groupage.


  1. Le type GRP_RESULTAT :

Cette structure est utilis�e par la fonction groupage pour fournir les r�sultats traditionnels du groupage.

typedef struct {

����� int ns_sor;

����� int sejp;

����� char version[3];

����� char cmd[3];

����� char ghm[7];

���� char cret[3];

���� int ErrCtrl[MAXERRCTRL];

����� int ErrArb[MAXERRARB];

����� int ErrImpl[MAXERRIMPL];

} GRP_RESULTAT ;

 

int ns_sor  Entier contenant le nombre de s�jours apr�s le traitement dans la fonction groupage. Ce nombre peut-�tre diff�rent au nombre de s�jour en entr�e, s�il existe des RUM cons�cutifs dans la m�me UM.

 

int sejp ������ entier, destin�e � recevoir le num�ro du RUM d�sign� par le groupage comme contenant le diagnostic principal et le diagnostic reli�, en d�butant la num�rotation des RUM � 0.

 

char version[3]���� Cha�ne de 3 caract�res destin�e � recevoir le num�ro de version de la classification lu dans les tables.

 

char cmd[3]Cha�ne de 3 caract�res de long, destin�e � recevoir le num�ro de la CMD d�termin�e par le groupage.

 

char ghm[7] Cha�ne de 7 caract�res de long, destin�e � recevoir le num�ro du GHM d�termin� par le groupage.

 

char cret[3]���������� Cha�ne de 3 caract�res de long, destin�e � recevoir le code retour d�termin� par le groupage. Il s�agit de la valeur en caract�re du retour de la fonction grp() (cf. plus bas).

 

int ErrCtrl[MAXERRCTRL] Tableau de 1+MAXERRCTRL (101) entiers courts correspondant au vecteur des erreurs contenues dans chacun des RUM du RSS Il est construit de la fa�on suivante :

 

entier n�1���������������������������������������������� : (nr) nombre de RUM d�tect�s dans le RSS

entier n�2���������������������������������������������� : (n1) nombre d�erreurs d�tect�es dans le RUM n�1

entier n�(nr+1)�������������������������������������� : nombre d�erreurs d�tect�es dans le RUM n�nr

entiers n�(nr+2) � (nr+1+n1)����������������� : codes des erreurs du RUM n�1

entiers n�(nr+n1+2) � (nr+1+n1+n2)����� : codes des erreurs du RUM n�2

 

int ErrArb[MAXERRARB]���� Tableau de 1 + MAXERRARB (6) entiers courts correspondant au vecteur des erreurs d�tect�es par l�arbre de d�cision de la classification. Les erreurs sont stock�es dans ce vecteur de mani�re s�quentielle. Ce vecteur n�a pas de structure particuli�re.

 

int ErrImpl[MAXERRIMPL] Tableau de 1 + MAXERRIMPL (21) entiers courts correspondant au vecteur des erreurs dues � l�impl�mentation. Les erreurs sont stock�es dans ce vecteur de mani�re s�quentielle. Ce vecteur n�a pas de structure particuli�re.

 

  1. Le type GHS_VALORISATION

Cette structure est utilis�e pour fournir les �l�ments de valorisation du s�jour :

 

typedef struct {

����� char ghs[5];

����� int nbjxsup;

����� int sejxinf ;

����� int nbjrea;

����� int nbacdia;

����� int nbac687;

����� int nbac688;

����� int nbac689;

����� int acprlvtorg;

����� int pih_a;

����� int pih_b;

} GVAL GHS_VALORISATION ;

 

char ghs[5] Cha�ne de 5 caract�res de long, destin�e � recevoir le num�ro du GHS d�termin� par le num�ro de GHM obtenu par le groupage.

 

int nbjxsupEntier contenant le nombre de journ�es au-del� de la borne extr�me haute pour le GHS consid�r�.

 

int sejxinfEntier utilis� comme bool�en, contenant 0 si la dur�e du s�jour n�est pas inf�rieure � la borne extr�me basse du GHS ou 1 sinon.

 

int nbjreaEntier contenant le nombre de journ�es de r�animation, en suivant la d�finition donn�e plus haut.

 

int nbacdiaEntier contenant le nombre d�actes de dialyse r�alis�e en hospitalisation (cf d�finition plus haut).

 

int nbac687Entier contenant le nombre d�actes de radioth�rapie menant dans le GHM 24Z05Z (cf d�finition plus haut).

int nbac688Entier contenant le nombre d�actes de radioth�rapie menant dans le GHM 24Z06Z (cf d�finition plus haut).

int nbac689Entier contenant le nombre d�actes de radioth�rapie menant dans le GHM 24Z07Z (cf d�finition plus haut).

int acprlvtorg������ Entier utilis� comme bool�en, contenant 0 en cas d�absence de d�actes de pr�l�vement d�organe, ou 1 sinon.

int pih_a����� Entier utilis� comme bool�en, contenant 0 en cas d�absence de code diagnostic associ� Z75.80, 1 sinon.

int pih_b����� Entier utilis� comme bool�en, contenant 0 si le mode d�entr�e et le mode de sortie est �gal � 0, 1 sinon.

 

Pour les modalit�s de calcul de ces variables reportez-vous au chapitre :

Calcul des �l�ments permettant la valorisation


 

  1. Le type RSS_INFO

Cette structure contient des �l�ments utilis�s pour le groupage

 

typedef struct {

����������� int nbdiag;

����������� char *listdiag;

����� } DIAGLIST;

typedef struct {

����������� int nbac;

����������� char *listzac;

����� } ACTLIST;

 

typedef struct {

���� int agea;

����� int agej;

����� int dstot;

����� DIAGLIST diaglist ;

����� ACTLIST actlist;

}RSSI RSS_INFO;

 

int agea������� Entier contenant l��ge en ann�es utilis� par la fonction groupage

int agej������� Entier contenant l��ge en jours utilis� par la fonction groupage

int dstot����� Entier contenant la dur�e de s�jour calcul�e par la fonction groupage

DIAGLIST diaglist Est une structure contenant :

-         le nombre de diagnostics diff�rents avec �limination des doublons et r�int�gration des diagnostics en U,V,W,X,Y .

-         la liste de ces diagnostics avec en premi�re position le diagnostic principal, puis en deuxi�me position le diagnostic reli�, puis l�ensemble des diagnostics associ�s retenus pour le RSS

 

ACTLIST actlistEst une structure contenant :

-         le nombre de zones d�actes diff�rents avec �limination des doublons ( en fait cumul dans la zone occurrence) du RSS.

-         la liste des zones d�actes

La pr�sentation de ces zones d�actes est identique � celle du RUM

 

 

 

Syntaxe de l�appel de la fonction grp()

 

cr=grp(grp_ent,&grp_res,&ghs_val,&rss_inf);

 

o� :

GRP_ENTREE grp_ent;

GRP_RESULTAT grp_res;

GHS_VALORISATION ghs_val;

RSS_INFO rss_inf;

 

Valeur en retour (code-retour)

 

La fonction grp() renvoie un entier �gal � z�ro si les contr�les n�ont rien d�tect� d�anormal. Dans le cas contraire, la valeur retourn�e est le num�ro de l�erreur d�tect�e.

 

Ce code-retour est �galement plac�, sous forme d�une cha�ne dans la structure grp_res.

 

Le fichier LIBERRFG.04A contient le dictionnaire de ces erreurs et de leur num�ro.

 

Toute erreur dont la valeur est comprise entre 1 et 59 est irr�m�diable, et ne permet pas d�obtenir le groupage du RSS. Les erreurs dont la valeur est comprise entre 60 et 99 ne sont pas graves en terme de groupage (par exemple : date syst�me improbable). Se reporter au chapitre sur les contr�les pour plus d�informations.

 

Compte tenu de la num�rotation particuli�re des erreurs (trois cat�gories) l�exploitation du code retour seul n�cessite de conna�tre le r�sultat du � groupage � : 90Z03Z pour une erreur d�impl�mentation bloquante, 90Z00Z pour un contr�le bloquant, 90C01Z, 90Z01Z ou 90Z02Z pour une erreurbloquante dans l�arbre d�cisionnel, tout autre groupe ou GHM pour un r�sultat correct (et dans ce cas, code-retour nul ou sup�rieur � 60).

 

 

 

 


Editeur : ATIH
Dernière mise à jour : 16/01/2004