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(); + }); }); }