22
22
#include "../herramientas/herramientaoverlays.h"
23
23
#include "../herramientas/reconstructiontool.h"
25
#include "../dialogos/contenedorherramientas.h"
26
#include "../dialogos/importacion/pasodatosgenerales.h"
27
#include "../dialogos/importacion/datospersistentesimportacion.h"
28
#include "../dialogos/seleccionardiagnostico/seleccionardiagnostico.h"
25
#include <visualizator/dialogos/contenedorherramientas.h>
26
#include <main/gui/import/generaldata.h>
27
#include <main/gui/import/importationdata.h>
28
#include <visualizator/dialogos/seleccionardiagnostico/seleccionardiagnostico.h>
29
29
#include "../vistas/vista2d.h"
30
30
#include "../vistas/waveformview.h"
31
31
#include <visualizator/estudios/visualizatorstudy.h>
115
119
// Codigos LOINC de los informes de A. Primaria.
116
120
m_ListaInformes.push_back(GNC::GCS::IdHL7("TUID" + m_UID, "0", _Std("Ginkgo CADx Image Report"), "LN", "", "","v1.0"));
119
// Codigos LOINC de los Estudios que genera A. Primaria
120
m_ListaEstudios["EstudioOriginal"]= GNC::GCS::IdHL7("EstudioOriginal", "121018", "Study Instance UID", "DCM", "HD", "","v1.0");
122
// Codigos LOINC de los registros HL7 que genera A. Primaria
123
m_ListaRegistros["SerieOriginal"] = GNC::GCS::IdHL7("SerieOriginal", "112002", "Series Instance UID", "DCM", "HD", "","v1.0");
124
m_ListaRegistros["IDPacs"] = GNC::GCS::IdHL7("IDPacs", "ARCHIVE", "IDPACS", "DCM", "HD", "","v1.0");
125
m_ListaRegistros["Imagen"] = GNC::GCS::IdHL7("Imagen", "121126", "SOP Instance UID", "DCM", "HD", "","v1.0");
126
m_ListaRegistros["SOPClass"] = GNC::GCS::IdHL7("SOPClass", "121127", "SOP Class ID", "DCM", "HD", "","v1.0");
128
122
m_pPanelContenedorCustom = NULL;
130
124
//registrar herramientas
285
/*ESTO SIRVE PARA NO SEPARAR POR SERIES...
286
std::list<std::string> listaUIDSerie;
287
std::vector<std::string> rutas;
288
GnkPtr<GIL::IModeloIntegracion> pModeloIntegracion = NULL;
289
for(ListaDescriptoresSerie::iterator it = series.begin(); it!=series.end(); it++){
290
listaUIDSerie.push_back((*it).m_uidSerie);
291
if(!m_ListaModos[modo]->SoportaModalidad((*it).m_modalidad)){
293
wxMessageBox(_("Derma view does not support modality studies") + wxString::FromUTF8((*it).m_modalidad.c_str()), _("Error"), wxICON_ERROR);
296
if((*it).m_pModeloIntegracion.IsValid()) {
297
pModeloIntegracion = (*it).m_pModeloIntegracion;
299
std::vector<std::string> rutasSerie = m_pEntorno->GetControladorHistorial()->GetPathsSerieOrdenados((*it).m_uidSerie);
300
for (std::vector<std::string>::iterator it = rutasSerie.begin(); it != rutasSerie.end(); ++it) {
301
rutas.push_back((*it));
307
278
for(std::set<std::string>::iterator it = uidsSeries.begin(); it!= uidsSeries.end(); it++)
309
280
std::vector<std::string> rutas = m_pEntorno->GetControladorHistorial()->GetPathsSerieOrdenados((*it));
281
if (rutas.size() == 0)
287
GNC::GCS::ControladorHistorial::ListaModelosDCM dcmModels;
288
GNC::GCS::ControladorHistorial::Instance()->GetAllModelosDCMSeries((*it), dcmModels);
289
if (dcmModels.size() > 0 && dcmModels.front().m_sopClassUID == UID_EncapsulatedPDFStorage)
291
GNKVisualizator::GADAPI::PDFExtracterCommandParameters* pParams = new GNKVisualizator::GADAPI::PDFExtracterCommandParameters(rutas);
292
GNKVisualizator::GADAPI::PDFExtracterCommand* pCmd = new GNKVisualizator::GADAPI::PDFExtracterCommand(pParams);
293
m_pEntorno->GetControladorComandos()->ProcessAsync("Extracting...", pCmd, NULL);
311
298
GNC::GCS::IControladorVistas* pCtrlVistas = m_pEntorno->GetControladorVistas();
312
299
wxWindow* pVentanaPadre = NULL;
314
if (rutas.size() == 0)
319
301
//primero de todo seleccionar diagnostico
320
302
std::string uidDiagnosticoSeleccionado = uidEstudioDiagnostico;
321
303
if(!SeleccionarDiagnostico(rutas[0],uidDiagnosticoSeleccionado))
418
400
return m_pEntorno->GetControladorPermisos()->Get("atencionprimaria", "dicomizador");
421
void GNKVisualizator::ControladorAtencionPrimaria::GetPasosImportacion(IWizard* pWizard,std::list<IPasoWizard*> &listaPasos, wxWindow* pParent, std::string &dirTemporal, GnkPtr<GIL::IModeloIntegracion> pModeloIntegracion){
422
GnkPtr<GNKVisualizator::GUI::TipoWizardImportacion> datosPersistentes(new GNKVisualizator::GUI::TipoWizardImportacion(pModeloIntegracion));
403
void GNKVisualizator::ControladorAtencionPrimaria::GetPasosImportacion(IWizard* pWizard,std::list<IPasoWizard*> &listaPasos, wxWindow* pParent, std::string &dirTemporal, GnkPtr<GIL::IModeloIntegracion> pModeloIntegracion)
405
GnkPtr<GNC::GUI::ImportationData> datosPersistentes(new GNC::GUI::ImportationData(pModeloIntegracion));
424
IPasoWizard* paso=new GNKVisualizator::GUI::PasoDatosGenerales(pParent,pWizard,datosPersistentes,dirTemporal,m_pEntorno);
407
IPasoWizard* paso=new GNC::GUI::GeneralData(pParent,pWizard,datosPersistentes, true);
425
408
listaPasos.push_back(paso);
427
410
paso = new GNKVisualizator::GUI::SelectImagesImportationVisualizator(pParent,pWizard,datosPersistentes,dirTemporal);
475
458
void GNKVisualizator::ControladorAtencionPrimaria::ReprocessIntegration(const std::string& uidSeries, GnkPtr<GIL::IModeloIntegracion> pIntegrationModel)
477
460
//reprocess integration flow...
478
462
std::vector<std::string> rutas = m_pEntorno->GetControladorHistorial()->GetPathsSerieOrdenados(uidSeries);
479
463
GnkPtr<GNKVisualizator::VisualizatorStudy> estudio = new GNKVisualizator::VisualizatorStudy();
480
464
estudio->ListaUIDsSerie.push_back(uidSeries);
483
467
estudio->VentanaPadre = NULL;
484
468
estudio->InicializarContextoEstudio(rutas, "", GNC::GCS::IContextoEstudio::TMF_UNDiagnostico);
470
GIL::IStudyModel studyModel;
471
GIL::ISeriesModel seriesModel;
487
472
//recreate evidences...
488
473
std::string strTmp0, strTmp1;
489
pIntegrationModel->Evidencias.clear();
490
475
estudio->SetIndiceActivo(0);
491
476
estudio->GetTagImagenActiva("0020|000d", strTmp0);//uid study
477
studyModel.MapOfVars.InsertVariable(GKDI_STUDY_INSTANCE_UID, strTmp1);
492
478
estudio->GetTagImagenActiva("0008|0050", strTmp1);//accession
493
GIL::IModeloEvidenciaEstudio evidenciaEstudioDicomizado("EstudioOriginal", strTmp0, strTmp1);
479
studyModel.MapOfVars.InsertVariable(GKDI_STUDY_ACCESSION_NUMBER, strTmp1);
495
481
estudio->GetTagImagenActiva("0020|000e", strTmp0);//uid series
496
GIL::IModeloEvidenciaSerie evidenciaSerie("SerieOriginal", strTmp0);
482
seriesModel.MapOfVars.InsertVariable(GKDI_SERIE_INSTANCE_UID, strTmp0);
497
483
for (int i = 0; i < estudio->GetNumeroCortes(); ++i) {
484
GIL::IImageModel imageModel;
498
485
estudio->SetIndiceActivo(i);
499
486
estudio->GetTagImagenActiva("0008|0018", strTmp0);//sop instance
500
487
estudio->GetTagImagenActiva("0008|0016", strTmp1);//sop class
502
GIL::IModeloEvidenciaImagen evidenciaImagen("Imagen", strTmp0, strTmp1);
503
evidenciaSerie.ListaImagenes.push_back(evidenciaImagen);
488
imageModel.MapOfVars.InsertVariable(GKDI_IMAGE_SOP_INSTANCE_UID, strTmp0);
489
imageModel.MapOfVars.InsertVariable(GKDI_IMAGE_SOP_CLASS_UID, strTmp1);
490
seriesModel.Images.push_back(imageModel);
506
evidenciaEstudioDicomizado.ListaSeries.push_back(evidenciaSerie);
507
pIntegrationModel->Evidencias.push_back(evidenciaEstudioDicomizado);
493
studyModel.Series.push_back(seriesModel);
495
pIntegrationModel->Studies.push_back(studyModel);
509
GADAPI::ComandoPACSParams * pParams = new ::GADAPI::ComandoPACSParams(pIntegrationModel->PACSAlmacenamiento, rutas, pIntegrationModel);
497
::GADAPI::ComandoPACSParams * pParams = new ::GADAPI::ComandoPACSParams(pIntegrationModel->GlobalVariables.GetValue(GKDI_GLOBAL_PACS_STORE_SID), rutas, pIntegrationModel);
510
498
pParams->m_informar = false;
511
GADAPI::ComandoPACS * pCmd = new ::GADAPI::ComandoPACS(pParams);
499
::GADAPI::ComandoPACS * pCmd = new ::GADAPI::ComandoPACS(pParams);
512
500
GNC::GCS::ControladorComandos::Instance()->ProcessAsync(_Std("Uploading..."), pCmd, NULL);