<commit_before>
package com.br.uepb.hl7;

import java.io.IOException; 

import com.br.uepb.dao.MedicaoBalancaDAO;
import com.br.uepb.dao.PacienteDAO;
import com.br.uepb.model.MedicaoBalancaDomain;
import com.br.uepb.model.PacienteDomain;

import ca.uhn.hl7v2.DefaultHapiContext;
import ca.uhn.hl7v2.HL7Exception;
import ca.uhn.hl7v2.HapiContext;
import ca.uhn.hl7v2.model.Message;
import ca.uhn.hl7v2.model.Varies;
import ca.uhn.hl7v2.model.v25.message.ORU_R01;
import ca.uhn.hl7v2.model.v25.datatype.CE;
import ca.uhn.hl7v2.model.v25.datatype.NM;
import ca.uhn.hl7v2.model.v25.group.ORM_O01_PATIENT;
import ca.uhn.hl7v2.model.v25.group.ORU_R01_OBSERVATION;
import ca.uhn.hl7v2.model.v25.group.ORU_R01_ORDER_OBSERVATION;
import ca.uhn.hl7v2.model.v25.message.ADT_A01;
import ca.uhn.hl7v2.model.v25.message.ORM_O01;
import ca.uhn.hl7v2.model.v25.segment.MSH;
import ca.uhn.hl7v2.model.v25.segment.OBR;
import ca.uhn.hl7v2.model.v25.segment.OBX;
import ca.uhn.hl7v2.model.v25.segment.ORC;
import ca.uhn.hl7v2.model.v25.segment.PID;
import ca.uhn.hl7v2.model.v25.segment.PV1;
import ca.uhn.hl7v2.parser.Parser;

public class tranformacaoDaStringParaHL8 {

	public tranformacaoDaStringParaHL8() {

	}

	public String criarHL7TESTE(PacienteDomain paciente) throws HL7Exception, IOException {
		ORU_R01 mensagem = new ORU_R01();
		mensagem.initQuickstart("ADT", "A01", "P");

		// Cabeçalho da mensagem
		MSH mshMensagem = mensagem.getMSH();
		mshMensagem.getMessageControlID().setValue("MESSAGE_CONTROL_ID_1");
		mshMensagem.getSequenceNumber().setValue("123");

		// Informações básicas do paciente
		PID pid = mensagem.getPATIENT_RESULT().getPATIENT().getPID();
		pid.getPatientName(0).getGivenName().setValue(paciente.getNome());

		// OBR
		ORU_R01_ORDER_OBSERVATION orderOBR = mensagem.getPATIENT_RESULT().getORDER_OBSERVATION();
		OBR obr = orderOBR.getOBR();
		obr.getSetIDOBR().setValue("1");
		obr.getFillerOrderNumber().getEntityIdentifier().setValue("UEPB");
		obr.getFillerOrderNumber().getNamespaceID().setValue("123");
		obr.getUniversalServiceIdentifier().getIdentifier().setValue("Oximetro");

		// OBX
		ORU_R01_OBSERVATION orderOBX = orderOBR.getOBSERVATION();
		OBX obx = orderOBX.getOBX();
		obx.getSetIDOBX().setValue("1");
		obx.getObservationIdentifier().getIdentifier().setValue("Oximetro");
		obx.getObservationSubID().setValue("1");
		obx.getValueType().setValue("NM");

		CE ce = new CE(mensagem);
		ce.getIdentifier().setValue("T57000");
		ce.getText().setValue("Pressão Sistolica");
		ce.getNameOfCodingSystem().setValue("PS");

		
		Varies varie = obx.getObservationValue(0);
		varie.setData(ce);//
		
		obx = orderOBR.getOBSERVATION(1).getOBX();
		

		// Transforma os objetos no arquivo HL7.
		HapiContext context = new DefaultHapiContext();
		Parser parser = context.getPipeParser();
		String encodedMessage = parser.encode(mensagem);

		System.out.println("Mensagem HL7");
		System.out.println(encodedMessage);

		return encodedMessage;
	}<commit_msg>Classe nova do HL7<commit_after>
package com.br.uepb.hl7;

import java.io.IOException; 

import com.br.uepb.dao.MedicaoBalancaDAO;
import com.br.uepb.dao.PacienteDAO;
import com.br.uepb.model.MedicaoBalancaDomain;
import com.br.uepb.model.PacienteDomain;

import ca.uhn.hl7v2.DefaultHapiContext;
import ca.uhn.hl7v2.HL7Exception;
import ca.uhn.hl7v2.HapiContext;
import ca.uhn.hl7v2.model.Message;
import ca.uhn.hl7v2.model.Varies;
import ca.uhn.hl7v2.model.v25.message.ORU_R01;
import ca.uhn.hl7v2.model.v25.datatype.CE;
import ca.uhn.hl7v2.model.v25.datatype.NM;
import ca.uhn.hl7v2.model.v25.group.ORM_O01_PATIENT;
import ca.uhn.hl7v2.model.v25.group.ORU_R01_OBSERVATION;
import ca.uhn.hl7v2.model.v25.group.ORU_R01_ORDER_OBSERVATION;
import ca.uhn.hl7v2.model.v25.message.ADT_A01;
import ca.uhn.hl7v2.model.v25.message.ORM_O01;
import ca.uhn.hl7v2.model.v25.segment.MSH;
import ca.uhn.hl7v2.model.v25.segment.OBR;
import ca.uhn.hl7v2.model.v25.segment.OBX;
import ca.uhn.hl7v2.model.v25.segment.ORC;
import ca.uhn.hl7v2.model.v25.segment.PID;
import ca.uhn.hl7v2.model.v25.segment.PV1;
import ca.uhn.hl7v2.parser.Parser;

public class tranformacaoDaStringParaHL8 {

	public tranformacaoDaStringParaHL8() {

	}

	public String criarHL7TESTE(PacienteDomain paciente) throws HL7Exception, IOException {
		ORU_R01 mensagem = new ORU_R01();
		mensagem.initQuickstart("ADT", "A01", "P");

		// Cabeçalho da mensagem
		MSH mshMensagem = mensagem.getMSH();
		mshMensagem.getMessageControlID().setValue("MESSAGE_CONTROL_ID_1");
		mshMensagem.getSequenceNumber().setValue("123");

		// Informações básicas do paciente
		PID pid = mensagem.getPATIENT_RESULT().getPATIENT().getPID();
		pid.getPatientName(0).getGivenName().setValue(paciente.getNome());

		// OBR
		ORU_R01_ORDER_OBSERVATION orderOBR = mensagem.getPATIENT_RESULT().getORDER_OBSERVATION();
		OBR obr = orderOBR.getOBR();
		obr.getSetIDOBR().setValue("1");
		obr.getFillerOrderNumber().getEntityIdentifier().setValue("UEPB");
		obr.getFillerOrderNumber().getNamespaceID().setValue("123");
		obr.getUniversalServiceIdentifier().getIdentifier().setValue("Oximetro");

		// OBX
		ORU_R01_OBSERVATION orderOBX = orderOBR.getOBSERVATION();
		OBX obx = orderOBX.getOBX();
		obx.getSetIDOBX().setValue("1");
		obx.getObservationIdentifier().getIdentifier().setValue("Pressão Sistolica");
		obx.getValueType().setValue("NM");

		CE ce = new CE(mensagem);
		ce.getText().setValue("");
		ce.getNameOfCodingSystem().setValue("PS");

		
		Varies varie = obx.getObservationValue(0);
		varie.setData(ce);//
		
		obx = orderOBR.getOBSERVATION(1).getOBX();
		

		// Transforma os objetos no arquivo HL7.
		HapiContext context = new DefaultHapiContext();
		Parser parser = context.getPipeParser();
		String encodedMessage = parser.encode(mensagem);

		System.out.println("Mensagem HL7");
		System.out.println(encodedMessage);

		return encodedMessage;
	}
{'fraction_non_alphanumeric': 0.14098416482206708, 'fraction_numerical': 0.038991997275668315, 'mean_word_length': 5.370932754880694, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5836701', 'n_tokens_mistral': 2552, 'n_tokens_neox': 2363, 'n_words': 291}