Display all infos about people recorded on the cv2.

This commit is contained in:
Mikaël Ates 2015-01-14 16:00:44 +01:00
parent 233fda5f43
commit 3a796ed892
4 changed files with 131 additions and 3 deletions

View File

@ -0,0 +1,101 @@
{% load widget_tweaks %}
{% if cv %}
{% if cv.tech.finValidite %}<p>Valide jusqu'au {{ cv.tech.finValidite }}</p>{% endif %}
<p>{% for beneficiaire in cv.listeBenef.get_element %}
<div class="beneficiaire">
<label for="{{ beneficiaire.id }}">{{ beneficiaire.ident.nomUsuel }} {{ beneficiaire.ident.prenomUsuel }} {% if beneficiaire.amo.qualBenef == 0 %}<strong>(Assuré)</strong>{% endif %}</label>
<span class="js-expandable">
<label class="js-click-to-expand"></label>
<ul class="js-to-expand">
{% if beneficiaire.ident %}
<strong>Identification</strong>
<li><label>Nom usuel :</label> {{ beneficiaire.ident.nomUsuel }}</li>
{% if beneficiaire.ident.nomPatronymique %}<li><label>Nom usuel :</label> {{ beneficiaire.ident.nomPatronymique }}</li>{% endif %}
<li><label>Prénom usuel :</label> {{ beneficiaire.ident.prenomUsuel }}</li>
<li><label>Date de naissance :</label> {% if beneficiaire.ident.naissance.dateEnCarte %}{{ beneficiaire.ident.naissance.dateEnCarte }}{% else %}{{ beneficiaire.ident.naissance.date }}{% endif %}</li>
<li><label>Numéro d'Identification au Répertoire (NIR) :</label> {{ beneficiaire.ident.nir }}</li>
{% if beneficiaire.ident.adresse %}<li><label>Adresse :</label><ul>
{% if beneficiaire.ident.adresse.ligne1 %}<li><label>Ligne 1 :</label> {{ beneficiaire.ident.adresse.ligne1 }}</li>{% endif %}
</ul></li>{% endif %}
<li><label>Rang de naissance :</label> {{ beneficiaire.ident.rangDeNaissance }}</li>
{% if beneficiaire.ident.nirCertifie %}<li><label>NIR certifié :</label> {{ beneficiaire.ident.nirCertifie }}</li>{% endif %}
{% if beneficiaire.ident.dateCertification %}<li><label>Date de certification :</label> {{ beneficiaire.ident.dateCertification }}</li>{% endif %}
{% else %}
Problème de lecture du bloc identification.
{% endif %}
<br/>
{% if beneficiaire.amo %}
<strong>Assurance Maladie Obligatoire</strong>
<li><label>Qualité du bénéficiaire :</label> {{ beneficiaire.amo.qualBenef }}</li>
<li><label>Code du régime :</label> {{ beneficiaire.amo.codeRegime }}</li>
<li><label>Code de la caisse :</label> {{ beneficiaire.amo.caisse }}</li>
<li><label>Code du centre :</label> {{ beneficiaire.amo.centreGestion }}</li>
<li><label>Code de gestion :</label> {{ beneficiaire.amo.codeGestion }}</li>
{% if beneficiaire.amo.libelleExo %}<li><label>Exonération du ticket modérateur :</label> {{ beneficiaire.amo.libelleExo }}</li>{% endif %}
{% if beneficiaire.amo.infoCompl %}<li><label>Informations supplémentaires :</label> {{ beneficiaire.amo.infoCompl }}</li>{% endif %}
<li><label>Centre d'émission de la carte :</label> {{ beneficiaire.amo.centreCarte }}</li>
{% if beneficiaire.amo.listePeriodesDroits %}<li><label>Liste des périodes de droits :</label><ul>
{% for element in beneficiaire.amo.listePeriodesDroits.get_element %}<li>{{ element.debut }} - {{ element.fin }}</li>{% endfor %}
</ul></li>{% endif %}
<li><label>Medecin traitant :</label> {{ beneficiaire.amo.medecinTraitant }}</li>
{% if beneficiaire.amo.service %}<li><label>Service :</label> {{ beneficiaire.amo.codeService }} - {{ beneficiaire.amo.periodeService.debut }} - {{ beneficiaire.amo.periodeService.fin }}</li>{% endif %}
{% else %}
Problème de lecture du bloc amo.
{% endif %}
<br/>
{% if beneficiaire.mutuelle %}
<strong>Mutuelle</strong>
{% if beneficiaire.mutuelle.listeTypeContrat %}<li><label>Liste types de contrats :</label><ul>
{% for element in beneficiaire.mutuelle.listeTypeContrat.get_element %}<li>{{ element }}</li>{% endfor %}
</ul></li>{% endif %}
{% if beneficiaire.mutuelle.numIdent %}<li><label>Numéro d'identification :</label> {{ beneficiaire.mutuelle.numIdent }}</li>{% endif %}
{% if beneficiaire.mutuelle.services %}<li><label>Services :</label> {{ beneficiaire.mutuelle.services.typeService }} - {{ beneficiaire.mutuelle.services.servicesAssocies }}</li>{% endif %}
{% if beneficiaire.mutuelle.listePeriodes %}<li><label>Liste des périodes de droits :</label><ul>
{% for element in beneficiaire.mutuelle.listePeriodes.get_element %}<li>{{ element.debut }} - {{ element.fin }}</li>{% endfor %}
</ul></li>{% endif %}
{% if beneficiaire.mutuelle.indicTraitement %}<li><label>Indicateur de Traitement :</label> {{ beneficiaire.mutuelle.indicTraitement }}</li>{% endif %}
{% if beneficiaire.mutuelle.codeSTS %}<li><label>Code STS (STructure de Soin) :</label> {{ beneficiaire.mutuelle.codeSTS }}</li>{% endif %}
{% if beneficiaire.mutuelle.donneesCompl %}<li><label>Données supplémentaires :</label> {{ beneficiaire.mutuelle.donneesCompl }}</li>{% endif %}
<br/>
{% endif %}
{% if beneficiaire.amc %}
<strong>Assurance Maladie Complémentaire</strong>
{% if beneficiaire.amc.numComplB2 %}<li><label>NuméroB2 :</label> {{ beneficiaire.amc.numComplB2 }}</li>{% endif %}
{% if beneficiaire.amc.numComplEDI %}<li><label>Numéro EDI :</label> {{ beneficiaire.amc.numCompleEDI }}</li>{% endif %}
{% if beneficiaire.amc.numAdherent %}<li><label>Numéro d'adhérent :</label> {{ beneficiaire.amc.numAdherent }}</li>{% endif %}
{% if beneficiaire.amc.indicTraitement %}<li><label>Indicateur de Traitement :</label> {{ beneficiaire.amc.indicTraitement }}</li>{% endif %}
{% if beneficiaire.amc.validiteDonnees %}<li><label>Validité des données :</label> {{ beneficiaire.amc.validiteDonnees.debut }} - {{ beneficiaire.amc.validiteDonnees.fin }}</li>{% endif %}
{% if beneficiaire.amc.codeRoutageFlux %}<li><label>Code de routage des flux :</label> {{ beneficiaire.amc.codeRoutageFlux }}</li>{% endif %}
{% if beneficiaire.amc.identHote %}<li><label>Identification de l'hôte :</label> {{ beneficiaire.amc.identHote }}</li>{% endif %}
{% if beneficiaire.amc.nomDomaine %}<li><label>Nom de domaine :</label> {{ beneficiaire.amc.nomDomaine }}</li>{% endif %}
{% if beneficiaire.amc.codeSTS %}<li><label>Code STS (STructure de Soin) :</label> {{ beneficiaire.amc.codeSTS }}</li>{% endif %}
{% if beneficiaire.amc.services %}<li><label>Services :</label> {{ beneficiaire.amc.services.typeService }} - {{ beneficiaire.amc.services.servicesAssocies }}</li>{% endif %}
{% if beneficiaire.amc.donneesCompl %}<li><label>Données supplémentaires :</label> {{ beneficiaire.amc.donneesCompl }}</li>{% endif %}
<br/>
{% endif %}
{% if beneficiaire.cmu %}
<strong>Couverture Maladie Universelle</strong>
{% if beneficiaire.cmu.typeCMU %}<li><label>Type CMU :</label> {{ beneficiaire.cmu.typeCMU }}</li>{% endif %}
{% if beneficiaire.cmu.periode %}<li><label>Période :</label> {{ beneficiaire.cmu.periode.debut }} - {{ beneficiaire.cmu.periode.fin }}</li>{% endif %}
<br/>
{% endif %}
{% if beneficiaire.listeAt %}
<strong>Accident du travail</strong>
{% if beneficiaire.listeAt.at1 %}<li><label> Accident du travail:</label> {{ beneficiaire.listeAt.at1.orgGestion }} {{ beneficiaire.listeAt.at1.codeBudget }} {{ beneficiaire.listeAt.at1.identifiant }}</li>{% endif %}
{% if beneficiaire.listeAt.at2 %}<li><label> Accident du travail:</label> {{ beneficiaire.listeAt.at2.orgGestion }} {{ beneficiaire.listeAt.at2.codeBudget }} {{ beneficiaire.listeAt.at3.identifiant }}</li>{% endif %}
{% if beneficiaire.listeAt.at3 %}<li><label> Accident du travail:</label> {{ beneficiaire.listeAt.at3.orgGestion }} {{ beneficiaire.listeAt.at3.codeBudget }} {{ beneficiaire.listeAt.at3.identifiant }}</li>{% endif %}
<br/>
{% endif %}
</ul>
</span></div>
{% endfor %}</p>
{% else %}
<p>Aucune carte vitale lue.</p>
{% endif %}

View File

@ -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:

View File

@ -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;
}

View File

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