Projet

Général

Profil

Télécharger (23,4 ko) Statistiques
| Branche: | Tag: | Révision:

calebasse / calebasse / dossiers / migrations / 0001_initial.py @ 017f4158

1
# -*- coding: utf-8 -*-
2
from __future__ import unicode_literals
3

    
4
from django.db import models, migrations
5
import calebasse.models
6
import django.db.models.deletion
7
from django.conf import settings
8
import django.core.validators
9

    
10

    
11
class Migration(migrations.Migration):
12

    
13
    dependencies = [
14
        ('ressources', '0001_initial'),
15
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
16
        ('personnes', '0001_initial'),
17
    ]
18

    
19
    operations = [
20
        migrations.CreateModel(
21
            name='FileState',
22
            fields=[
23
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
24
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Cr\xe9ation')),
25
                ('date_selected', models.DateTimeField()),
26
                ('comment', models.TextField(max_length=3000, null=True, blank=True)),
27
                ('author', models.ForeignKey(verbose_name='Auteur', to=settings.AUTH_USER_MODEL)),
28
            ],
29
            options={
30
                'verbose_name': 'Etat du dossier patient',
31
                'verbose_name_plural': 'Etats du dossier patient',
32
            },
33
            bases=(models.Model,),
34
        ),
35
        migrations.CreateModel(
36
            name='HealthCare',
37
            fields=[
38
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
39
                ('start_date', models.DateField(verbose_name='Date de d\xe9but')),
40
                ('request_date', models.DateField(null=True, verbose_name='Date de demande', blank=True)),
41
                ('agree_date', models.DateField(null=True, verbose_name="Date d'accord", blank=True)),
42
                ('insist_date', models.DateField(null=True, verbose_name='Date de relance', blank=True)),
43
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Cr\xe9ation')),
44
                ('comment', models.TextField(max_length=3000, null=True, verbose_name='Commentaire', blank=True)),
45
            ],
46
            options={
47
            },
48
            bases=(models.Model,),
49
        ),
50
        migrations.CreateModel(
51
            name='CmppHealthCareTreatment',
52
            fields=[
53
                ('healthcare_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='dossiers.HealthCare')),
54
                ('act_number', models.IntegerField(default=30, verbose_name="Nombre d'actes couverts")),
55
                ('end_date', models.DateField(null=True, verbose_name='Date de fin', blank=True)),
56
                ('prolongation', models.IntegerField(default=0, verbose_name='Prolongation')),
57
                ('prolongation_date', models.DateField(null=True, verbose_name='Date de prolongation', blank=True)),
58
            ],
59
            options={
60
            },
61
            bases=('dossiers.healthcare',),
62
        ),
63
        migrations.CreateModel(
64
            name='CmppHealthCareDiagnostic',
65
            fields=[
66
                ('healthcare_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='dossiers.HealthCare')),
67
                ('act_number', models.IntegerField(default=6, verbose_name="Nombre d'actes couverts")),
68
                ('end_date', models.DateField(null=True, verbose_name='Date de fin', blank=True)),
69
            ],
70
            options={
71
            },
72
            bases=('dossiers.healthcare',),
73
        ),
74
        migrations.CreateModel(
75
            name='PatientAddress',
76
            fields=[
77
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
78
                ('display_name', models.CharField(verbose_name='Adresse compl\xe8te', max_length=276, editable=False)),
79
                ('phone', calebasse.models.PhoneNumberField(max_length=20, null=True, verbose_name='T\xe9l\xe9phone', blank=True)),
80
                ('fax', calebasse.models.PhoneNumberField(max_length=20, null=True, verbose_name='Fax', blank=True)),
81
                ('place_of_life', models.BooleanField(default=True, verbose_name='Lieu de vie')),
82
                ('number', models.CharField(max_length=12, null=True, verbose_name='Num\xe9ro', blank=True)),
83
                ('recipient', models.CharField(max_length=100, null=True, verbose_name='Destinataire', blank=True)),
84
                ('street', models.CharField(max_length=100, null=True, verbose_name='Rue', blank=True)),
85
                ('address_complement', models.CharField(max_length=100, null=True, verbose_name="Compl\xe9ment d'adresse", blank=True)),
86
                ('zip_code', calebasse.models.ZipCodeField(max_length=5, null=True, verbose_name='Code postal', blank=True)),
87
                ('city', models.CharField(max_length=60, null=True, verbose_name='Ville', blank=True)),
88
                ('comment', models.TextField(null=True, verbose_name='Commentaire', blank=True)),
89
            ],
90
            options={
91
            },
92
            bases=(models.Model,),
93
        ),
94
        migrations.CreateModel(
95
            name='PatientContact',
96
            fields=[
97
                ('people_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='personnes.People')),
98
                ('mobile', calebasse.models.PhoneNumberField(max_length=20, null=True, verbose_name='T\xe9l\xe9phone mobile', blank=True)),
99
                ('social_security_id', models.CharField(max_length=13, null=True, verbose_name='NIR', blank=True)),
100
                ('birthdate', models.DateField(null=True, verbose_name='Date de naissance', blank=True)),
101
                ('birthplace', models.CharField(max_length=100, null=True, verbose_name='Lieu de naissance', blank=True)),
102
                ('twinning_rank', models.IntegerField(default=1, verbose_name='Rang (g\xe9mellit\xe9)', validators=[django.core.validators.MinValueValidator(1)])),
103
                ('thirdparty_payer', models.BooleanField(default=False, verbose_name='Tiers-payant')),
104
                ('begin_rights', models.DateField(null=True, verbose_name='D\xe9but de droits', blank=True)),
105
                ('end_rights', models.DateField(null=True, verbose_name='Fin de droits', blank=True)),
106
                ('other_health_center', models.CharField(max_length=4, null=True, verbose_name='Centre sp\xe9cifique', blank=True)),
107
                ('type_of_contract', models.CharField(blank=True, max_length=2, null=True, verbose_name='Type de contrat sp\xe9cifique', choices=[(b'89', b'CMU - Couverture maladie universelle'), (b'04', b"AME - Aide m\xc3\xa9dicale d'\xc3\x89tat")])),
108
                ('ame', models.BooleanField(default=False, verbose_name='AME')),
109
                ('contact_comment', models.TextField(null=True, verbose_name='Commentaire', blank=True)),
110
                ('old_contact_id', models.CharField(max_length=256, null=True, verbose_name='Ancien ID du contact', blank=True)),
111
            ],
112
            options={
113
                'verbose_name': 'Contact patient',
114
                'verbose_name_plural': 'Contacts patient',
115
            },
116
            bases=('personnes.people',),
117
        ),
118
        migrations.CreateModel(
119
            name='PatientRecord',
120
            fields=[
121
                ('patientcontact_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='dossiers.PatientContact')),
122
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='cr\xe9ation')),
123
                ('nationality', models.CharField(max_length=70, null=True, verbose_name='Nationalit\xe9', blank=True)),
124
                ('paper_id', models.CharField(max_length=6, null=True, verbose_name='N\xb0 dossier papier', blank=True)),
125
                ('comment', models.TextField(default=None, null=True, verbose_name='Commentaire', blank=True)),
126
                ('pause', models.BooleanField(default=False, verbose_name='Pause facturation')),
127
                ('pause_comment', models.TextField(default=None, null=True, verbose_name='Commentaire sur la pause facturation', blank=True)),
128
                ('confidential', models.BooleanField(default=False, verbose_name='Confidentiel')),
129
                ('addresses_contacts_comment', models.TextField(default=None, null=True, verbose_name='Commentaire sur les adresses et contacts', blank=True)),
130
                ('size', models.DecimalField(decimal_places=1, default=None, max_digits=5, blank=True, null=True, verbose_name='Taille (cm)')),
131
                ('weight', models.IntegerField(default=None, null=True, verbose_name='Poids (g)', blank=True)),
132
                ('pregnancy_term', models.IntegerField(default=None, null=True, verbose_name='Terme en semaines', blank=True)),
133
                ('cranium_perimeter', models.DecimalField(decimal_places=2, default=None, max_digits=5, blank=True, null=True, verbose_name='P\xe9rim\xe8tre cranien')),
134
                ('chest_perimeter', models.DecimalField(decimal_places=2, default=None, max_digits=5, blank=True, null=True, verbose_name='P\xe9rim\xe8tre thoracique')),
135
                ('apgar_score_one', models.IntegerField(default=None, null=True, verbose_name="Test d'Apgar (1)", blank=True)),
136
                ('apgar_score_two', models.IntegerField(default=None, null=True, verbose_name="Test d'Apgar (5)", blank=True)),
137
                ('deficiency_intellectual', models.IntegerField(default=0, max_length=1, verbose_name='D\xe9ficiences intellectuelles', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
138
                ('deficiency_autism_and_other_ted', models.IntegerField(default=0, max_length=1, verbose_name='Autisme et autres TED', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
139
                ('deficiency_mental_disorder', models.IntegerField(default=0, max_length=1, verbose_name='Troubles psychiques', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
140
                ('deficiency_learning_disorder', models.IntegerField(default=0, max_length=1, verbose_name='Troubles du langage et des apprentissages', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
141
                ('deficiency_auditory', models.IntegerField(default=0, max_length=1, verbose_name='D\xe9ficiences auditives', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
142
                ('deficiency_visual', models.IntegerField(default=0, max_length=1, verbose_name='D\xe9ficiences visuelles', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
143
                ('deficiency_motor', models.IntegerField(default=0, max_length=1, verbose_name='D\xe9ficiences motrices', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
144
                ('deficiency_metabolic_disorder', models.IntegerField(default=0, max_length=1, verbose_name='D\xe9ficiences m\xe9taboliques', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
145
                ('deficiency_brain_damage', models.IntegerField(default=0, max_length=1, verbose_name='C\xe9r\xe9bro-l\xe9sions', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
146
                ('deficiency_polyhandicap', models.BooleanField(default=False, verbose_name='Polyhandicap')),
147
                ('deficiency_behavioral_disorder', models.IntegerField(default=0, max_length=1, verbose_name='Troubles de la conduite et du comportement', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
148
                ('deficiency_in_diagnostic', models.BooleanField(default=False, verbose_name='En diagnostic')),
149
                ('deficiency_other_disorder', models.IntegerField(default=0, max_length=1, verbose_name='Autres types de d\xe9ficience', choices=[(0, b'Non'), (1, b'A titre principal'), (2, b'A titre associ\xc3\xa9')])),
150
                ('sibship_place', models.IntegerField(default=None, null=True, verbose_name='Place dans la fratrie', blank=True)),
151
                ('nb_children_family', models.IntegerField(default=None, null=True, verbose_name="Nombre d'enfants dans la fratrie", blank=True)),
152
                ('family_comment', models.TextField(default=None, null=True, verbose_name='Commentaire', blank=True)),
153
                ('simple_appointment_transport', models.BooleanField(default=False, verbose_name='Afficher par d\xe9faut le transport sur les rendez-vous simples')),
154
                ('periodic_appointment_transport', models.BooleanField(default=False, verbose_name='Afficher par d\xe9faut le transport sur les rendez-vous r\xe9guliers')),
155
                ('old_id', models.CharField(max_length=256, null=True, verbose_name='Ancien ID', blank=True)),
156
                ('old_old_id', models.CharField(max_length=256, null=True, verbose_name='Ancien ancien ID', blank=True)),
157
                ('advicegiver', models.ForeignKey(default=None, blank=True, to='ressources.AdviceGiver', null=True, verbose_name='Demandeur')),
158
                ('analysemotive', models.ForeignKey(default=None, blank=True, to='ressources.AnalyseMotive', null=True, verbose_name='Motif (analys\xe9)')),
159
                ('child_custody', models.ForeignKey(default=None, blank=True, to='ressources.ParentalCustodyType', null=True, verbose_name='Garde parentale')),
160
                ('contacts', models.ManyToManyField(related_name='contact_of', to='dossiers.PatientContact')),
161
                ('coordinators', models.ManyToManyField(default=None, to='personnes.Worker', null=True, verbose_name='Coordinateurs', blank=True)),
162
                ('creator', models.ForeignKey(verbose_name='Cr\xe9ateur dossier patient', to=settings.AUTH_USER_MODEL)),
163
                ('externaldoctor', models.ForeignKey(default=None, blank=True, to='personnes.ExternalTherapist', null=True, verbose_name='M\xe9decin ext\xe9rieur')),
164
                ('externalintervener', models.ForeignKey(default=None, blank=True, to='personnes.ExternalWorker', null=True, verbose_name='Intervenant ext\xe9rieur')),
165
                ('family_situation', models.ForeignKey(default=None, blank=True, to='ressources.FamilySituationType', null=True, verbose_name='Situation familiale')),
166
                ('familymotive', models.ForeignKey(default=None, blank=True, to='ressources.FamilyMotive', null=True, verbose_name='Motif (famille)')),
167
                ('job_father', models.ForeignKey(related_name='job_father', default=None, blank=True, to='ressources.Job', null=True, verbose_name='Profession du p\xe8re')),
168
                ('job_mother', models.ForeignKey(related_name='job_mother', default=None, blank=True, to='ressources.Job', null=True, verbose_name='Profession de la m\xe8re')),
169
                ('last_state', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, to='dossiers.FileState', null=True)),
170
                ('mdph_requests', models.ManyToManyField(related_name='mdph_requests_of', to='ressources.MDPHRequest')),
171
                ('mdph_responses', models.ManyToManyField(related_name='mdph_responses_of', to='ressources.MDPHResponse')),
172
                ('mises_1', models.ManyToManyField(related_name='mises1', default=None, to='ressources.CodeCFTMEA', blank=True, null=True, verbose_name='Axe I : cat\xe9gories cliniques')),
173
                ('mises_2', models.ManyToManyField(related_name='mises2', default=None, to='ressources.CodeCFTMEA', blank=True, null=True, verbose_name='Axe II : facteurs organiques')),
174
                ('mises_3', models.ManyToManyField(related_name='mises3', default=None, to='ressources.CodeCFTMEA', blank=True, null=True, verbose_name='Axe II : facteurs environnementaux')),
175
                ('outmotive', models.ForeignKey(default=None, blank=True, to='ressources.OutMotive', null=True, verbose_name='Motif de sortie')),
176
                ('outto', models.ForeignKey(default=None, blank=True, to='ressources.OutTo', null=True, verbose_name='Orientation')),
177
                ('parental_authority', models.ForeignKey(default=None, blank=True, to='ressources.ParentalAuthorityType', null=True, verbose_name='Autorit\xe9 parentale')),
178
                ('policyholder', models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name=b'Assur\xc3\xa9', blank=True, to='dossiers.PatientContact', null=True)),
179
                ('provenance', models.ForeignKey(default=None, blank=True, to='ressources.Provenance', null=True, verbose_name='Conseilleur')),
180
                ('provenanceplace', models.ForeignKey(default=None, blank=True, to='ressources.ProvenancePlace', null=True, verbose_name='Lieu de provenance')),
181
                ('rm_father', models.ForeignKey(related_name='rm_father', default=None, blank=True, to='ressources.MaritalStatusType', null=True, verbose_name='R\xe9gime matrimonial du p\xe8re')),
182
                ('rm_mother', models.ForeignKey(related_name='rm_mother', default=None, blank=True, to='ressources.MaritalStatusType', null=True, verbose_name='R\xe9gime matrimonial de la m\xe8re')),
183
                ('service', models.ForeignKey(blank=True, to='ressources.Service', null=True)),
184
                ('socialisation_durations', models.ManyToManyField(related_name='socialisation_duration_of', to='ressources.SocialisationDuration')),
185
                ('transportcompany', models.ForeignKey(default=None, blank=True, to='ressources.TransportCompany', null=True, verbose_name='Compagnie de transport')),
186
                ('transporttype', models.ForeignKey(default=None, blank=True, to='ressources.TransportType', null=True, verbose_name='Type de transport')),
187
            ],
188
            options={
189
                'verbose_name': 'Dossier',
190
                'verbose_name_plural': 'Dossiers',
191
            },
192
            bases=('dossiers.patientcontact', models.Model),
193
        ),
194
        migrations.CreateModel(
195
            name='ProtectionState',
196
            fields=[
197
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
198
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Cr\xe9ation')),
199
                ('start_date', models.DateTimeField()),
200
                ('end_date', models.DateTimeField(null=True, blank=True)),
201
                ('comment', models.TextField(max_length=3000, null=True, blank=True)),
202
                ('patient', models.ForeignKey(verbose_name='Dossier patient', to='dossiers.PatientRecord')),
203
            ],
204
            options={
205
                'ordering': ['-start_date'],
206
                'verbose_name': 'Mesure de protection du dossier patient',
207
                'verbose_name_plural': 'Mesure de protections du dossier patient',
208
            },
209
            bases=(models.Model,),
210
        ),
211
        migrations.CreateModel(
212
            name='ProtectionStatus',
213
            fields=[
214
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
215
                ('name', models.CharField(max_length=150, verbose_name='Nom')),
216
            ],
217
            options={
218
                'verbose_name': "Statut d'une mesure de protection",
219
                'verbose_name_plural': "Statuts d'une mesure de protection",
220
            },
221
            bases=(models.Model,),
222
        ),
223
        migrations.CreateModel(
224
            name='SessadHealthCareNotification',
225
            fields=[
226
                ('healthcare_ptr', models.OneToOneField(parent_link=True, auto_created=True, primary_key=True, serialize=False, to='dossiers.HealthCare')),
227
                ('end_date', models.DateField(null=True, verbose_name='Date de fin', blank=True)),
228
            ],
229
            options={
230
            },
231
            bases=('dossiers.healthcare',),
232
        ),
233
        migrations.CreateModel(
234
            name='Status',
235
            fields=[
236
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
237
                ('name', models.CharField(max_length=150, verbose_name='Nom')),
238
                ('type', models.CharField(max_length=80)),
239
                ('services', models.ManyToManyField(to='ressources.Service')),
240
            ],
241
            options={
242
                'verbose_name': "Statut d'un \xe9tat",
243
                'verbose_name_plural': "Statuts d'un \xe9tat",
244
            },
245
            bases=(models.Model,),
246
        ),
247
        migrations.CreateModel(
248
            name='TransportPrescriptionLog',
249
            fields=[
250
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
251
                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Cr\xe9ation')),
252
                ('choices', models.CharField(max_length=4096, null=True, blank=True)),
253
                ('patient', models.ForeignKey(verbose_name='Dossier patient', to='dossiers.PatientRecord')),
254
            ],
255
            options={
256
            },
257
            bases=(models.Model,),
258
        ),
259
        migrations.AddField(
260
            model_name='protectionstate',
261
            name='status',
262
            field=models.ForeignKey(verbose_name='Statut de protection', to='dossiers.ProtectionStatus'),
263
            preserve_default=True,
264
        ),
265
        migrations.AddField(
266
            model_name='patientcontact',
267
            name='addresses',
268
            field=models.ManyToManyField(to='dossiers.PatientAddress', verbose_name='Adresses'),
269
            preserve_default=True,
270
        ),
271
        migrations.AddField(
272
            model_name='patientcontact',
273
            name='health_center',
274
            field=models.ForeignKey(verbose_name="Centre d'assurance maladie", blank=True, to='ressources.HealthCenter', null=True),
275
            preserve_default=True,
276
        ),
277
        migrations.AddField(
278
            model_name='patientcontact',
279
            name='job',
280
            field=models.ForeignKey(related_name='job', default=None, blank=True, to='ressources.Job', null=True, verbose_name='Profession'),
281
            preserve_default=True,
282
        ),
283
        migrations.AddField(
284
            model_name='patientcontact',
285
            name='management_code',
286
            field=models.ForeignKey(verbose_name='Code de gestion', blank=True, to='ressources.ManagementCode', null=True),
287
            preserve_default=True,
288
        ),
289
        migrations.AddField(
290
            model_name='patientcontact',
291
            name='parente',
292
            field=models.ForeignKey(default=None, blank=True, to='ressources.PatientRelatedLink', null=True, verbose_name='Lien avec le patient (Parent\xe9)'),
293
            preserve_default=True,
294
        ),
295
        migrations.AddField(
296
            model_name='healthcare',
297
            name='author',
298
            field=models.ForeignKey(verbose_name='Auteur', blank=True, to=settings.AUTH_USER_MODEL, null=True),
299
            preserve_default=True,
300
        ),
301
        migrations.AddField(
302
            model_name='healthcare',
303
            name='patient',
304
            field=models.ForeignKey(verbose_name='Dossier patient', to='dossiers.PatientRecord'),
305
            preserve_default=True,
306
        ),
307
        migrations.AddField(
308
            model_name='filestate',
309
            name='patient',
310
            field=models.ForeignKey(verbose_name='Dossier patient', to='dossiers.PatientRecord'),
311
            preserve_default=True,
312
        ),
313
        migrations.AddField(
314
            model_name='filestate',
315
            name='previous_state',
316
            field=models.ForeignKey(on_delete=django.db.models.deletion.SET_NULL, verbose_name='Etat pr\xe9c\xe9dent', blank=True, to='dossiers.FileState', null=True),
317
            preserve_default=True,
318
        ),
319
        migrations.AddField(
320
            model_name='filestate',
321
            name='status',
322
            field=models.ForeignKey(verbose_name='Statut', to='dossiers.Status'),
323
            preserve_default=True,
324
        ),
325
    ]
(1-1/2)