2015-04-19 2 views
3

Je reçois cette erreur lors de l'analyse du message.ORU^R01 - Version 2.2 et 2.3 (impossible d'obtenir la répétition 2 à partir du champ 5 - répétitions maximales est seulement 1 reps .: segment: obx (rep 0) champ 5)

pipeparser.Parser(message) ---> Il déclenche une exception à cette ligne.

Erreur: ne peut pas obtenir la répétition 2 du champ 5 - maximum de répétitions est le segment de seulement 1 représentants: obx (représentant 0) Champ 5

message Version

2.2 et 2.3

Exemple de message:

MSH|^~&|LAB|SSS|RRRR1||201412080903||ORU^R01|2014342330808001||2.2 
PID||000000000^8|000000000^^^SSS^MR|||||F||1||||||||000000000^^^SSS^PN|000000000 
PV1|0001|I|^^^SSS|||||||YYY||||||||IP|000000000|1|||||||||||||||||||SSS 
ORC|RE|2051855|||CM||1^^^201412051855^^STAT|2051855|201412051855||||EMR||201412080903||SSS^SSS^L 
OBR|1|2051855^2051855|339.01149|CULT WD^WOUND CULTURE^L|||201412051858|||Bal|||||WOUND&WOUND&L^WOUND|^CAL^CAR||||3||201412080903|||F||1^^^201412051858^^STAT||4659571 
OBX|24|TX|TESTNM^TEST^L||WOUND CULTURE||||||C||260.00.295|201412051858 
OBX|25|TX|SOURCE^SOURCE^L||WOUND||||||C||260.00.295|201412051858 
OBX|26|TX|COLLDT^COLLECTION DATE/TIME^L||12/05/2014 18:58||||||C||260.00.295|201412051858 
OBX|27|TX|PLTDT^PLATE DATE/TIME^L||12/06/2014 14:15||||||C||260.00.295|201412051858 
OBX|28|TX|CULTST^CULTURE STATUS^L||Final||||||C||260.00.295|201412051858 
OBX|29|TX|SPCMN^SPECIMEN NUMBER^L||339.01149||||||C||260.00.295|201412051858 
OBX|30|TX|CLNSIG^CLINICAL SIGNIFICANCE^L||Significance Not Determined||||||C||260.00.295|201412051858 
OBX|31|TX|GRAM STAIN^GRAM STAIN^L||MODERATE WHITE BLOOD CELLS~FEW GRAM NEGATIVE BACILLI~FEW GRAM POSITIVE COCCI CLUSTERS~OCCASIONAL GRAM POSITIVE COCCI IN PAIRS|||^N|||F|||201412051858|PM 
OBR|2|2051855^2051855|339.01149|CULT WD^WOUND CULTURE^L|||201412051858|||Bal|||||WOUND&WOUND&L^WOUND|^CAL^CAR||||3^1||201412080903|||F|MORMOM^MORMOM|1^^^201412051858^^STAT||4659571 
OBX|32|TX|ORG ID^ORGANISM ID^L|1|MODERATE MORGANELLA MORGANII SSP MORGANII|||^N|||C||260.01.285|201412051858|PM 
OBR|3|2051855^2051855|339.01149|CULT WD^WOUND CULTURE^L|||201412051858|||Bal|||||WOUND&WOUND&L^WOUND|^CAL^CAR||||3^1||201412080903|||F|MORMOM^MORMOM|1^^^201412051858^^STAT||4659571 
OBX|33|NM|AMPICILLIN^AMPICILLIN^L|1|>= 32|||R|||F||260.01.010|201412051858|PM 
OBX|34|NM|AMIKACIN^AMIKACIN^L|1|<= 2|||S|||F||260.01.015|201412051858|PM 
OBX|35|NM|CEFAZOLIN^CEFAZOLIN^L|1|>= 64|||R|||F||260.01.020|201412051858|PM 
OBX|36|NM|CEFTRIAXONE^CEFTRIAXONE^L|1|<= 1|||S|||F||260.01.035|201412051858|PM 
OBX|37|NM|CIPROFLOXACIN^CIPROFLOXICIN^L|1|<= 0.25|||S|||F||260.01.040|201412051858|PM 
OBX|38|NM|GENTAMICIN^GENTAMICIN^L|1|<= 1|||S|||F||260.01.045|201412051858|PM 
OBX|39|NM|NITROFURANTOIN^NITROFURANTOIN^L|1|128|||R|||F||260.01.060|201412051858|PM 
OBX|40|NM|PIP/TAZO^PIPERACILLIN/TAZ^L|1|<= 4|||S|||F||260.01.065|201412051858|PM 
OBX|41|NM|TOBRAMYCIN^TOBRAMYACIN^L|1|<= 1|||S|||F||260.01.070|201412051858|PM 
OBX|42|NM|TRIMETHOPRIM/SULFA^TRIMETH/SULFA^L|1|<= 20|||S|||F||260.01.075|201412051858|PM 
OBX|43|NM|AMP SULBACT^AMP/SULBACTAM^L|1|>= 32|||R|||F||260.01.080|201412051858|PM 
OBX|44|NM|ERTAPENEM^ERTAPENEM^L^35801-0^Ertapenem Islt MIC^LOINC|1|<= 0.5|||S|||F||260.01.330|201412051858|PM 
OBX|45|NM|AZTREONAM^AZTREONAM^L^18868-0^Aztreonam Susc Islt^LOINC|1|<= 1|||S|||F||260.01.335|201412051858|PM 
OBX|46|NM|CEFEPIME^CEFEPIME^L^18879-7^Cefepime Susc Islt^LOINC|1|<= 1|||S|||F||260.01.360|201412051858|PM 
OBX|47|NM|MEROPENEM^MEROPENEM^L^18943-1^Meropenem Susc Islt^LOINC|1|<= 0.25|||S|||F||260.01.430|201412051858|PM 
+0

Jetez un oeil à ce lien ainsi qu'une solution de rechange: http://stackoverflow.com/questions/34217089/obr-repitions-on-hl7-orm-o01-nhapi/34221347#34221347 – Nova

Répondre

5

Comme l'erreur Messa Dans les états ge, les spécifications ne permettent qu'un seul champ "Valeur d'observation" 5 dans un OBX. Si vous regardez OBX Set Id 31, il a plusieurs valeurs (en utilisant le caractère répétitif).

OBX|31|TX|GRAM STAIN^GRAM STAIN^L||MODERATE WHITE BLOOD CELLS~FEW GRAM NEGATIVE BACILLI~FEW GRAM POSITIVE COCCI CLUSTERS~OCCASIONAL GRAM POSITIVE COCCI IN PAIRS|||^N|||F|||201412051858|PM 

Ceci n'est pas autorisé dans HL7 v2.2 - mais il est autorisé dans v2.3.

Ainsi vous avez deux options:

  1. modifier l'en-tête de message, de sorte qu'il est v2.3
  2. force de l'analyseur à utiliser les spécifications 2.3.

Obliger l'analyseur est aussi simple que

PipeParser parser = new PipeParser(); 
IMessage hl7Message = parser.Parse(hl7, "2.3"); 

forçages v2.4 HL7

PipeParser parser = new PipeParser(); 
IMessage hl7Message = parser.Parse(hl7, "2.4"); 
+0

Merci davidlg. Actuellement, je travaille avec trois versions différentes de HL7. c'est-à-dire la version = 2.2, 2.3, 2.4. de ORU^R01. pouvez-vous suggérer comment je peux analyser le 2.4 du message avec la réponse ci-dessus. J'ai une classe de routage qui en fait le gestionnaire de message respectif sur la base de la version. Si je définis 2.3 comme version de la fonction d'analyse syntaxique, comment je peux définir 2.4 comme version pendant la fonction d'analyse. Je lis le message HL7 de la base de données. – Himanshu

+0

Je ne suis pas sûr de ce que vous essayez de faire. Vous pouvez forcer l'analyseur à utiliser l'une de ces versions - il suffit de modifier le dernier paramètre de la fonction Parse. – davidlg