From 3a796ed892bf9e688d3c802e0a9b623cb9814e01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mika=C3=ABl=20Ates?=
Date: Wed, 14 Jan 2015 16:00:44 +0100
Subject: [PATCH] Display all infos about people recorded on the cv2.
---
.../dossiers/templates/dossiers/cv2.html | 101 ++++++++++++++++++
calebasse/dossiers/views.py | 15 ++-
calebasse/static/css/dossiers.css | 13 ++-
calebasse/static/js/calebasse.dialog.js | 5 +
4 files changed, 131 insertions(+), 3 deletions(-)
create mode 100644 calebasse/dossiers/templates/dossiers/cv2.html
diff --git a/calebasse/dossiers/templates/dossiers/cv2.html b/calebasse/dossiers/templates/dossiers/cv2.html
new file mode 100644
index 00000000..4224a357
--- /dev/null
+++ b/calebasse/dossiers/templates/dossiers/cv2.html
@@ -0,0 +1,101 @@
+{% load widget_tweaks %}
+{% if cv %}
+{% if cv.tech.finValidite %}Valide jusqu'au {{ cv.tech.finValidite }}
{% endif %}
+ {% for beneficiaire in cv.listeBenef.get_element %}
+
+
+
+
+
+
+ {% if beneficiaire.ident %}
+ Identification
+ - {{ beneficiaire.ident.nomUsuel }}
+ {% if beneficiaire.ident.nomPatronymique %}- {{ beneficiaire.ident.nomPatronymique }}
{% endif %}
+ - {{ beneficiaire.ident.prenomUsuel }}
+ - {% if beneficiaire.ident.naissance.dateEnCarte %}{{ beneficiaire.ident.naissance.dateEnCarte }}{% else %}{{ beneficiaire.ident.naissance.date }}{% endif %}
+ - {{ beneficiaire.ident.nir }}
+ {% if beneficiaire.ident.adresse %}
+ {% if beneficiaire.ident.adresse.ligne1 %}- {{ beneficiaire.ident.adresse.ligne1 }}
{% endif %}
+
{% endif %}
+ - {{ beneficiaire.ident.rangDeNaissance }}
+ {% if beneficiaire.ident.nirCertifie %}- {{ beneficiaire.ident.nirCertifie }}
{% endif %}
+ {% if beneficiaire.ident.dateCertification %}- {{ beneficiaire.ident.dateCertification }}
{% endif %}
+ {% else %}
+ Problème de lecture du bloc identification.
+ {% endif %}
+
+
+ {% if beneficiaire.amo %}
+ Assurance Maladie Obligatoire
+ - {{ beneficiaire.amo.qualBenef }}
+ - {{ beneficiaire.amo.codeRegime }}
+ - {{ beneficiaire.amo.caisse }}
+ - {{ beneficiaire.amo.centreGestion }}
+ - {{ beneficiaire.amo.codeGestion }}
+ {% if beneficiaire.amo.libelleExo %}- {{ beneficiaire.amo.libelleExo }}
{% endif %}
+ {% if beneficiaire.amo.infoCompl %}- {{ beneficiaire.amo.infoCompl }}
{% endif %}
+ - {{ beneficiaire.amo.centreCarte }}
+ {% if beneficiaire.amo.listePeriodesDroits %}
+ {% for element in beneficiaire.amo.listePeriodesDroits.get_element %}- {{ element.debut }} - {{ element.fin }}
{% endfor %}
+
{% endif %}
+ - {{ beneficiaire.amo.medecinTraitant }}
+ {% if beneficiaire.amo.service %}- {{ beneficiaire.amo.codeService }} - {{ beneficiaire.amo.periodeService.debut }} - {{ beneficiaire.amo.periodeService.fin }}
{% endif %}
+ {% else %}
+ Problème de lecture du bloc amo.
+ {% endif %}
+
+
+ {% if beneficiaire.mutuelle %}
+ Mutuelle
+ {% if beneficiaire.mutuelle.listeTypeContrat %}
+ {% for element in beneficiaire.mutuelle.listeTypeContrat.get_element %}- {{ element }}
{% endfor %}
+
{% endif %}
+ {% if beneficiaire.mutuelle.numIdent %}- {{ beneficiaire.mutuelle.numIdent }}
{% endif %}
+ {% if beneficiaire.mutuelle.services %}- {{ beneficiaire.mutuelle.services.typeService }} - {{ beneficiaire.mutuelle.services.servicesAssocies }}
{% endif %}
+ {% if beneficiaire.mutuelle.listePeriodes %}
+ {% for element in beneficiaire.mutuelle.listePeriodes.get_element %}- {{ element.debut }} - {{ element.fin }}
{% endfor %}
+
{% endif %}
+ {% if beneficiaire.mutuelle.indicTraitement %}- {{ beneficiaire.mutuelle.indicTraitement }}
{% endif %}
+ {% if beneficiaire.mutuelle.codeSTS %}- {{ beneficiaire.mutuelle.codeSTS }}
{% endif %}
+ {% if beneficiaire.mutuelle.donneesCompl %}- {{ beneficiaire.mutuelle.donneesCompl }}
{% endif %}
+
+ {% endif %}
+
+ {% if beneficiaire.amc %}
+ Assurance Maladie Complémentaire
+ {% if beneficiaire.amc.numComplB2 %}- {{ beneficiaire.amc.numComplB2 }}
{% endif %}
+ {% if beneficiaire.amc.numComplEDI %}- {{ beneficiaire.amc.numCompleEDI }}
{% endif %}
+ {% if beneficiaire.amc.numAdherent %}- {{ beneficiaire.amc.numAdherent }}
{% endif %}
+ {% if beneficiaire.amc.indicTraitement %}- {{ beneficiaire.amc.indicTraitement }}
{% endif %}
+ {% if beneficiaire.amc.validiteDonnees %}- {{ beneficiaire.amc.validiteDonnees.debut }} - {{ beneficiaire.amc.validiteDonnees.fin }}
{% endif %}
+ {% if beneficiaire.amc.codeRoutageFlux %}- {{ beneficiaire.amc.codeRoutageFlux }}
{% endif %}
+ {% if beneficiaire.amc.identHote %}- {{ beneficiaire.amc.identHote }}
{% endif %}
+ {% if beneficiaire.amc.nomDomaine %}- {{ beneficiaire.amc.nomDomaine }}
{% endif %}
+ {% if beneficiaire.amc.codeSTS %}- {{ beneficiaire.amc.codeSTS }}
{% endif %}
+ {% if beneficiaire.amc.services %}- {{ beneficiaire.amc.services.typeService }} - {{ beneficiaire.amc.services.servicesAssocies }}
{% endif %}
+ {% if beneficiaire.amc.donneesCompl %}- {{ beneficiaire.amc.donneesCompl }}
{% endif %}
+
+ {% endif %}
+
+ {% if beneficiaire.cmu %}
+ Couverture Maladie Universelle
+ {% if beneficiaire.cmu.typeCMU %}- {{ beneficiaire.cmu.typeCMU }}
{% endif %}
+ {% if beneficiaire.cmu.periode %}- {{ beneficiaire.cmu.periode.debut }} - {{ beneficiaire.cmu.periode.fin }}
{% endif %}
+
+ {% endif %}
+
+ {% if beneficiaire.listeAt %}
+ Accident du travail
+ {% if beneficiaire.listeAt.at1 %}- {{ beneficiaire.listeAt.at1.orgGestion }} {{ beneficiaire.listeAt.at1.codeBudget }} {{ beneficiaire.listeAt.at1.identifiant }}
{% endif %}
+ {% if beneficiaire.listeAt.at2 %}- {{ beneficiaire.listeAt.at2.orgGestion }} {{ beneficiaire.listeAt.at2.codeBudget }} {{ beneficiaire.listeAt.at3.identifiant }}
{% endif %}
+ {% if beneficiaire.listeAt.at3 %}- {{ beneficiaire.listeAt.at3.orgGestion }} {{ beneficiaire.listeAt.at3.codeBudget }} {{ beneficiaire.listeAt.at3.identifiant }}
{% endif %}
+
+ {% endif %}
+
+
+
+ {% endfor %}
+{% else %}
+Aucune carte vitale lue.
+{% endif %}
diff --git a/calebasse/dossiers/views.py b/calebasse/dossiers/views.py
index 70f6e73a..2a150f5b 100644
--- a/calebasse/dossiers/views.py
+++ b/calebasse/dossiers/views.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
import os
+import logging
from datetime import datetime, date
@@ -38,8 +39,10 @@ from calebasse.decorators import validator_only
from ..utils import get_service_setting, is_validator, get_last_file
+logger = logging.getLogger('calebasse.dossiers')
+
if settings.CV2PARSER:
- import cv2parser
+ from cv2parser import cvitale
class NewPatientRecordView(cbv.FormView, cbv.ServiceViewMixin):
form_class = forms.NewPatientRecordForm
@@ -373,7 +376,15 @@ class ReadCV2View(cbv.FormView):
pass
filename = get_last_file(cv_files_path,
prefix=reader_identifier, suffix='.xml')
- ctx['carte_vitale'] = filename
+ ctx['cv'] = None
+ try:
+ ctx['cv'] = cvitale.parse(filename)
+ except Exception, e:
+ logger.warning("%s" % str(e))
+ try:
+ ctx['object'] = PatientRecord.objects.get(id=self.kwargs['patientrecord_id'])
+ except:
+ pass
return ctx
if settings.CV2PARSER:
diff --git a/calebasse/static/css/dossiers.css b/calebasse/static/css/dossiers.css
index 4cdc6aac..1b1cdb6d 100644
--- a/calebasse/static/css/dossiers.css
+++ b/calebasse/static/css/dossiers.css
@@ -25,6 +25,17 @@
border-width: 2px;
}
+div.beneficiaire {
+ background: #eee;
+ border: 1px solid #FF7800;
+ margin: 2px;
+ padding: 2px;
+ border-radius: 3px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ font-size: 70%;
+}
+
#tabs-3 div.contact h4 {
margin: 0;
}
@@ -90,7 +101,7 @@ div#tabs-4 div div.buttons {
clear: both;
}
-#new-address-btn, #new-contact-btn #read-cv2{
+#new-address-btn, #new-contact-btn, #read-cv2{
font-size: 1.1em;
}
diff --git a/calebasse/static/js/calebasse.dialog.js b/calebasse/static/js/calebasse.dialog.js
index 84e1c7fa..054697dc 100644
--- a/calebasse/static/js/calebasse.dialog.js
+++ b/calebasse/static/js/calebasse.dialog.js
@@ -106,6 +106,11 @@ function generic_ajaxform_dialog(url, title, id, width, btn_submit_name, redirec
if (on_load_callback) {
on_load_callback($(this));
}
+
+ $('.js-click-to-expand').on('click', function (event) {
+ $(event.target).parents('.js-expandable').toggleClass('js-expanded');
+ $(event.target).next().toggle();
+ });
});
}