La dernière fois, il a été décrit les entités de base utilisées pour stocker les données médicales dans le MIS Namedi. Aujourd'hui, nous vous proposons de vous plonger dans le monde des modèles de protocoles de recherche.
Protocole d'étude - un document délivré au patient dans ses bras. Qu'est-ce qu'un modèle? De belles images et des lettres colorées ne sont qu'une façade, et la fondation est une structure stockée dans une base de données. Dans l'ensemble, vous pouvez choisir n'importe quel format pour décrire les données abstraites qui vous permettrait d'enregistrer une structure hiérarchique. Nous nous sommes installés sur XML.
Les modèles ne sont pas des données statiques qui sont entrées une fois dans le champ de table et sont oubliées. Au fil du temps, la structure du modèle peut changer. Par exemple, certaines mesures manquent ou, au contraire, elles sont superflues, et le médecin ne les remplit pas, en mettant des tirets ou en laissant des espaces vides. Un autre cas de changement de structure est une extension des fonctionnalités du système de modèles ou une refonte des anciens. Quelle que soit la raison des modifications, l'ancienne version du modèle indique la durée jusqu'à laquelle il est valide, et pour le nouveau, à son tour, à partir de quelle heure il prend effet. Ainsi, tous les anciens protocoles ne perdent ni n'acquièrent aucune pièce et restent dans la forme dans laquelle ils ont été donnés au patient.
En général, le système utilise plus de 15 balises et chacune possède son propre ensemble d'attributs. En utilisant les balises de base décrites ci-dessous, vous pouvez créer un modèle pour n'importe quel protocole de recherche.
Gabarit
L'élément racine dans lequel se trouvent les balises restantes. À l'aide de deux attributs, il indique la présence et l'emplacement de l'image principale dans le modèle:
- image-id - identifiant de l'image se trouvant dans le référentiel;
- image-position - emplacement de l'image. Options: aucune, en haut, en haut à gauche, en bas à gauche, en haut à gauche. La valeur par défaut est aucune.
Anatomie
Utilisé pour afficher l'essence de l'anatomie. Attributs
- id - numéro d'anatomie dans la base de données;
- taille de police, police en gras, soulignement de police - paramètres de police;
- nom-anatomie - vous permet de redéfinir le nom de l'anatomie. Par défaut, le nom est tiré de la base de données.
Commentaire d'anatomie
Utilisé pour afficher le commentaire d'entité. Attributs
- comment-id - numéro de commentaire dans la base de données;
- use-default - un indicateur indiquant la nécessité de remplir automatiquement le champ de commentaire avec un modèle de phrase standard, marqué comme "par défaut". Les options sont vraies et fausses. La valeur par défaut est false;
- type de commentaire - indique le type de commentaire. Options: commentaire (commentaire), conclusion (conclusion), plainte (plainte). La valeur par défaut est commentaire.
Mesure
Utilisé pour afficher les dimensions d'entité. Attributs
- id - numéro de mesure dans la base de données;
- max-width - la largeur totale de l'élément;
- value-width - la largeur de la liste déroulante pour les dimensions énumérées;
- largeur unitaire - largeur des unités pour les mesures numériques;
- nom-mesure - vous permet de remplacer le nom de la mesure, qui est extrait de la base de données par défaut;
- need-points-to-end - indique si des points sont nécessaires après la valeur d'une dimension énumérée. Les options sont vraies et fausses. La valeur par défaut est false;
- empty-name - un drapeau qui permet de ne pas afficher le nom de la dimension. Les options sont vraies et fausses. La valeur par défaut est false;
- show-referent-interval - indicateur pour afficher l'intervalle de référence. Les options sont vraies et fausses. La valeur par défaut est vraie.
Étiquette de conclusion
Utilisé à la fin du motif. Par conséquent, une ligne verte est ajoutée sur toute la largeur de la ligne et le mot «Conclusion» s'affiche en dessous.
Toutes ces étiquettes peuvent être trouvées, par exemple, dans le modèle de vessie à ultrasons:
<template> <anatomy id="119" font-size="10" font-bold="true" font-underline="false" comment=" " /> <measurement id="663" comment=" " /> <measurement id="664" comment=" " /> <measurement id="665" comment=" ( )" /> <anatomy-comment comment-id="94" comment-type="comment" /> <conclusion-label spacing-before="HALF"/> <anatomy-comment comment-id="4" comment-type="conclusion" /> </template>

Texte
Conçu pour afficher du texte brut. Attributs
- text-label - le texte affiché;
- max-width - largeur d'élément;
- taille de police, police en gras, soulignement de police - paramètres de police;
- is-color-selection - surlignez en vert. Les options sont vraies et fausses. La valeur par défaut est false.
Groupe de mesure
Utilisé pour afficher un groupe d'entités de dimensions. Vous pouvez mettre
des balises de
mesure et de
texte à l' intérieur de cette balise. Attributs
- id - numéro du groupe de mesure dans la base de données;
- is-color-selection - surlignez en vert. Les options sont vraies et fausses. La valeur par défaut est false;
- multi-intervalle - utilisé pour afficher les intervalles de référence lorsque 2 mesures sont situées sur une même ligne avec eux. Les options sont vraies et fausses. La valeur par défaut est false;
- show-through-slash - affiche les mesures via /. Options possibles: vrai et faux. La valeur par défaut est false.
Une balise peut être utilisée de deux manières. La première méthode: spécifiez uniquement la balise du
groupe de mesures avec les attributs souhaités. Le système, pour sa part, ajoutera automatiquement toutes les mesures incluses dans ce groupe de mesures. Par exemple, l'échographie du foie et de la vésicule biliaire pour la vésicule biliaire indique:
<anatomy id="84" font-size="10" font-bold="true" font-underline="false" comment=" "/> <measurement-group id="7"/> <measurement id="429" comment=" "/> <measurement id="430" comment=" "/> <anatomy-comment comment-id="171" comment-type="comment" comment=" "/>

La deuxième façon: spécifiez la balise du
groupe de mesures avec les attributs nécessaires et spécifiez certains attributs des balises de mesure à l'intérieur ou ajoutez une balise avec du texte. Par exemple, dans le modèle d'échographie BCA, le code suivant est utilisé pour afficher des informations sur l'artère carotide commune:
Fait partie du modèle d'échographie BCA <line comment="-"> <text text-label=" " /> <text text-label="" max-width="197" is-color-selection="true" /> <text text-label="" max-width="197" is-color-selection="true" /> </line> <anatomy id="261" font-size="10" font-bold="true" font-underline="false" comment=" " /> <measurement-group id="11" multi-interval="true" comment=" : "> <measurement id="609" unit-width="19" max-width="295" measurement-name=" (Vps)" comment="" /> <measurement id="606" unit-width="19" empty-name="true" comment="" /> </measurement-group> <measurement-group id="12" multi-interval="true" comment=" : "> <measurement id="610" unit-width="19" max-width="295" measurement-name=" " comment="" /> <measurement id="607" unit-width="19" empty-name="true" comment="" /> </measurement-group>

Pour visualiser l'inscription «droite-gauche», la balise de
texte familière et une nouvelle
ligne sont impliquées, qui seront décryptées ci-dessous.
Vous pouvez toujours trouver une exception dans n'importe quelle règle. Cela s'est également produit avec la pression artérielle. C'est exactement le groupe de mesure qui a déterminé la nouvelle façon d'afficher les groupes: les valeurs de mesure sont écrites à travers une barre oblique, et les intervalles de référence sont situés côte à côte:
<measurement id="1577" max-width="247" need-points-to-end="false" measurement-name=" " /> <measurement-group id="81" show-through-slash="true" multi-interval="true"> <measurement id="1581" unit-width="27" measurement-name=" " comment=" " /> <measurement id="1582" unit-width="27" max-width="190" empty-name="true" comment=" " /> </measurement-group> <measurement id="1621" comment=" " />

Ligne
Tous les éléments à l'intérieur de cette balise sont sur une seule ligne. La principale différence entre l'étiquette de
ligne et
le groupe de mesures est que la
ligne combine visuellement des données qui ne sont pas liées les unes aux autres. Les balises peuvent inclure l'
anatomie , la
mesure et le
texte . La balise utilise les attributs
is-color-selection et
multi-intervalle , dont le comportement correspond aux mêmes attributs dans le
groupe de mesures .
Par exemple, les mesures suivantes peuvent être trouvées dans un scanner du cerveau:
Une partie de la tomodensitométrie du cerveau <line> <measurement id="2801" measurement-name=" " /> <measurement id="2782" measurement-name=" " /> <measurement id="2781" max-width="145" measurement-name="" comment=" "/> </line> <line> <measurement id="2762" measurement-name=" " /> <measurement id="2763" measurement-name=" " /> <measurement id="2764" max-width="145" measurement-name=" " /> </line> <line> <measurement id="2743" measurement-name=" " /> <text max-width="247" text-label=" " /> </line> <line> <measurement id="2803" max-width="169" measurement-name="" /> <measurement id="2767" value-width="148" comment=" "/> </line> <line> <measurement id="2821" measurement-name=" " /> <measurement id="2841" measurement-name=" " /> </line>

Eh bien, il reste quelques balises, mais passons aux paroles, puis à une description sèche du "bon" restant.
Chaque modèle est attaché à un prix spécifique (service). Tous les prix, à leur tour, sont répartis entre les groupes de prix. Ces derniers sont déjà inclus dans toutes les modalités. Par exemple:
- rachis cervical (service) - cou (groupe de prix) - imagerie par résonance magnétique [IRM] (modalité);
- rachis cervical (service) - cou (groupe de prix) - tomodensitométrie [TDM (modalité);
- consultation avec un médecin généraliste (service) - thérapie (groupe de prix) - consultations et manipulations [CM] (modalité);
- reins et glandes surrénales (service) - cavité abdominale (groupe de prix) - échographie [échographie] (modalité).
Si nous considérons le prix plus en détail, nous pouvons alors distinguer les types suivants:
- principal;
- supplémentaire;
- analyse.
Des services et analyses supplémentaires sont toujours associés aux principaux et ne peuvent être payés et exécutés séparément d'eux. En général, l'introduction de services supplémentaires dans le cadre du service principal augmente non seulement la quantité d'informations reçues pendant l'examen (pertinentes pour les études menées sur divers équipements), mais facilite également l'introduction dans le SIG du concept de rendez-vous primaires et répétés d'un médecin spécialiste.
Envisagez un rendez-vous avec un thérapeute. Si nous traduisons l'idée d'un rendez-vous initial dans la langue des prix, nous obtenons que ce rendez-vous se compose des prix d'une consultation avec un médecin généraliste (prix principal) et d'un examen d'un médecin généraliste (prix supplémentaire). En attendant, un deuxième rendez-vous n'est qu'une consultation de prix. De même pour les autres spécialistes. Cette approche consistant à diviser la réception en deux listes de prix distinctes permet au patient d'émettre un avis uniquement avec les informations nécessaires.
Lors de la génération du protocole de recherche, la version actuelle du modèle est prise en compte, qui est liée à la liste de prix principale actuelle. Si un patient paie, par exemple, le service «Échographie du pancréas» ou «consultation d'un médecin», alors aucune question ne se pose lorsqu'il est présenté au médecin. Mais que faire si non seulement la consultation d'un médecin généraliste est payée, mais aussi un examen? Comment ajouter un modèle lié à un examen médical?
Non moins intéressant est l'affichage du protocole de recherche pour les diagnostics de laboratoire (LD), qui utilise une approche différente des listes de prix supplémentaires. C'est pourquoi un type de prix distinct a été attribué aux analyses. Chaque liste de prix LD principale (test de frottis / grattage, test d'urine, etc.) dans ce cas sert à combiner plusieurs listes de prix avec le type «analyse», qui appartiennent à différents groupes de prix, en un seul ensemble. Par conséquent, pour chaque liste de prix principale, un seul protocole d'étude est délivré, quel que soit le nombre d'analyses payées. Si, par exemple, plusieurs tests sanguins ont été commandés (le prix principal est un test sanguin) et un frottis urologique (le prix principal est une étude de frottis / grattage), deux conclusions seront émises.
Nous ne devons pas oublier que certains endroits dans différents modèles peuvent être dupliqués, ou que le modèle est ringard très grand et qu'il est difficile de naviguer. Par exemple, un ensemble de mesures pour les amygdales droite et gauche se trouve dans les examens d'un médecin généraliste, endocrinologue, pneumologue, etc.
Ainsi, il est nécessaire, d'une part, d'extraire un fragment de code XML dans un modèle distinct, puis de l'ajouter à un endroit spécial, et d'autre part, de joindre des listes de prix ou des analyses supplémentaires au modèle de modèle principal. Pour ces tâches, nous avons besoin des trois balises restantes.
La question s'est sûrement posée: pourquoi utiliser des étiquettes spéciales alors que vous pouvez simplement ajouter un modèle à la fin d'un autre, tout en recevant une sorte de locomotive avec des wagons? Oui, il existe un tel moyen. Cependant, le système de modèles doit être flexible et capable d'insérer différents modèles à l'endroit dont nous avons besoin, tout en respectant un certain ordre.
Générateur de modèles
Utilisé comme référence à un autre modèle. L'attribut
id spécifie le numéro du modèle inséré.
À titre d'exemple, nous donnons les modèles des amygdales droite et gauche, qui sont utilisés dans le modèle pour examiner les spécialistes.
Motif d'amygdale droite <template> <line> <anatomy id="524" font-size="10" font-bold="true" font-underline="false" comment=" " /> <measurement id="1542" max-width="112" empty-name="true" comment=" " /> <measurement id="1543" max-width="161" empty-name="true" comment=" " /> </line> <line> <measurement id="1550" measurement-name="" comment=" " /> <measurement id="1551" measurement-name="" comment=" " /> <measurement id="1552" measurement-name="" comment=" " /> </line> </template>
Motif d'amygdale gauche <template> <line> <anatomy id="525" font-size="10" font-bold="true" font-underline="false" comment=" " /> <measurement id="1554" max-width="112" empty-name="true" comment=" " /> <measurement id="1555" max-width="161" empty-name="true" comment=" " /> </line> <line> <measurement id="1556" measurement-name="" comment=" " /> <measurement id="1557" measurement-name="" comment=" " /> <measurement id="1558" measurement-name="" comment=" " /> </line> </template>
Une partie du modèle d'examen spécialisé, où le modèle numéro 516 est pour l'amygdale droite et 517 est pour l'amygdale gauche:
<template-builder id="516"/> <anatomy-comment comment-id="372" comment-type="comment" comment=" " /> <template-builder id="517"/> <anatomy-comment comment-id="373" comment-type="comment" comment=" " />

Constructeur de modèle de prix
Indique l'insertion d'un modèle dont la disponibilité dépend du paiement. Par exemple, un examen médical, divers tests. Contient un seul attribut
id , où le numéro de modèle est écrit.
Modèle de consultation du thérapeute:
<template> <price-template-builder id="336"/> <anatomy-comment comment-id="370" comment-type="comment" comment=" " /> <conclusion-label spacing-before="HALF"/> <anatomy-comment comment-id="371" comment-type="conclusion" comment=" " /> </template>

Modèle d'examen de thérapeute <template> <anatomy-comment comment-id="358" comment-type="complaint" comment=" " /> <measurement id="8541" comment=" " /> <line> <measurement id="1521" measurement-name="" comment=" " /> <measurement id="1559" measurement-name="" comment=" " /> <measurement id="1560" empty-name="true" comment=" " /> </line> <template-builder id="516"/> <anatomy-comment comment-id="372" comment-type="comment" comment=" " /> <template-builder id="517"/> <anatomy-comment comment-id="373" comment-type="comment" comment=" " /> <line> <measurement id="1181" comment=" " /> <measurement id="1182" measurement-name="" comment=" " /> <measurement id="1183" empty-name="true" comment=" " /> </line> <line> <measurement id="1561" max-width="247" measurement-name="" comment=" " /> <measurement id="1562" measurement-name=" " comment=" " /> <measurement id="1563" max-width="70" empty-name="true" comment=" " /> </line> <line> <measurement id="1564" measurement-name=" " comment=" " /> <measurement id="1565" empty-name="true" comment=" " /> <measurement id="1566" empty-name="true" comment=" " /> </line> <line> <measurement id="1567" measurement-name=" " comment=" " /> <measurement id="1568" empty-name="true" comment=" " /> <measurement id="1569" empty-name="true" comment=" " /> </line> <line> <measurement id="1570" measurement-name=" " comment=" " /> <measurement id="1571" empty-name="true" comment=" " /> <measurement id="1572" comment=""/> </line> <measurement id="1153" max-width="247" need-points-to-end="false" comment=" "/> <line> <measurement id="1573" measurement-name=" " /> <measurement id="1574" comment=" " /> </line> <measurement id="1575" comment=" " /> <measurement id="1576" comment=" " /> <measurement id="1577" max-width="247" need-points-to-end="false" measurement-name=" " /> <measurement-group id="81" show-through-slash="true" multi-interval="true" is-color-selection="false"> <measurement id="1581" unit-width="27" measurement-name=" " comment=" " /> <measurement id="1582" unit-width="27" max-width="190" empty-name="true" comment=" " /> </measurement-group> <line> <measurement id="1578" measurement-name="" comment=" " /> <measurement id="1579" empty-name="true" comment=" " /> <measurement id="1580" empty-name="true" comment=" " /> </line> <measurement id="1621" comment=" " /> <measurement id="1583" comment=" " /> <measurement id="1587" comment=" ()" /> <line> <measurement id="1584" max-width="247" comment=" " /> <measurement id="1585" comment=" " /> <measurement id="1586" max-width="70" empty-name="true" comment=" " /> </line> </template>

Groupe de prix
Permet d'afficher le groupe de prix dans les modèles d'analyse. Peut contenir une étiquette de
générateur de modèle de prix . Attributs
- id - numéro du groupe de prix de la base de données;
- bgcolor - couleur d'arrière-plan;
- fgcolor - couleur du texte.
Envisagez un protocole d'analyse sanguine pour les listes de prix payés, le statut lipidique, l'aspartate aminotransférase (AcAT), l'alanine aminotransférase (AlAT), la testostérone totale, l'estradiol, la prolactine, l'hormone de croissance (STH).
Partie d'un modèle de test sanguin <template> <price-group id="9" bgcolor="#E18C8E" fgcolor="#FFFFFF"> <price-template-builder id="368"/> <price-template-builder id="369"/> <price-template-builder id="370"/> <price-template-builder id="371"/> <price-template-builder id="372"/> <price-template-builder id="373"/> <price-template-builder id="374"/> <price-template-builder id="375"/> <price-template-builder id="379"/> </price-group> <price-group id="10" bgcolor="#E18C8E" fgcolor="#FFFFFF"> <price-template-builder id="380"/> <price-template-builder id="381"/> <price-template-builder id="382"/> <price-template-builder id="383"/> <price-template-builder id="384"/> <price-template-builder id="385"/> <price-template-builder id="716"/> <price-template-builder id="717"/> </price-group> <price-group id="17" bgcolor="#E18C8E" fgcolor="#FFFFFF"> <price-template-builder id="425"/> <price-template-builder id="426"/> <price-template-builder id="427"/> <price-template-builder id="428"/> <price-template-builder id="429"/> <price-template-builder id="430"/> <price-template-builder id="431"/> <price-template-builder id="432"/> </price-group> <price-group id="31" bgcolor="#E18C8E" fgcolor="#FFFFFF"> <price-template-builder id="445"/> <price-template-builder id="446"/> </price-group> <anatomy-comment comment-id="6"/> </template>
Modèle de statut lipidique (numéro dans la base de données - 379):
<template> <measurement id="36" comment=""/> <measurement id="37" comment=" "/> <measurement id="38" comment=" ()"/> <measurement id="39" comment=" ()"/> <measurement id="40" comment=" ("/> <measurement id="41" comment=" "/> </template>
Modèle pour l'alanine aminotransférase (AlAT) (numéro dans la base de données - 381):
<template> <measurement id="43" comment=" ()"/> </template>

Le système a quelques attributs qui peuvent être trouvés dans toutes les balises:
- commentaire - est ignoré par le système et agit comme une marque pour le développeur;
- espacement avant - espacement de ligne supplémentaire. Options possibles: AUCUN, DEMI, PLEIN. La valeur par défaut est AUCUN;
- is-short - indique le type de chaîne: normal (faux) ou court (vrai). La valeur par défaut est false.
En utilisant l'attribut
is-short , vous pouvez créer un protocole de recherche, où l'image principale est située à gauche, et différentes dimensions et groupes de mesure sont à droite. L'une de ces conclusions est une échographie de la glande thyroïde, dont le modèle est donné ci-dessous:
Modèle d'échographie thyroïdienne <template image-id="5" need-warning="true" image-position="left-top-corner"> <anatomy id="22" font-size="10" font-bold="true" font-underline="false" is-short="true" comment=" "/> <line is-short="true" spacing-before="HALF"> <measurement id="310" max-width="156" comment=""/> <measurement id="341" max-width="156" comment=""/> </line> <line is-short="true"> <measurement id="308" max-width="156" comment=""/> <measurement id="342" max-width="156" comment=""/> </line> <template-builder id="253" is-short="true"/> <template-builder id="254" is-short="true"/> <measurement id="307" is-short="true" measurement-name=" " spacing-before="HALF" /> <measurement id="309" measurement-name=" " /> <anatomy-comment comment-id="9" comment-type="comment" spacing-before="HALF" /> <conclusion-label spacing-before="HALF"/> <anatomy-comment comment-id="8" comment-type="conclusion" /> </template>
Motif du lobe droit:
<template> <anatomy id="24" font-size="10" font-bold="true" font-underline="false" spacing-before="HALF" is-short="true" comment=" "/> <measurement-group id="2" is-color-selection="true" is-short="true"/> </template>
Modèle de lobe gauche:
<template> <anatomy id="23" font-size="10" font-bold="true" font-underline="false" spacing-before="HALF" is-short="true" comment=" "/> <measurement-group id="1" is-color-selection="true" is-short="true"/> </template>

Nous avons déjà mentionné que diverses métamorphoses se produisent avec une personne tout au long de la vie. Les balises restantes sont juste pour leur description, et elles seront prises en compte la prochaine fois.