From 5bb26bf4156e1a2b8c350828ecdf636d53603ea2 Mon Sep 17 00:00:00 2001 From: Fred Date: Thu, 16 Nov 2017 22:21:58 +0100 Subject: [PATCH] update db --- config/settings.py | 3 +- config/urls.py | 2 +- db.sqlite3 | Bin 610304 -> 569344 bytes {evolus => dms}/__init__.py | 0 {evolus => dms}/admin.py | 2 +- {evolus => dms}/apps.py | 2 +- {evolus => dms}/filters.py | 2 +- {evolus => dms}/migrations/0001_initial.py | 141 ++++++++---------- {evolus => dms}/migrations/__init__.py | 0 {evolus => dms}/models.py | 3 +- {evolus => dms}/templatetags/__init__.py | 0 .../templatetags/document_versions.py | 0 {evolus => dms}/tests.py | 0 {evolus => dms}/urls.py | 2 +- {evolus => dms}/views.py | 0 docs/.~lock.ecm-gedoc-di-nursing-public.csv# | 1 + evolus/migrations/0002_auto_20170920_1900.py | 21 --- evolus/migrations/0003_auto_20170921_1839.py | 62 -------- .../0004_documenttype_description.py | 20 --- evolus/migrations/0005_auto_20171024_1105.py | 20 --- evolus/migrations/0006_auto_20171025_0958.py | 48 ------ evolus/migrations/0007_keyword_parent.py | 21 --- evolus/migrations/0008_auto_20171026_1555.py | 27 ---- evolus/migrations/0009_auto_20171027_1346.py | 63 -------- evolus/migrations/0010_auto_20171027_1351.py | 32 ---- evolus/migrations/0011_auto_20171027_1512.py | 34 ----- evolus/migrations/0012_audience_group.py | 23 --- evolus/migrations/0013_auto_20171027_2032.py | 47 ------ evolus/migrations/0014_auto_20171027_2055.py | 31 ---- evolus/migrations/0015_version_restricted.py | 20 --- evolus/migrations/0016_auto_20171030_1528.py | 74 --------- fixtures/jci.json | 2 +- process/admin.py | 3 +- process/migrations/0001_initial.py | 25 ++-- process/migrations/0002_auto_20170921_1847.py | 22 --- process/migrations/0003_auto_20170921_1855.py | 27 ---- .../0004_remove_process_process_type.py | 19 --- process/migrations/0005_process_created_at.py | 22 --- process/models.py | 28 +++- requirements/base.txt | 1 + revisions/a_acheter.md | 3 + 41 files changed, 113 insertions(+), 740 deletions(-) rename {evolus => dms}/__init__.py (100%) rename {evolus => dms}/admin.py (92%) rename {evolus => dms}/apps.py (77%) rename {evolus => dms}/filters.py (91%) rename {evolus => dms}/migrations/0001_initial.py (60%) rename {evolus => dms}/migrations/__init__.py (100%) rename {evolus => dms}/models.py (97%) rename {evolus => dms}/templatetags/__init__.py (100%) rename {evolus => dms}/templatetags/document_versions.py (100%) rename {evolus => dms}/tests.py (100%) rename {evolus => dms}/urls.py (75%) rename {evolus => dms}/views.py (100%) create mode 100644 docs/.~lock.ecm-gedoc-di-nursing-public.csv# delete mode 100644 evolus/migrations/0002_auto_20170920_1900.py delete mode 100644 evolus/migrations/0003_auto_20170921_1839.py delete mode 100644 evolus/migrations/0004_documenttype_description.py delete mode 100644 evolus/migrations/0005_auto_20171024_1105.py delete mode 100644 evolus/migrations/0006_auto_20171025_0958.py delete mode 100644 evolus/migrations/0007_keyword_parent.py delete mode 100644 evolus/migrations/0008_auto_20171026_1555.py delete mode 100644 evolus/migrations/0009_auto_20171027_1346.py delete mode 100644 evolus/migrations/0010_auto_20171027_1351.py delete mode 100644 evolus/migrations/0011_auto_20171027_1512.py delete mode 100644 evolus/migrations/0012_audience_group.py delete mode 100644 evolus/migrations/0013_auto_20171027_2032.py delete mode 100644 evolus/migrations/0014_auto_20171027_2055.py delete mode 100644 evolus/migrations/0015_version_restricted.py delete mode 100644 evolus/migrations/0016_auto_20171030_1528.py delete mode 100644 process/migrations/0002_auto_20170921_1847.py delete mode 100644 process/migrations/0003_auto_20170921_1855.py delete mode 100644 process/migrations/0004_remove_process_process_type.py delete mode 100644 process/migrations/0005_process_created_at.py create mode 100644 revisions/a_acheter.md diff --git a/config/settings.py b/config/settings.py index cb1a305..4a283df 100644 --- a/config/settings.py +++ b/config/settings.py @@ -37,10 +37,11 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'evolus', + 'dms', 'jci', 'reversion', 'process', + 'mptt', ] MIDDLEWARE = [ diff --git a/config/urls.py b/config/urls.py index 551ff69..213df4a 100644 --- a/config/urls.py +++ b/config/urls.py @@ -19,7 +19,7 @@ from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), - url(r'^docs/', include('evolus.urls')), + url(r'^docs/', include('dms.urls')), url(r'^jci/', include('jci.urls')), url(r'^p/', include('process.urls')), ] diff --git a/db.sqlite3 b/db.sqlite3 index 33015cbb9d76b8dd78d6d3ca3fb783b4230ea96f..8ee4456a5d1b81ad3d6fad56fb1ed2fec13a40a5 100644 GIT binary patch delta 24257 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 X#*=$j>TiP@j-LD$y$eG=3y}X0=>YDB literal 610304 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໯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 anuvO>R(liOKPb#f{XdikETH;e>Hh#xoz=bo diff --git a/evolus/__init__.py b/dms/__init__.py similarity index 100% rename from evolus/__init__.py rename to dms/__init__.py diff --git a/evolus/admin.py b/dms/admin.py similarity index 92% rename from evolus/admin.py rename to dms/admin.py index bcdf9ec..2225381 100644 --- a/evolus/admin.py +++ b/dms/admin.py @@ -18,5 +18,5 @@ admin.site.register(Site) admin.site.register(Node) admin.site.register(Document, DocumentAdmin) admin.site.register(DocumentType, DocumentTypeAdmin) -admin.site.register(Version, VersionAdmin) +admin.site.register(Version) admin.site.register(Keyword) diff --git a/evolus/apps.py b/dms/apps.py similarity index 77% rename from evolus/apps.py rename to dms/apps.py index a82c9ad..ba08948 100644 --- a/evolus/apps.py +++ b/dms/apps.py @@ -2,4 +2,4 @@ from django.apps import AppConfig class EvolusConfig(AppConfig): - name = 'evolus' + name = 'dms' diff --git a/evolus/filters.py b/dms/filters.py similarity index 91% rename from evolus/filters.py rename to dms/filters.py index 078bfb1..4592743 100644 --- a/evolus/filters.py +++ b/dms/filters.py @@ -1,7 +1,7 @@ from django import forms import django_filters -from evolus.models import Audience, Version, Site, Node +from dms.models import Audience, Version, Site, Node class VersionFilter(django_filters.FilterSet): diff --git a/evolus/migrations/0001_initial.py b/dms/migrations/0001_initial.py similarity index 60% rename from evolus/migrations/0001_initial.py rename to dms/migrations/0001_initial.py index c4dfca9..8f528ae 100644 --- a/evolus/migrations/0001_initial.py +++ b/dms/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-20 18:56 +# Generated by Django 1.11.5 on 2017-11-16 20:47 from __future__ import unicode_literals from django.conf import settings @@ -12,8 +12,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ + ('auth', '0008_alter_user_username_max_length'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('jci', '0014_auto_20170920_1436'), ] operations = [ @@ -22,7 +22,8 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50)), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='evolus.Audience')), + ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Group')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='dms.Audience')), ], options={ 'ordering': ('name',), @@ -33,11 +34,11 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('depth', models.IntegerField()), - ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='audienceclosure_parents', to='evolus.Audience')), - ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='audienceclosure_children', to='evolus.Audience')), + ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='audienceclosure_parents', to='dms.Audience')), + ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='audienceclosure_children', to='dms.Audience')), ], options={ - 'db_table': 'evolus_audienceclosure', + 'db_table': 'dms_audienceclosure', }, ), migrations.CreateModel( @@ -47,8 +48,7 @@ class Migration(migrations.Migration): ('title', models.CharField(max_length=255)), ('overview', models.TextField(blank=True, null=True)), ('created_at', models.DateTimeField(auto_now_add=True)), - ('revised_at', models.DateTimeField(blank=True, null=True)), - ('audiences', models.ManyToManyField(to='evolus.Audience')), + ('manager', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( @@ -58,42 +58,60 @@ class Migration(migrations.Migration): ('name', models.CharField(max_length=50)), ('level', models.IntegerField()), ('template', models.FileField(blank=True, null=True, upload_to='documents_templates/')), + ('description', models.TextField(blank=True, max_length=255)), ], options={ 'ordering': ['level'], }, ), migrations.CreateModel( - name='HistoricalDocument', + name='Keyword', fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('title', models.CharField(max_length=255)), - ('overview', models.TextField(blank=True, null=True)), - ('created_at', models.DateTimeField(blank=True, editable=False)), - ('revised_at', models.DateTimeField(blank=True, null=True)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_date', models.DateTimeField()), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ('type', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='evolus.DocumentType')), + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('selectable', models.BooleanField(default=True)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='dms.Keyword')), ], options={ - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - 'verbose_name': 'historical document', + 'abstract': False, }, ), migrations.CreateModel( - name='Revision', + name='KeywordClosure', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('revision', models.FileField(upload_to='revisions/')), - ('created_at', models.DateTimeField(auto_now_add=True)), - ('minor', models.PositiveIntegerField()), + ('depth', models.IntegerField()), + ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='keywordclosure_parents', to='dms.Keyword')), + ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='keywordclosure_children', to='dms.Keyword')), ], options={ - 'ordering': ('-minor',), + 'db_table': 'dms_keywordclosure', + }, + ), + migrations.CreateModel( + name='Node', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50)), + ('acronym', models.CharField(blank=True, max_length=20, null=True)), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='dms.Node')), + ], + options={ + 'abstract': False, + }, + ), + migrations.CreateModel( + name='NodeClosure', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('depth', models.IntegerField()), + ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='nodeclosure_parents', to='dms.Node')), + ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='nodeclosure_children', to='dms.Node')), + ], + options={ + 'db_table': 'dms_nodeclosure', }, ), migrations.CreateModel( @@ -106,70 +124,41 @@ class Migration(migrations.Migration): 'ordering': ['name'], }, ), - migrations.CreateModel( - name='Structure', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=50)), - ('acronym', models.CharField(blank=True, max_length=20, null=True)), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='evolus.Structure')), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='StructureClosure', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('depth', models.IntegerField()), - ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='structureclosure_parents', to='evolus.Structure')), - ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='structureclosure_children', to='evolus.Structure')), - ], - options={ - 'db_table': 'evolus_structureclosure', - }, - ), migrations.CreateModel( name='Version', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.FileField(upload_to='revisions/')), ('major', models.PositiveIntegerField()), - ('document', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='evolus.Document')), - ('published', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='published_version+', to='evolus.Revision')), + ('revision', models.PositiveIntegerField()), + ('is_published', models.BooleanField(default=False)), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('restricted', models.BooleanField(default=False)), + ('audiences', models.ManyToManyField(blank=True, related_name='versions', to='dms.Audience')), + ('authors', models.ManyToManyField(related_name='versions_as_author', to=settings.AUTH_USER_MODEL)), + ('document', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='dms.Document')), + ('keywords', models.ManyToManyField(blank=True, related_name='versions', to='dms.Keyword')), + ('nodes', models.ManyToManyField(blank=True, to='dms.Node')), + ('reviewers', models.ManyToManyField(related_name='versions_as_reviewer', to=settings.AUTH_USER_MODEL)), + ('sites', models.ManyToManyField(blank=True, to='dms.Site')), + ('validators', models.ManyToManyField(related_name='versions_as_validator', to=settings.AUTH_USER_MODEL)), ], ), - migrations.AddField( - model_name='revision', - name='version', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='revisions', to='evolus.Version'), - ), - migrations.AddField( - model_name='document', - name='sites', - field=models.ManyToManyField(to='evolus.Site'), - ), - migrations.AddField( - model_name='document', - name='standards', - field=models.ManyToManyField(related_name='documents', to='jci.Standard'), - ), - migrations.AddField( - model_name='document', - name='structures', - field=models.ManyToManyField(to='evolus.Structure'), - ), migrations.AddField( model_name='document', name='type', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='evolus.DocumentType'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='dms.DocumentType'), ), migrations.AlterUniqueTogether( name='version', unique_together=set([('document', 'major')]), ), migrations.AlterUniqueTogether( - name='structureclosure', + name='nodeclosure', + unique_together=set([('parent', 'child')]), + ), + migrations.AlterUniqueTogether( + name='keywordclosure', unique_together=set([('parent', 'child')]), ), migrations.AlterUniqueTogether( diff --git a/evolus/migrations/__init__.py b/dms/migrations/__init__.py similarity index 100% rename from evolus/migrations/__init__.py rename to dms/migrations/__init__.py diff --git a/evolus/models.py b/dms/models.py similarity index 97% rename from evolus/models.py rename to dms/models.py index b2b136c..61b95bf 100644 --- a/evolus/models.py +++ b/dms/models.py @@ -135,6 +135,7 @@ class Document(models.Model): @reversion.create_revision() def save(self, *args, **kwargs): + # todo : should create a default version based on the document type template. super().save() def __str__(self): @@ -236,4 +237,4 @@ class Version(models.Model): return 'Published' if self.is_published else 'Draft' def __str__(self): - return 'v{}.{} ({})'.format(self.major, self.revision, self.status) + return '{} v{}.{} ({})'.format(self.document, self.major, self.revision, self.status) diff --git a/evolus/templatetags/__init__.py b/dms/templatetags/__init__.py similarity index 100% rename from evolus/templatetags/__init__.py rename to dms/templatetags/__init__.py diff --git a/evolus/templatetags/document_versions.py b/dms/templatetags/document_versions.py similarity index 100% rename from evolus/templatetags/document_versions.py rename to dms/templatetags/document_versions.py diff --git a/evolus/tests.py b/dms/tests.py similarity index 100% rename from evolus/tests.py rename to dms/tests.py diff --git a/evolus/urls.py b/dms/urls.py similarity index 75% rename from evolus/urls.py rename to dms/urls.py index 2f81dbf..d040604 100644 --- a/evolus/urls.py +++ b/dms/urls.py @@ -1,6 +1,6 @@ from django.conf.urls import url -from evolus.views import document_details, filter_documents +from dms.views import document_details, filter_documents urlpatterns = [ diff --git a/evolus/views.py b/dms/views.py similarity index 100% rename from evolus/views.py rename to dms/views.py diff --git a/docs/.~lock.ecm-gedoc-di-nursing-public.csv# b/docs/.~lock.ecm-gedoc-di-nursing-public.csv# new file mode 100644 index 0000000..d8e79ec --- /dev/null +++ b/docs/.~lock.ecm-gedoc-di-nursing-public.csv# @@ -0,0 +1 @@ +Fred Pauchet,fred,quistis,16.11.2017 22:06,file:///home/fred/.config/libreoffice/4; \ No newline at end of file diff --git a/evolus/migrations/0002_auto_20170920_1900.py b/evolus/migrations/0002_auto_20170920_1900.py deleted file mode 100644 index bbe9cbf..0000000 --- a/evolus/migrations/0002_auto_20170920_1900.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-20 19:00 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='version', - name='published', - field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='published_version+', to='evolus.Revision'), - ), - ] diff --git a/evolus/migrations/0003_auto_20170921_1839.py b/evolus/migrations/0003_auto_20170921_1839.py deleted file mode 100644 index 1373440..0000000 --- a/evolus/migrations/0003_auto_20170921_1839.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-21 18:39 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('evolus', '0002_auto_20170920_1900'), - ] - - operations = [ - migrations.RemoveField( - model_name='document', - name='revised_at', - ), - migrations.RemoveField( - model_name='historicaldocument', - name='revised_at', - ), - migrations.AddField( - model_name='document', - name='manager', - field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - preserve_default=False, - ), - migrations.AddField( - model_name='historicaldocument', - name='manager', - field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL), - ), - migrations.AddField( - model_name='version', - name='authors', - field=models.ManyToManyField(related_name='authors', to=settings.AUTH_USER_MODEL), - ), - migrations.AddField( - model_name='version', - name='reviewers', - field=models.ManyToManyField(related_name='reviewers', to=settings.AUTH_USER_MODEL), - ), - migrations.AddField( - model_name='version', - name='revised_at', - field=models.DateTimeField(blank=True, null=True), - ), - migrations.AddField( - model_name='version', - name='validators', - field=models.ManyToManyField(related_name='validators', to=settings.AUTH_USER_MODEL), - ), - migrations.AlterField( - model_name='version', - name='document', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='evolus.Document'), - ), - ] diff --git a/evolus/migrations/0004_documenttype_description.py b/evolus/migrations/0004_documenttype_description.py deleted file mode 100644 index 231c87a..0000000 --- a/evolus/migrations/0004_documenttype_description.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-24 09:02 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0003_auto_20170921_1839'), - ] - - operations = [ - migrations.AddField( - model_name='documenttype', - name='description', - field=models.CharField(blank=True, max_length=255), - ), - ] diff --git a/evolus/migrations/0005_auto_20171024_1105.py b/evolus/migrations/0005_auto_20171024_1105.py deleted file mode 100644 index 9e99b93..0000000 --- a/evolus/migrations/0005_auto_20171024_1105.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-24 09:05 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0004_documenttype_description'), - ] - - operations = [ - migrations.AlterField( - model_name='documenttype', - name='description', - field=models.TextField(blank=True, max_length=255), - ), - ] diff --git a/evolus/migrations/0006_auto_20171025_0958.py b/evolus/migrations/0006_auto_20171025_0958.py deleted file mode 100644 index a482122..0000000 --- a/evolus/migrations/0006_auto_20171025_0958.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-25 07:58 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0005_auto_20171024_1105'), - ] - - operations = [ - migrations.CreateModel( - name='Keyword', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255)), - ('selectable', models.BooleanField(default=True)), - ], - options={ - 'abstract': False, - }, - ), - migrations.CreateModel( - name='KeywordClosure', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('depth', models.IntegerField()), - ('child', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='keywordclosure_parents', to='evolus.Keyword')), - ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='keywordclosure_children', to='evolus.Keyword')), - ], - options={ - 'db_table': 'evolus_keywordclosure', - }, - ), - migrations.AddField( - model_name='version', - name='keywords', - field=models.ManyToManyField(related_name='document_versions', to='evolus.Keyword'), - ), - migrations.AlterUniqueTogether( - name='keywordclosure', - unique_together=set([('parent', 'child')]), - ), - ] diff --git a/evolus/migrations/0007_keyword_parent.py b/evolus/migrations/0007_keyword_parent.py deleted file mode 100644 index b6b4997..0000000 --- a/evolus/migrations/0007_keyword_parent.py +++ /dev/null @@ -1,21 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-26 08:36 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0006_auto_20171025_0958'), - ] - - operations = [ - migrations.AddField( - model_name='keyword', - name='parent', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='evolus.Keyword'), - ), - ] diff --git a/evolus/migrations/0008_auto_20171026_1555.py b/evolus/migrations/0008_auto_20171026_1555.py deleted file mode 100644 index 8ad1c3f..0000000 --- a/evolus/migrations/0008_auto_20171026_1555.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-26 13:55 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0007_keyword_parent'), - ] - - operations = [ - migrations.AddField( - model_name='keyword', - name='created_at', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - migrations.AddField( - model_name='keyword', - name='updated_at', - field=models.DateTimeField(auto_now=True), - ), - ] diff --git a/evolus/migrations/0009_auto_20171027_1346.py b/evolus/migrations/0009_auto_20171027_1346.py deleted file mode 100644 index 0c0bf30..0000000 --- a/evolus/migrations/0009_auto_20171027_1346.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 11:46 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('evolus', '0008_auto_20171026_1555'), - ] - - operations = [ - migrations.CreateModel( - name='HistoricalVersion', - fields=[ - ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), - ('document', models.TextField(max_length=100)), - ('major', models.PositiveIntegerField()), - ('published', models.BooleanField(default=False)), - ('revised_at', models.DateTimeField(blank=True, null=True)), - ('created_at', models.DateTimeField(blank=True, editable=False)), - ('history_id', models.AutoField(primary_key=True, serialize=False)), - ('history_date', models.DateTimeField()), - ('history_change_reason', models.CharField(max_length=100, null=True)), - ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), - ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'historical version', - 'ordering': ('-history_date', '-history_id'), - 'get_latest_by': 'history_date', - }, - ), - migrations.RemoveField( - model_name='revision', - name='version', - ), - migrations.AddField( - model_name='version', - name='created_at', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - migrations.AlterField( - model_name='version', - name='document', - field=models.FileField(upload_to='revisions/'), - ), - migrations.AlterField( - model_name='version', - name='published', - field=models.BooleanField(default=False), - ), - migrations.DeleteModel( - name='Revision', - ), - ] diff --git a/evolus/migrations/0010_auto_20171027_1351.py b/evolus/migrations/0010_auto_20171027_1351.py deleted file mode 100644 index 6375aba..0000000 --- a/evolus/migrations/0010_auto_20171027_1351.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 11:51 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0009_auto_20171027_1346'), - ] - - operations = [ - migrations.AddField( - model_name='historicalversion', - name='revision', - field=models.PositiveIntegerField(default=1), - preserve_default=False, - ), - migrations.AddField( - model_name='version', - name='revision', - field=models.PositiveIntegerField(default=1), - preserve_default=False, - ), - migrations.AlterField( - model_name='version', - name='keywords', - field=models.ManyToManyField(blank=True, related_name='document_versions', to='evolus.Keyword'), - ), - ] diff --git a/evolus/migrations/0011_auto_20171027_1512.py b/evolus/migrations/0011_auto_20171027_1512.py deleted file mode 100644 index 8c464ea..0000000 --- a/evolus/migrations/0011_auto_20171027_1512.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 13:12 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0010_auto_20171027_1351'), - ] - - operations = [ - migrations.RemoveField( - model_name='historicalversion', - name='history_user', - ), - migrations.AddField( - model_name='version', - name='file', - field=models.FileField(default=1, upload_to='revisions/'), - preserve_default=False, - ), - migrations.AlterField( - model_name='version', - name='document', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='evolus.Document'), - ), - migrations.DeleteModel( - name='HistoricalVersion', - ), - ] diff --git a/evolus/migrations/0012_audience_group.py b/evolus/migrations/0012_audience_group.py deleted file mode 100644 index a4ae77f..0000000 --- a/evolus/migrations/0012_audience_group.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 19:13 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('auth', '0008_alter_user_username_max_length'), - ('evolus', '0011_auto_20171027_1512'), - ] - - operations = [ - migrations.AddField( - model_name='audience', - name='group', - field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='auth.Group'), - preserve_default=False, - ), - ] diff --git a/evolus/migrations/0013_auto_20171027_2032.py b/evolus/migrations/0013_auto_20171027_2032.py deleted file mode 100644 index 04d1de6..0000000 --- a/evolus/migrations/0013_auto_20171027_2032.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 20:32 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0012_audience_group'), - ] - - operations = [ - migrations.RemoveField( - model_name='historicaldocument', - name='history_user', - ), - migrations.RemoveField( - model_name='historicaldocument', - name='manager', - ), - migrations.RemoveField( - model_name='historicaldocument', - name='type', - ), - migrations.RenameField( - model_name='version', - old_name='published', - new_name='is_published', - ), - migrations.AlterField( - model_name='document', - name='type', - field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='evolus.DocumentType'), - preserve_default=False, - ), - migrations.AlterField( - model_name='version', - name='document', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='versions', to='evolus.Document'), - ), - migrations.DeleteModel( - name='HistoricalDocument', - ), - ] diff --git a/evolus/migrations/0014_auto_20171027_2055.py b/evolus/migrations/0014_auto_20171027_2055.py deleted file mode 100644 index 137ccdf..0000000 --- a/evolus/migrations/0014_auto_20171027_2055.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 20:55 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0013_auto_20171027_2032'), - ] - - operations = [ - migrations.RemoveField( - model_name='document', - name='audiences', - ), - migrations.RemoveField( - model_name='document', - name='sites', - ), - migrations.RemoveField( - model_name='document', - name='standards', - ), - migrations.RemoveField( - model_name='document', - name='structures', - ), - ] diff --git a/evolus/migrations/0015_version_restricted.py b/evolus/migrations/0015_version_restricted.py deleted file mode 100644 index a201f8e..0000000 --- a/evolus/migrations/0015_version_restricted.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-30 13:56 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0014_auto_20171027_2055'), - ] - - operations = [ - migrations.AddField( - model_name='version', - name='restricted', - field=models.BooleanField(default=False), - ), - ] diff --git a/evolus/migrations/0016_auto_20171030_1528.py b/evolus/migrations/0016_auto_20171030_1528.py deleted file mode 100644 index 5cf6e3c..0000000 --- a/evolus/migrations/0016_auto_20171030_1528.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-30 14:28 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('evolus', '0015_version_restricted'), - ] - - operations = [ - migrations.CreateModel( - name='NodeClosure', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('depth', models.IntegerField()), - ], - options={ - 'db_table': 'evolus_nodeclosure', - }, - ), - migrations.RenameModel( - old_name='Structure', - new_name='Node', - ), - migrations.AlterUniqueTogether( - name='structureclosure', - unique_together=set([]), - ), - migrations.RemoveField( - model_name='structureclosure', - name='child', - ), - migrations.RemoveField( - model_name='structureclosure', - name='parent', - ), - migrations.AddField( - model_name='version', - name='audiences', - field=models.ManyToManyField(blank=True, to='evolus.Audience'), - ), - migrations.AddField( - model_name='version', - name='nodes', - field=models.ManyToManyField(blank=True, to='evolus.Node'), - ), - migrations.AddField( - model_name='version', - name='sites', - field=models.ManyToManyField(blank=True, to='evolus.Site'), - ), - migrations.DeleteModel( - name='StructureClosure', - ), - migrations.AddField( - model_name='nodeclosure', - name='child', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='nodeclosure_parents', to='evolus.Node'), - ), - migrations.AddField( - model_name='nodeclosure', - name='parent', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='nodeclosure_children', to='evolus.Node'), - ), - migrations.AlterUniqueTogether( - name='nodeclosure', - unique_together=set([('parent', 'child')]), - ), - ] diff --git a/fixtures/jci.json b/fixtures/jci.json index b277155..d01f549 100644 --- a/fixtures/jci.json +++ b/fixtures/jci.json @@ -1 +1 @@ -[{"model": "jci.section", "pk": 1, "fields": {"name": "Section II: Patient-Centered Standards"}}, {"model": "jci.section", "pk": 2, "fields": {"name": "Section III: Health Care Organization Management Standards"}}, {"model": "jci.section", "pk": 3, "fields": {"name": "Section IV: Academic Medical Center Hospital Standards"}}, {"model": "jci.headline", "pk": 1, "fields": {"name": "International Patient Safety Goals", "section": 1, "acronym": "IPSG", "overview": ""}}, {"model": "jci.headline", "pk": 2, "fields": {"name": "Access to Care and Continuity of Care", "section": 1, "acronym": "ACC", "overview": ""}}, {"model": "jci.headline", "pk": 3, "fields": {"name": "Patient and Family Rights", "section": 1, "acronym": "PFR", "overview": ""}}, {"model": "jci.headline", "pk": 4, "fields": {"name": "Assessment of Patients", "section": 1, "acronym": "AOP", "overview": ""}}, {"model": "jci.headline", "pk": 5, "fields": {"name": "Care of Patients", "section": 1, "acronym": "COP", "overview": ""}}, {"model": "jci.headline", "pk": 6, "fields": {"name": "Anesthesia and Surgical Care", "section": 1, "acronym": "ASC", "overview": ""}}, {"model": "jci.headline", "pk": 7, "fields": {"name": "Medication Management and Use", "section": 1, "acronym": "MMU", "overview": ""}}, {"model": "jci.headline", "pk": 8, "fields": {"name": "Patient and Family Education", "section": 1, "acronym": "PFE", "overview": ""}}, {"model": "jci.headline", "pk": 9, "fields": {"name": "Quality Improvement and Patient Safety", "section": 2, "acronym": "QPS", "overview": ""}}, {"model": "jci.headline", "pk": 10, "fields": {"name": "Prevention and Control of Infections", "section": 2, "acronym": "PCI", "overview": ""}}, {"model": "jci.headline", "pk": 11, "fields": {"name": "Governance, Leadership, and Direction", "section": 2, "acronym": "GLD", "overview": ""}}, {"model": "jci.headline", "pk": 12, "fields": {"name": "Facility Management and Safety", "section": 2, "acronym": "FMS", "overview": ""}}, {"model": "jci.headline", "pk": 13, "fields": {"name": "Staff Qualifications and Education", "section": 2, "acronym": "SQE", "overview": ""}}, {"model": "jci.headline", "pk": 14, "fields": {"name": "Management of Information", "section": 2, "acronym": "MOI", "overview": ""}}, {"model": "jci.headline", "pk": 15, "fields": {"name": "Medical Professional Education", "section": 3, "acronym": "MPE", "overview": ""}}, {"model": "jci.headline", "pk": 16, "fields": {"name": "Human Subjects Research Programs", "section": 3, "acronym": "HRP", "overview": ""}}, {"model": "jci.standard", "pk": 1, "fields": {"name": "The hospital develops and implements a process to improve accuracy of patient identifications", "parent": null, "headline": 1, "order": 1}}, {"model": "jci.standard", "pk": 2, "fields": {"name": "The hospital develops and implements a process to improve the effectiveness of verbal and/or telephone communication among caregivers", "parent": null, "headline": 1, "order": 2}}, {"model": "jci.standard", "pk": 3, "fields": {"name": "The hospital develops and implements a process for reporting critical results of diagnostic tests.", "parent": 2, "headline": 1, "order": 1}}, {"model": "jci.standard", "pk": 4, "fields": {"name": "The hospital develops and implements a process for handover communication.", "parent": 2, "headline": 1, "order": 2}}, {"model": "jci.standard", "pk": 5, "fields": {"name": "The hospital develops and implements a process to improve the safety of high-alert medications.", "parent": null, "headline": 1, "order": 3}}, {"model": "jci.standard", "pk": 6, "fields": {"name": "The hospital develops and implements a process for the preoperative verification and surgical/ invasive procedure site-marking", "parent": null, "headline": 1, "order": 4}}, {"model": "jci.standard", "pk": 7, "fields": {"name": "The hospital adopts and implements evidence-based hand-hygiene guidelines to reduce the risk of health care\u2013associated infections", "parent": null, "headline": 1, "order": 5}}, {"model": "jci.standard", "pk": 8, "fields": {"name": "The hospital develops and implements a process to reduce the risk of patient harm resulting from falls for the inpatient population", "parent": null, "headline": 1, "order": 6}}, {"model": "jci.standard", "pk": 9, "fields": {"name": "The hospital develops and implements a process to manage the safe use of concentrated electrolytes.", "parent": 5, "headline": 1, "order": 1}}, {"model": "jci.standard", "pk": 10, "fields": {"name": "The hospital develops and implements a process for the time-out that is performed immediately prior to the start of the surgical/invasive procedure and the sign out that is conducted after the procedure", "parent": 6, "headline": 1, "order": 1}}, {"model": "jci.standardclosure", "pk": 1, "fields": {"parent": 1, "child": 1, "depth": 0}}, {"model": "jci.standardclosure", "pk": 2, "fields": {"parent": 2, "child": 2, "depth": 0}}, {"model": "jci.standardclosure", "pk": 3, "fields": {"parent": 3, "child": 3, "depth": 0}}, {"model": "jci.standardclosure", "pk": 4, "fields": {"parent": 2, "child": 3, "depth": 1}}, {"model": "jci.standardclosure", "pk": 5, "fields": {"parent": 4, "child": 4, "depth": 0}}, {"model": "jci.standardclosure", "pk": 6, "fields": {"parent": 2, "child": 4, "depth": 1}}, {"model": "jci.standardclosure", "pk": 7, "fields": {"parent": 5, "child": 5, "depth": 0}}, {"model": "jci.standardclosure", "pk": 8, "fields": {"parent": 6, "child": 6, "depth": 0}}, {"model": "jci.standardclosure", "pk": 9, "fields": {"parent": 7, "child": 7, "depth": 0}}, {"model": "jci.standardclosure", "pk": 10, "fields": {"parent": 8, "child": 8, "depth": 0}}, {"model": "jci.standardclosure", "pk": 11, "fields": {"parent": 9, "child": 9, "depth": 0}}, {"model": "jci.standardclosure", "pk": 12, "fields": {"parent": 5, "child": 9, "depth": 1}}, {"model": "jci.standardclosure", "pk": 13, "fields": {"parent": 10, "child": 10, "depth": 0}}, {"model": "jci.standardclosure", "pk": 14, "fields": {"parent": 6, "child": 10, "depth": 1}}] \ No newline at end of file +[{"model": "jci.section", "pk": 1, "fields": {"name": "Section II: Patient-Centered Standards"}}, {"model": "jci.section", "pk": 2, "fields": {"name": "Section III: Health Care Organization Management Standards"}}, {"model": "jci.section", "pk": 3, "fields": {"name": "Section IV: Academic Medical Center Hospital Standards"}}, {"model": "jci.chapter", "pk": 1, "fields": {"name": "International Patient Safety Goals", "section": 1, "acronym": "IPSG", "overview": ""}}, {"model": "jci.chapter", "pk": 2, "fields": {"name": "Access to Care and Continuity of Care", "section": 1, "acronym": "ACC", "overview": ""}}, {"model": "jci.chapter", "pk": 3, "fields": {"name": "Patient and Family Rights", "section": 1, "acronym": "PFR", "overview": ""}}, {"model": "jci.chapter", "pk": 4, "fields": {"name": "Assessment of Patients", "section": 1, "acronym": "AOP", "overview": ""}}, {"model": "jci.chapter", "pk": 5, "fields": {"name": "Care of Patients", "section": 1, "acronym": "COP", "overview": ""}}, {"model": "jci.chapter", "pk": 6, "fields": {"name": "Anesthesia and Surgical Care", "section": 1, "acronym": "ASC", "overview": ""}}, {"model": "jci.chapter", "pk": 7, "fields": {"name": "Medication Management and Use", "section": 1, "acronym": "MMU", "overview": ""}}, {"model": "jci.chapter", "pk": 8, "fields": {"name": "Patient and Family Education", "section": 1, "acronym": "PFE", "overview": ""}}, {"model": "jci.chapter", "pk": 9, "fields": {"name": "Quality Improvement and Patient Safety", "section": 2, "acronym": "QPS", "overview": ""}}, {"model": "jci.chapter", "pk": 10, "fields": {"name": "Prevention and Control of Infections", "section": 2, "acronym": "PCI", "overview": ""}}, {"model": "jci.chapter", "pk": 11, "fields": {"name": "Governance, Leadership, and Direction", "section": 2, "acronym": "GLD", "overview": ""}}, {"model": "jci.chapter", "pk": 12, "fields": {"name": "Facility Management and Safety", "section": 2, "acronym": "FMS", "overview": ""}}, {"model": "jci.chapter", "pk": 13, "fields": {"name": "Staff Qualifications and Education", "section": 2, "acronym": "SQE", "overview": ""}}, {"model": "jci.chapter", "pk": 14, "fields": {"name": "Management of Information", "section": 2, "acronym": "MOI", "overview": ""}}, {"model": "jci.chapter", "pk": 15, "fields": {"name": "Medical Professional Education", "section": 3, "acronym": "MPE", "overview": ""}}, {"model": "jci.chapter", "pk": 16, "fields": {"name": "Human Subjects Research Programs", "section": 3, "acronym": "HRP", "overview": ""}}, {"model": "jci.intent", "pk": 1, "fields": {"content": "Wrong-patient errors occur in virtually all aspects of diagnosis and treatment. 1 Patients may be sedated, disoriented, not fully alert, or comatose; may change beds, rooms, or locations within the hospital; may have sensory disabilities; may not remember their identity; or may be subject to other situations that may lead to errors in correct identification. The intent of this goal is twofold: first, to reliably identify the individual as the person for whom the service or treatment is intended; second, to match the service or treatment to that individual. (Also see MMU.4.1)\r\n\r\nThe identification process used throughout the hospital requires at least two ways in which to identify a patient, such as the patient\u2019s name, identification number, birth date, a bar-coded wristband, or other ways. (Also see MOI.9, ME 2 and MOI.9.1, ME 1) The patient\u2019s room number or location in the hospital cannot be used for identification. The *process* for using two different patient identifiers is uniform throughout the hospital. However, the two identifiers used in the inpatient department may be different from the two identifiers in the outpatient department. For example, the patient\u2019s name and identification number or medical record number may be used in all inpatient areas, and the patient name and birth date may be used in all outpatient departments, such as the emergency department, ambulatory care department, or other outpatient location.\r\n\r\nThere are special circumstances in which the hospital may need to develop a specific process for patient identification; for example, when a comatose or confused/disoriented patient arrives with no identification, in the case of a newborn when the parents have not immediately chosen a name, and other examples. The process takes into account the unique needs of the patients, and staff use the process for patient identification in these special circumstances to prevent error. 2\r\n\r\nTwo different patient identifiers are required in any circumstance involving patient interventions. For\r\nexample, patients are identified before providing treatments (such as administering medications, blood, or blood products; serving a restricted diet tray; or providing radiation therapy); performing procedures (such as insertion of an intravenous line or hemodialysis); and before any diagnostic procedures (such as taking blood and other specimens for clinical testing, or performing a cardiac catheterization or diagnostic radiology procedure)."}}, {"model": "jci.intent", "pk": 2, "fields": {"content": "Effective communication, which is timely, accurate, complete, unambiguous, and understood by the\r\nrecipient, reduces errors and results in improved patient safety. Communication can be electronic, verbal, or written. Patient care circumstances that can be critically impacted by poor communication include verbal and telephone patient care orders, verbal and telephone communication of critical test results, and handover communications.\r\n\r\nPatient care orders given verbally in-person and over the telephone, if permitted under local laws and regulations, are some of the most error-prone communications. Different accents, dialects, and pronunciations can make it difficult for the receiver to understand the order being given. For example, drug names and numbers that sound alike, such as erythromycin and azithromycin or fifteen and fifty, can affect the accuracy of the order. Background noise, interruptions, and unfamiliar drug names and terminology often compound the problem. Once received, a verbal order must be transcribed as a written order, which adds complexity and risk to the ordering process. (Also see COP.2.2 and MMU.4, ME 1).\r\n\r\nThe reporting of critical results of diagnostic tests is also a patient safety issue. Diagnostic tests include, but are not limited to, laboratory tests, radiology exams, nuclear medicine exams, ultrasound procedures, magnetic resonance imaging, and cardiac diagnostics. This includes critical results from any diagnostic tests performed at the bedside, such as point-of-care testing, portable radiographs, bedside ultrasounds, or transesophageal echocardiograms. Results that are significantly outside the normal range may indicate a high-risk or life- threatening condition. A formal reporting system that clearly identifies how critical results of diagnostic tests are communicated to health care practitioners and how the information is documented reduces patient risks. 3\u20135\r\n(Also see AOP.5.4)\r\n\r\nHandover communications can also be referred to as handoff communications. Handovers of patient care within a hospital occur\r\n* between health care practitioners (for example, physician to physician, physician to nurse, nurse to\r\nnurse, and so on);\r\n* between different levels of care in the same hospital (for example, when the patient is moved from an intensive care unit to a medical unit or from an emergency department to the operating theatre);\r\n* from inpatient units to diagnostic or other treatment departments, such as radiology or physical therapy; and\r\n* between staff and patients/families, such as at discharge. (Also see ACC.4.1) \r\n\r\nBreakdowns in communication can occur during any handover of patient care and can result in adverse events. 6\u20138 Interruptions and other distractions from unit activities can inhibit clear communication of important patient information. Standardized, critical content for communication between the patient, family, caregiver, and health care practitioners can significantly improve the outcomes related to handovers of patient care. 9\u201314 (Also see ACC.3)\r\n\r\nStandardized forms, tools, or methods support a consistent and complete handover process. The content of the handover communication and the form, tool, or method used is standardized for the type of handover. The handover process may be different for different types of handovers within the hospital. For example, handovers of patient care for the emergency department to a medical ward may require a different process or different content than handovers for the operating theatre to the intensive care unit; however, the handovers are standardized for the type of handover occurring. Handover forms or tools, if used by the hospital, are not required to be part of the medical record. In addition, the detailed information communicated during the handover is not required to be documented in the medical record; however, the hospital may want to have documentation that the handover occurred. For example, the health care practitioner would record that he or she completed the handover and to whom he or she endorsed care, and then sign, date, and time the entry. (Also see MOI.11.1, MEs 1, 2, and 3)\r\n\r\nSafe practices for effective communication include the following:\r\n* Limiting verbal communication of prescription or medication orders to urgent situations in which immediate written or electronic communication is not feasible. For example, verbal orders can be disallowed when the prescriber is present and the patient\u2019s chart is available. Verbal orders can be restricted to situations in which it is difficult or impossible for hard-copy or electronic order transmission, such as during a sterile procedure.\r\n* The development of guidelines for requesting and receiving test results on an emergency or STAT basis, the identification and definitions of critical tests and critical values, to whom and by whom critical test results are reported, and monitoring compliance (Also see AOP.5.1.1, ME 3)\r\n* Writing down, or entering into a computer, the complete order or test result by the receiver of the information; the receiver reading back the order or test result; and the sender confirming that what has been written down and read back is accurate. Permissible alternatives for when the read-back process may not always be possible may be identified, such as in the operating theatre and in emergent situations in the emergency department or intensive care unit. (Also see COP.2.2; MMU.4) \r\n* Use of standardized, critical content for communication between the patient, family, health care practitioner, and others involved in the patient\u2019s care during handovers of patient care.\r\n* Use of standardized methods, forms, or tools to facilitate consistent and complete handovers of patient care"}}, {"model": "jci.intent", "pk": 3, "fields": {"content": "When medications are part of the patient treatment plan, appropriate management is critical to ensuring patient safety. Any medication, even those that can be purchased without a prescription, if used improperly can cause injury. However, high-alert medications cause harm more frequently, and the harm they produce is likely to be more serious when they are given in error. This can lead to increased patient suffering and potentially additional costs associated with caring for these patients. High-alert medications are those medications involved in a high percentage of errors and/or sentinel events, as well as medications that carry a higher risk for abuse or other adverse outcomes. Examples of high-alert medications include investigational medications, controlled medications, medications with a narrow therapeutic range, chemotherapy, anticoagulants, psychotherapeutic medications, and look-alike/sound-alike medications (LASA).\r\n\r\nThere are many medication names that sound or look like other medication names. Confusing names is a\r\ncommon cause of medication errors throughout the world. Contributing to this confusion are\r\n\r\n* incomplete knowledge of drug names;\r\n* newly available products;\r\n* similar packaging or labeling;\r\n* similar clinical use; and\r\n* illegible prescriptions or misunderstanding during issuing of verbal orders.\r\n\r\nExamples of lists of high-alert medications are available from organizations such as the Institute for Safe\r\nMedication Practices (ISMP) and the World Health Organization (WHO). For safe management, the hospital needs to develop its own list(s) of high-alert medications based on its unique utilization patterns\r\nof medications and its own internal data about near misses, medication errors, and sentinel events. (Also see\r\nMMU.7.1 and QPS.7) The list includes medications identified as high risk for adverse outcomes. Information\r\nfrom the literature and/or Ministry of Health may also be useful in helping to identify which medications\r\nshould be included. These medications are stored in a way that reduces the likelihood of inadvertent\r\nadministration or ideally provides directions on the proper use of the medication. Strategies to improve the\r\nsafety of high-alert medications may be tailored to the specific risk of each medication and should include\r\nconsideration of prescribing, preparation, administration, and monitoring processes, in addition to safe storage\r\nstrategies. \r\n\r\nMedications at risk for look-alike/sound-alike confusion, such as similar medication names and similar product packaging, may lead to potentially harmful medication errors. Hospitals need to institute risk management strategies to minimize adverse events with LASA medications and enhance patient safety. (Also see MMU.4.1) \r\n\r\nA frequently cited medication safety issue is the incorrect or unintentional administration of concentrated electrolytes (for example, potassium chloride [equal to or greater than 2 mEq/mL concentration], potassium phosphate [equal to or greater than 3 mmol/mL concentration], sodium chloride [greater than 0.9% concentration], and magnesium sulfate [equal to or greater than 50% concentration]). The most effective means to reduce or to eliminate these occurrences is to develop a process for managing concentrated electrolytes that includes removing the concentrated electrolytes from the patient care units to the pharmacy. (Also see MMU.3) The hospital identifies any areas where concentrated electrolytes are clinically necessary in the concentrated form as determined by evidence and professional practice, such as the intensive care unit or cardiac operating theatre, and identifies how they are clearly labeled and how they are stored in those areas in a manner that restricts access to prevent inadvertent administration."}}, {"model": "jci.intent", "pk": 4, "fields": {"content": "Significant patient injury and adverse and sentinel events resulting from wrong-site, wrong-procedure, and wrong-patient surgery are ongoing concerns for hospitals. Such events can result from ineffective or inadequate communication between members of the team conducting the surgical/invasive procedure, lack of a process for marking the procedure site, and lack of patient involvement in the site marking. In addition, inadequate patient assessment, inadequate medical record review, a culture that does not support open communication among team members, problems related to illegible handwriting, and the use of abbreviations are frequent contributing factors.\r\n\r\nSurgical and invasive procedures include all procedures involving an incision or puncture, including, but not limited to, open surgical procedures, percutaneous aspiration, selected injections, biopsy, percutaneous cardiac and vascular diagnostic or interventional procedures, laparoscopies, and endoscopies.\r\n\r\nOrganizations need to identify all areas within the hospital where surgical and invasive procedures take place; for example, the cardiac catheterization lab, interventional radiology department, gastrointestinal lab, and the like. The approach the hospital takes to ensuring safe surgery applies to all areas of the hospital in which surgical and invasive procedures occur.\r\n\r\nThe (US) Joint Commission\u2019s Universal Protocol for Preventing Wrong Site, Wrong Procedure, and Wrong Person SurgeryTM is based in part on the principle of using multiple strategies to achieve the goal of always identifying the correct patient, correct procedure, and correct site. 25 The essential elements of the Universal Protocol are\r\n\r\n* the preoperative verification process;\r\n* marking the surgical site; and\r\n* the time-out that is held immediately before the start of the procedure.\r\n\r\n## Preoperative Verification Process\r\n\r\nPreoperative verification is an ongoing process of information gathering and confirmation. The purpose of the preoperative verification process is to\r\n* verify the correct patient, procedure, and site;\r\n* ensure that all relevant documents, images, and studies are available, properly labeled, and displayed; and\r\n* verify that any required blood products, special medical equipment, and/or implants are present. (Also see ASC.7.4)\r\n\r\nThere are various elements of the preoperative verification process that can be completed before the patient arrives at the preoperative area\u2014such as ensuring that documents, imaging, test results, and paperwork are properly labeled and match the patient\u2019s identifiers. Waiting until the time-out to complete the preoperative verification process may unnecessarily delay surgery if paperwork or imaging are not labeled or available when surgery is about to begin. It is more likely that portions of the preoperative verification may occur more than once and in more than one place. For example, the surgical consent may be obtained in the surgeon\u2019s office, and then verification that it has been completed may take place in the preoperative holding area.\r\n\r\n## Marking the Site\r\n\r\nMarking the surgical/invasive site involves the patient and is done with an instantly recognizable and unambiguous mark. Ideally, an \u201cX\u201d is not used as the mark as it may be interpreted as \u201cnot here\u201d or \u201cwrong side\u201d and could potentially lead to errors in patient care. 26,27 The mark must be consistent throughout the hospital. The site is marked in all cases involving laterality, multiple structures (fingers, toes, lesions), or multiple levels (spine). \r\n\r\nThe surgical/invasive procedure site marking is done by the person who will perform the procedure. This person will do the entire surgical/invasive procedure and remain with the patient throughout the entire procedure. In cases of surgical procedures, the responsible surgeon typically performs the surgery and therefore would mark the site. There are different titles used for the responsible surgeon, such as attending or consultant surgeon. For nonsurgical invasive procedures, it may be a physician who will do the procedure, and it may take place in an area of the hospital outside of the operating theatre.\r\n\r\nThere are circumstances when a trainee may perform the site marking\u2014this is when the trainee performs the entire procedure, requiring minimal or no supervision from the responsible surgeon or physician. In these circumstances, the trainee marks the surgical site. When a trainee is in the role of assisting the responsible surgeon or physician, only the responsible surgeon or physician may perform the site marking.\r\n\r\nThe site marking may take place any time before the surgical/invasive procedure begins as long as the patient is actively involved in the site marking whenever possible and the mark is visible after the patient is prepped and draped. Examples of when patient participation may not be possible include patients who are not competent to make health care decisions, children, and patients requiring emergent surgery.\r\n\r\n## Time-Out\r\n\r\nThe time-out is held immediately before the start of the procedure with all team members present. During the time-out, the team agrees on the following components:\r\n\r\na) Correct patient identity\r\nb) Correct procedure to be done\r\nc) Correct surgical/invasive procedure site\r\n\r\nThe time-out allows any unanswered questions or confusion to be resolved. The time-out is conducted in the location at which the procedure will be done and involves the active participation of the entire team. The patient does not have to participate in the time-out. Once the time-out is complete, no one from the team leaves the room. Completion of the time-out is documented and includes the date and time the time-out was completed. The hospital determines the amount and type of any additional documentation.\r\n\r\n## Sign-Out\r\n\r\nThe WHO Surgical Safety Checklist includes a sign-out process, which is conducted in the area where the procedure was performed before the patient leaves. 28 The following components of the sign-out are verbally confirmed by a member of the team, typically a nurse:\r\nd) Name of the surgical/invasive procedure that was recorded/written\r\ne) Completion of instrument, sponge, and needle counts (as applicable)\r\nf ) Labeling of specimens (when specimens are present during the sign-out process, labels are read aloud, including patient name) (Also see IPSG.1, ME 2 and AOP.5.7, ME 2)\r\ng) Any equipment problems to be addressed (as applicable)"}}, {"model": "jci.intent", "pk": 5, "fields": {"content": "Infection prevention and control are challenging in most health care settings, and rising rates of health care-associated infections are a major concern for patients and health care practitioners. Infections common to all health care settings include catheter-associated urinary tract infections, bloodstream infections, and pneumonia (often associated with mechanical ventilation). \r\n\r\nCentral to the elimination of these and other infections is proper hand hygiene. Evidence-based hand-hygiene guidelines are available from the World Health Organization (WHO), the United States Centers for Disease Control and Prevention (US CDC), and various other national and international organizations. 29,30 (Also see GLD.11.2) \r\n\r\nThe hospital adopts and implements current evidence-based hand-hygiene guidelines. Hand-hygiene guidelines are posted in appropriate areas, and staff are educated in proper hand-washing and hand-disinfection procedures. Soap, disinfectants, and towels or other means of drying are located in those areas where hand- washing and hand-disinfecting procedures are required. (Also see PCI.9)"}}, {"model": "jci.intent", "pk": 6, "fields": {"content": "Many injuries in hospitals to both inpatients and outpatients are a result of falls. The risk for falls is related to\r\nthe patient, the situation, and/or the location. Risks associated with patients might include patient history of\r\nfalls, medications use, alcohol consumption, gait or balance disturbances, visual impairments, altered mental\r\nstatus, and the like. Patients who have been initially assessed to be at low risk for falls may suddenly become\r\nat high risk. Reasons include, but are not limited to, surgery and/or anesthesia, sudden changes in patient\r\ncondition, and adjustment in medications. Many patients require reassessment during their hospitalization.\r\n(Also see AOP.1.4)\r\n\r\nFall risk criteria identify the types of patients who are considered at high risk for falls. These criteria and any\r\ninterventions applied are documented in the patient\u2019s medical record as they provide the evidence to support\r\nthe patient\u2019s fall risk category. The hospital has the responsibility to identify the types of patients within their\r\npatient population who may be at high risk for falls. The documented criteria facilitate the continuity of care\r\namong the health care practitioners caring for a patient. (Also see ACC.3) For example, a practitioner caring\r\nfor a patient after he or she leaves the operating theatre may not know if the patient, who is at high risk for\r\nfalls was properly assessed and if interventions were applied unless proper documentation was completed.\r\nIn the context of the populations it serves, the services it provides, and its facilities, the hospital evaluates\r\npatient falls, and takes action to reduce the risk of falling and reduce the risk of injury should a fall occur.\r\nThe hospital establishes a fall-risk reduction program based on appropriate policies and/or procedures. A fall\r\nreduction program includes risk assessment and periodic reassessment of a particular patient population and/\r\nor of the environment in which care and services are provided (such as those conducted during periodic safety\r\ntours). Measures and interventions are implemented to reduce fall risk for those identified patients, situations,\r\nand locations assessed to be at risk. 31\u201333\r\nSpecific situations can pose a risk for falls. An example of a potential situational risk is when a patient arrives\r\nat the outpatient department from a long term care facility by ambulance for a radiologic examination. The\r\npatient may be at risk for falls in that situation when transferring from ambulance cart to exam table, or when\r\nchanging positions while lying on the narrow exam table.\r\nSpecific locations may present higher fall risks because of the services provided. For example, a physical\r\ntherapy department (inpatient or outpatient) has many types of specialized equipment used by patients that\r\nmay increase the risk for falls, such as parallel bars, freestanding staircases, and exercise equipment.\r\nAll inpatients are assessed for fall risk using assessment tools and/or methods appropriate for the hospital\u2019s\r\npatient population(s). 34,35 For example, pediatric patients require a pediatric fall risk assessment tool, as a tool\r\ndeveloped for adults will not accurately assess their risk for falls.\r\nIn the outpatient department(s), patients are screened for fall risk; however, only those patients whose\r\ncondition, diagnosis, situation, and/or location identifies them as at risk for falls are screened. 36,37 If fall risk is indicated from the screening, measures and/or interventions are implemented to reduce fall risk for those\r\npatients.\r\n\r\nScreening generally involves performing a simple evaluation of the patient to determine if he or she exhibits a\r\nfall risk. Screening tools are commonly used, and include questions or items that are used to identify fall risk\r\npatients. For example, the questions may require a simple yes/no answer, or the tool may involve assigning a\r\nscore to each item based on the patient\u2019s responses.\r\n\r\nThe hospital determines which outpatients are screened for fall risk. Location and situational risk as well as\r\npatient condition and characteristics may help identify those who should be screened for falls. Examples\r\ncould include all patients in a physical therapy outpatient department, all patients arriving from long term\r\ncare facilities by ambulance for outpatient procedures, patients scheduled for outpatient surgery involving\r\nprocedural sedation or anesthesia, patients with gait or balance disturbances, patients with visual impairments,\r\npediatric patients under the age of two, and so on."}}, {"model": "jci.standard", "pk": 1, "fields": {"name": "The hospital develops and implements a process to improve accuracy of patient identifications", "headline": 1, "order": "1", "parent": null, "require_written_procedure": true, "intent": 1}}, {"model": "jci.standard", "pk": 2, "fields": {"name": "The hospital develops and implements a process to improve the effectiveness of verbal and/or telephone communication among caregivers", "headline": 1, "order": "2", "parent": null, "require_written_procedure": true, "intent": 2}}, {"model": "jci.standard", "pk": 3, "fields": {"name": "The hospital develops and implements a process for reporting critical results of diagnostic tests.", "headline": 1, "order": "2.1", "parent": null, "require_written_procedure": true, "intent": 2}}, {"model": "jci.standard", "pk": 4, "fields": {"name": "The hospital develops and implements a process for handover communication.", "headline": 1, "order": "2.2", "parent": null, "require_written_procedure": true, "intent": 2}}, {"model": "jci.standard", "pk": 5, "fields": {"name": "The hospital develops and implements a process to improve the safety of high-alert medications.", "headline": 1, "order": "3", "parent": null, "require_written_procedure": true, "intent": 3}}, {"model": "jci.standard", "pk": 6, "fields": {"name": "The hospital develops and implements a process for the preoperative verification and surgical/ invasive procedure site-marking", "headline": 1, "order": "4", "parent": null, "require_written_procedure": true, "intent": 4}}, {"model": "jci.standard", "pk": 7, "fields": {"name": "The hospital adopts and implements evidence-based hand-hygiene guidelines to reduce the risk of health care\u2013associated infections", "headline": 1, "order": "5", "parent": null, "require_written_procedure": true, "intent": 5}}, {"model": "jci.standard", "pk": 8, "fields": {"name": "The hospital develops and implements a process to reduce the risk of patient harm resulting from falls for the inpatient population", "headline": 1, "order": "6", "parent": null, "require_written_procedure": true, "intent": 6}}, {"model": "jci.standard", "pk": 9, "fields": {"name": "The hospital develops and implements a process to manage the safe use of concentrated electrolytes.", "headline": 1, "order": "3.1", "parent": null, "require_written_procedure": true, "intent": 3}}, {"model": "jci.standard", "pk": 10, "fields": {"name": "The hospital develops and implements a process for the time-out that is performed immediately prior to the start of the surgical/invasive procedure and the sign out that is conducted after the procedure", "headline": 1, "order": "4.1", "parent": null, "require_written_procedure": true, "intent": 4}}, {"model": "jci.standard", "pk": 11, "fields": {"name": "Patients who may be admitted to the hospital or who seek outpatient services are screened to identify if their health care needs match the hospital\u2019s mission and resources", "headline": 2, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 12, "fields": {"name": "Patients with emergent, urgent, or immediate needs are given priority for assessment and treatment", "headline": 2, "order": "1.1", "parent": 11, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 13, "fields": {"name": "The hospital considers the clinical needs of patients and informs patients when there are unusual delays for diagnostic and/or treatment services", "headline": 2, "order": "1.2", "parent": 11, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 14, "fields": {"name": "The hospital has a process for admitting inpatients and for registering outpatients.", "headline": 2, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 15, "fields": {"name": "Patient needs for preventive, palliative, curative, and rehabilitative services are prioritized based on the patient\u2019s condition at the time of admission as an inpatient to the hospital.", "headline": 2, "order": "2.1", "parent": 14, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 16, "fields": {"name": "At admission as an inpatient, the patient and family receive education and orientation to the inpatient ward, information on the proposed care and any expected costs for care, and the expected outcomes of care", "headline": 2, "order": "2.2", "parent": 14, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 17, "fields": {"name": "The hospital develops a process to manage the flow of patients throughout the hospital.", "headline": 2, "order": "2.2.1", "parent": 16, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 18, "fields": {"name": "Admission to departments/wards providing intensive or specialized services is determined by established criteria", "headline": 2, "order": "2.3", "parent": 14, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 19, "fields": {"name": "Discharge from departments/wards providing intensive or specialized services is determined by established criteria.", "headline": 2, "order": "2.3.1", "parent": 18, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 20, "fields": {"name": "The hospital designs and carries out processes to provide continuity of patient care services in the hospital and coordination among health care practitioners", "headline": 2, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 21, "fields": {"name": "During all phases of inpatient care, there is a qualified individual identified as responsible for the patient\u2019s care.", "headline": 2, "order": "3.1", "parent": 20, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 22, "fields": {"name": "Information related to the patient\u2019s care is transferred with the patient.", "headline": 2, "order": "3.2", "parent": 20, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 23, "fields": {"name": "There is a process for the referral or discharge of patients that is based on the patient\u2019s health status and the need for continuing care or services.", "headline": 2, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 24, "fields": {"name": "Patient and family education and instruction are related to the patient\u2019s continuing care needs.", "headline": 2, "order": "4.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 25, "fields": {"name": "The hospital cooperates with health care practitioners and outside agencies to ensure timely referrals.", "headline": 2, "order": "4.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 26, "fields": {"name": "The complete discharge summary is prepared for all inpatients.", "headline": 2, "order": "4.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 27, "fields": {"name": "Patient education and follow-up instructions are given in a form and language the patient can understand", "headline": 2, "order": "4.3.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 28, "fields": {"name": "The medical records of inpatients contain a copy of the discharge summary", "headline": 2, "order": "4.3.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 29, "fields": {"name": "The records of outpatients requiring complex care or with complex diagnoses contain profiles of the medical care and are made available to health care practitioners providing care to those patients.", "headline": 2, "order": "4.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 30, "fields": {"name": "The hospital has a process for the management and follow-up of patients who notify hospital staff that they intend to leave against medical advice.", "headline": 2, "order": "4.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 31, "fields": {"name": "The hospital has a process for the management of patients who leave the hospital against medical advice without notifying hospital staff.", "headline": 2, "order": "4.5.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 32, "fields": {"name": "Patients are transferred to other organizations based on status, the need to meet their continuing care needs, and the ability of the receiving organization to meet patients\u2019 needs.", "headline": 2, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 33, "fields": {"name": "The referring hospital develops a transfer process to ensure that patients are transferred safely.", "headline": 2, "order": "5.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 34, "fields": {"name": "The receiving organization is given a written summary of the patient\u2019s clinical condition and the interventions provided by the referring hospital.", "headline": 2, "order": "5.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 35, "fields": {"name": "The transfer process is documented in the patient\u2019s medical record.", "headline": 2, "order": "5.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 36, "fields": {"name": "The hospital\u2019s transportation services comply with relevant laws and regulations and meet requirements for quality and safe transport", "headline": 2, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 37, "fields": {"name": "The hospital develops and implements a process to reduce the risk of patient harm resulting from falls for the outpatient population.", "headline": 1, "order": "6.1", "parent": null, "require_written_procedure": true, "intent": 6}}, {"model": "jci.standard", "pk": 38, "fields": {"name": "The hospital is responsible for providing processes that support patients\u2019 and families\u2019 rights during care", "headline": 3, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 39, "fields": {"name": "The hospital seeks to reduce physical, language, cultural, and other barriers to access and delivery of services", "headline": 3, "order": "1.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 40, "fields": {"name": "The hospital provides care that supports patient dignity, is respectful of the patient\u2019s personal values and beliefs, and responds to requests for spiritual and religious observance.", "headline": 3, "order": "1.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 41, "fields": {"name": "The patient\u2019s rights to privacy and confidentiality of care and information are respected.", "headline": 3, "order": "1.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 42, "fields": {"name": "The hospital takes measures to protect patients\u2019 possessions from theft or loss", "headline": 3, "order": "1.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 43, "fields": {"name": "Patients are protected from physical assault, and populations at risk are identified and protected from additional vulnerabilities", "headline": 3, "order": "1.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 44, "fields": {"name": "Patients are informed about all aspects of their medical care and treatment and participate in care and treatment decisions", "headline": 3, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 45, "fields": {"name": "The hospital informs patients and families about their rights and responsibilities to refuse or discontinue treatment, withhold resuscitative services, and forgo or withdraw life-sustaining treatments", "headline": 3, "order": "2.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 46, "fields": {"name": "The hospital supports the patient\u2019s right to assessment and management of pain and respectful compassionate care at the end of life", "headline": 3, "order": "2.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 47, "fields": {"name": "The hospital informs patients and families about its process to receive and to act on complaints, conflicts, and differences of opinion about patient care and the patient\u2019s right to participate in these processes", "headline": 3, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 48, "fields": {"name": "All patients are informed about their rights and responsibilities in a manner and language they can understand", "headline": 3, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 49, "fields": {"name": "General consent for treatment, if obtained when a patient is admitted as an inpatient or is registered for the first time as an outpatient, is clear in its scope and limits.", "headline": 3, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 50, "fields": {"name": "Patient informed consent is obtained through a process defined by the hospital and carried out by trained staff in a manner and language the patient can understand", "headline": 3, "order": "5.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 51, "fields": {"name": "Patients and families receive adequate information about the patient\u2019s condition, proposed treatment(s) or procedure(s), and health care practitioners so that they can grant consent and make care decisions.", "headline": 3, "order": "5.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 52, "fields": {"name": "The hospital establishes a process, within the context of existing law and culture, for when others can grant consent.", "headline": 3, "order": "5.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 53, "fields": {"name": "Informed consent is obtained before surgery, anesthesia, procedural sedation, use of blood and blood products, and other high-risk treatments and procedures", "headline": 3, "order": "5.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 54, "fields": {"name": "The hospital informs patients and families about how to choose to donate organs and other tissues", "headline": 3, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 55, "fields": {"name": "The hospital provides oversight for the process of organ and tissue procurement", "headline": 3, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 56, "fields": {"name": "All patients cared for by the hospital have their health care needs identified through an assessment process that has been defined by the hospital", "headline": 4, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 57, "fields": {"name": "Each patient\u2019s initial assessment includes a physical examination and health history as well as an evaluation of psychological, spiritual/cultural (as appropriate), social, and economic factors", "headline": 4, "order": "1.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 58, "fields": {"name": "The patient\u2019s medical and nursing needs are identified from the initial assessments, which are completed and documented in the medical record within the first 24 hours after admission as an inpatient or earlier as indicated by the patient\u2019s condition", "headline": 4, "order": "1.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 59, "fields": {"name": "The hospital has a process for accepting initial medical assessments conducted in a physician\u2019s private office or other outpatient setting prior to admission or outpatient procedure.", "headline": 4, "order": "1.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 60, "fields": {"name": "A preoperative medical assessment is documented before anesthesia or surgical treatment and includes the patient\u2019s medical, physical, psychological, social, economic, and discharge needs.", "headline": 4, "order": "1.3.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 61, "fields": {"name": "Patients are screened for nutritional status, functional needs, and other special needs and are referred for further assessment and treatment when necessary.", "headline": 4, "order": "1.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 62, "fields": {"name": "All inpatients and outpatients are screened for pain and assessed when pain is present.", "headline": 4, "order": "1.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 63, "fields": {"name": "Individualized medical and nursing initial assessments are performed for special populations cared for by the hospital", "headline": 4, "order": "1.6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 64, "fields": {"name": "Dying patients and their families are assessed and reassessed according to their individualized needs", "headline": 4, "order": "1.7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 65, "fields": {"name": "The initial assessment includes determining the need for discharge planning", "headline": 4, "order": "1.8", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 66, "fields": {"name": "All patients are reassessed at intervals based on their condition and treatment to determine their response to treatment and to plan for continued treatment or discharge", "headline": 4, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 67, "fields": {"name": "Qualified individuals conduct the assessments and reassessments", "headline": 4, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 68, "fields": {"name": "Medical, nursing, and other individuals and services responsible for patient care collaborate to analyze and integrate patient assessments and prioritize the most urgent/important patient care needs.", "headline": 4, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 69, "fields": {"name": "Laboratory services are available to meet patient needs, and all such services meet applicable local and national standards, laws, and regulations", "headline": 4, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 70, "fields": {"name": "A qualified individual(s) is responsible for managing the clinical laboratory service or pathology service", "headline": 4, "order": "5.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 71, "fields": {"name": "A qualified individual is responsible for the oversight and supervision of the point-of-care testing program", "headline": 4, "order": "5.1.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 72, "fields": {"name": "All laboratory staff have the required education, training, qualifications, and experience to administer and perform the tests and interpret the results", "headline": 4, "order": "5.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 73, "fields": {"name": "A laboratory safety program is in place, followed, and documented, and compliance with the facility management and infection control programs is maintained", "headline": 4, "order": "5.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 74, "fields": {"name": "The laboratory uses a coordinated process to reduce the risks of infection as a result of exposure to infectious diseases and biohazardous materials and waste", "headline": 4, "order": "5.3.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 75, "fields": {"name": "Laboratory results are available in a timely way as defined by the hospital", "headline": 4, "order": "5.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 76, "fields": {"name": "All equipment used for laboratory testing is regularly inspected, maintained, and calibrated, and appropriate records are maintained for these activities", "headline": 4, "order": "5.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 77, "fields": {"name": "Essential reagents and supplies are available and all reagents are evaluated to ensure accuracy and precision of results", "headline": 4, "order": "5.6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 78, "fields": {"name": "Procedures for collecting, identifying, handling, safely transporting, and disposing of specimens are established and implemented", "headline": 4, "order": "5.7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 79, "fields": {"name": "Established norms and ranges are used to interpret and to report clinical laboratory results.", "headline": 4, "order": "5.8", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 80, "fields": {"name": "Quality control procedures for laboratory services are in place, followed, and documented", "headline": 4, "order": "5.9", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 81, "fields": {"name": "There is a process for proficiency testing of laboratory services", "headline": 4, "order": "5.9.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 82, "fields": {"name": "Reference/contract laboratories used by the hospital are licensed and accredited or certified by a recognized authority.", "headline": 4, "order": "5.10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 83, "fields": {"name": "The hospital identifies measures for monitoring the quality of the services to be provided by the reference/contract laboratory", "headline": 4, "order": "5.10.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 84, "fields": {"name": "A qualified individual is responsible for blood bank and/or transfusion services and ensures that services adhere to laws and regulations and recognized standards of practice.", "headline": 4, "order": "5.11", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 85, "fields": {"name": "Radiology and diagnostic imaging services are available to meet patient needs, and all such services meet applicable local and national standards, laws, and regulations", "headline": 4, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 86, "fields": {"name": "A qualified individual(s) is responsible for managing the radiology and diagnostic imaging services", "headline": 4, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 87, "fields": {"name": "Individuals with proper qualifications and experience perform diagnostic imaging studies, interpret the results, and report the results", "headline": 4, "order": "6.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 88, "fields": {"name": "Radiation safety guidelines for staff and patients are in place, followed, and documented; and compliance with the facility management and infection control programs is maintained", "headline": 4, "order": "6.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 89, "fields": {"name": "Radiology and diagnostic imaging study results are available in a timely way as defined by the hospital", "headline": 4, "order": "6.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 90, "fields": {"name": "All equipment used to conduct radiology and diagnostic imaging studies is regularly inspected, maintained, and calibrated, and appropriate records are maintained for these activities", "headline": 4, "order": "6.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 91, "fields": {"name": "X-ray film and the required supplies are available when the hospital uses film X-ray", "headline": 4, "order": "6.6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 92, "fields": {"name": "Quality control procedures are in place, followed, validated, and documented", "headline": 4, "order": "6.7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 93, "fields": {"name": "The hospital regularly reviews quality control results for all outside contracted sources of diagnostic services", "headline": 4, "order": "6.8", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 94, "fields": {"name": "Uniform care of all patients is provided and follows applicable laws and regulations", "headline": 5, "order": "1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 95, "fields": {"name": "There is a process to integrate and to coordinate the care provided to each patient", "headline": 5, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 96, "fields": {"name": "An individualized plan of care is developed and documented for each patient", "headline": 5, "order": "2.1", "parent": 94, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 97, "fields": {"name": "The hospital develops and implements a uniform process for prescribing patient orders", "headline": 5, "order": "2.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 98, "fields": {"name": "Clinical and diagnostic procedures and treatments are carried out and documented as ordered, and the results or outcomes, are recorded in the patient\u2019s medical record.", "headline": 5, "order": "2.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 99, "fields": {"name": "The care of high-risk patients and the provision of high-risk services are guided by professional practice guidelines, laws, and regulations", "headline": 5, "order": "3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 100, "fields": {"name": "Clinical staff are trained to recognize and respond to changes in a patient\u2019s condition", "headline": 5, "order": "3.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 101, "fields": {"name": "Resuscitation services are available throughout the hospital", "headline": 5, "order": "3.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 102, "fields": {"name": "Clinical guidelines and procedures are established and implemented for the handling, use, and administration of blood and blood products", "headline": 5, "order": "3.3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 103, "fields": {"name": "A variety of food choices, appropriate for the patient\u2019s nutritional status and consistent with his or her clinical care, is available", "headline": 5, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 104, "fields": {"name": "Patients at nutrition risk receive nutrition therapy", "headline": 5, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 105, "fields": {"name": "Patients are supported in managing pain effectively", "headline": 5, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 106, "fields": {"name": "The hospital provides end-of-life care for the dying patient that addresses the needs of the patient and family and optimizes the patient\u2019s comfort and dignity", "headline": 5, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 107, "fields": {"name": "The hospital\u2019s leadership provides resources to support the organ/tissue transplant program", "headline": 5, "order": "8", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 108, "fields": {"name": "A qualified transplant program leader is responsible for the transplant program", "headline": 5, "order": "8.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 109, "fields": {"name": "The transplant program includes a multidisciplinary team that consists of people with expertise in the relevant organ-specific transplant programs", "headline": 5, "order": "8.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 110, "fields": {"name": "There is a designated coordination mechanism for all transplant activities that involves physicians, nurses, and other health care practitioners", "headline": 5, "order": "8.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 111, "fields": {"name": "The transplant program uses organ-specific transplant clinical eligibility, psychological, and social suitability criteria for transplant candidates", "headline": 5, "order": "8.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 112, "fields": {"name": "The transplant program obtains informed consent specific to organ transplantation from the transplant candidate", "headline": 5, "order": "8.5", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 113, "fields": {"name": "The transplant program has documented protocols, clinical practice guidelines,or procedures for organ recovery and organ receipt to ensure the compatibility, safety, efficacy, and quality of human cells, tissues, and organs for transplantation.", "headline": 5, "order": "8.6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 114, "fields": {"name": "Individualized patient care plans guide the care of transplant patients", "headline": 5, "order": "8.7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 115, "fields": {"name": "Transplant programs that perform living donor transplantation adhere to local and regional laws and regulation and protect the rights of prospective or actual living donors", "headline": 5, "order": "9", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 116, "fields": {"name": "Transplant programs performing living donor transplants obtain informed consent specific to organ donation from the prospective living donor", "headline": 5, "order": "9.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 117, "fields": {"name": "Transplant programs that perform living donor transplants use clinical and psychological selection criteria to determine the suitability of potential living donors", "headline": 5, "order": "9.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 118, "fields": {"name": "Individualized patient care plans guide the care of living donors", "headline": 5, "order": "9.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 119, "fields": {"name": "Sedation and anesthesia services are available to meet patient needs, and all such services meet professional standards and applicable local and national standards, laws, and regulations", "headline": 6, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 120, "fields": {"name": "A qualified individual(s) is responsible for managing the sedation and anesthesia services", "headline": 6, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 121, "fields": {"name": "The administration of procedural sedation is standardized throughout the hospital", "headline": 6, "order": "3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 122, "fields": {"name": "Practitioners responsible for procedural sedation and individuals responsible for monitoring patients receiving procedural sedation are qualified", "headline": 6, "order": "3.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 123, "fields": {"name": "Procedural sedation is administered and monitored according to professional practice guidelines", "headline": 6, "order": "3.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 124, "fields": {"name": "The risks, benefits, and alternatives related to procedural sedation are discussed with the patient, his or her family, or those who make decisions for the patient", "headline": 6, "order": "3.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 125, "fields": {"name": "A qualified individual conducts a preanesthesia assessment and preinduction assessment", "headline": 6, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 126, "fields": {"name": "Each patient\u2019s anesthesia care is planned and documented, and the anesthesia and technique used are documented in the patient\u2019s medical record.", "headline": 6, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 127, "fields": {"name": "The risks, benefits, and alternatives related to anesthesia and post-operative pain control are discussed with the patient and/or those who make decisions for the patient", "headline": 6, "order": "5.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 128, "fields": {"name": "Each patient\u2019s physiological status during anesthesia and surgery is monitored according to professional practice guidelines and documented in the patient\u2019s medical record.", "headline": 6, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 129, "fields": {"name": "Each patient\u2019s postanesthesia status is monitored and documented, and the patient is discharged from the recovery area by a qualified individual or by using established criteria", "headline": 6, "order": "6.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 130, "fields": {"name": "Each patient\u2019s surgical care is planned and documented based on the results of the assessment.", "headline": 6, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 131, "fields": {"name": "The risks, benefits, and alternatives are discussed with the patient and his or her family or those who make decisions for the patient", "headline": 6, "order": "7.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 132, "fields": {"name": "Information about the surgical procedure is documented in the patient\u2019s medical record to facilitate continuing care", "headline": 6, "order": "7.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 133, "fields": {"name": "Patient care after surgery is planned and documented", "headline": 6, "order": "7.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 134, "fields": {"name": "Surgical care that includes the implanting of a medical device is planned with special consideration of how standard processes and procedures must be modified", "headline": 6, "order": "7.4", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 135, "fields": {"name": "Medication use in the hospital is organized to meet patient needs, complies with applicable laws and regulations, and is under the direction and supervision of a licensed pharmacist or other qualified professional", "headline": 7, "order": "1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 136, "fields": {"name": "The hospital develops and implements a program for the prudent use of antibiotics based on the principle of antibiotic stewardship", "headline": 7, "order": "1.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 137, "fields": {"name": "Medications for prescribing or ordering are stocked, and there is a process for medications not stocked or normally available to the hospital or for times when the pharmacy is closed", "headline": 7, "order": "2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 138, "fields": {"name": "There is a method for overseeing the hospital\u2019s medication list and medication use", "headline": 7, "order": "2.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 139, "fields": {"name": "Medications are properly and safely stored", "headline": 7, "order": "3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 140, "fields": {"name": "There is a process for the management of medications and nutritional products that require special handling.", "headline": 7, "order": "3.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 141, "fields": {"name": "Emergency medications are available, uniformly stored, monitored, and secure when stored out of the pharmacy.", "headline": 7, "order": "3.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 142, "fields": {"name": "The hospital has a medication recall system", "headline": 7, "order": "3.3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 143, "fields": {"name": "Prescribing, ordering, and transcribing are guided by policies and procedures.", "headline": 7, "order": "4", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 144, "fields": {"name": "The hospital defines the elements of a complete order or prescription", "headline": 7, "order": "4.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 145, "fields": {"name": "The hospital identifies those qualified individuals permitted to prescribe or to order medications", "headline": 7, "order": "4.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 146, "fields": {"name": "Medications prescribed and administered are written in the patient\u2019s medical record", "headline": 7, "order": "4.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 147, "fields": {"name": "Medications are prepared and dispensed in a safe and clean environment", "headline": 7, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 148, "fields": {"name": "Medication prescriptions or orders are reviewed for appropriateness", "headline": 7, "order": "5.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 149, "fields": {"name": "A system is used to safely dispense medications in the right dose to the right patient at the right time.", "headline": 7, "order": "5.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 150, "fields": {"name": "The hospital identifies those qualified individuals permitted to administer medications", "headline": 7, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 151, "fields": {"name": "Medication administration includes a process to verify the medication is correct based on the medication prescription or order", "headline": 7, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 152, "fields": {"name": "Policies and procedures govern medications brought into the hospital for patient selfadministration or as samples", "headline": 7, "order": "6.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 153, "fields": {"name": "Medication effects on patients are monitored", "headline": 7, "order": "7", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 154, "fields": {"name": "The hospital establishes and implements a process for reporting and acting on medication errors and near misses", "headline": 7, "order": "7.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 155, "fields": {"name": "The hospital provides education that supports patient and family participation in care decisions and care processes", "headline": 8, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 156, "fields": {"name": "Each patient\u2019s educational needs are assessed and recorded in his or her medical record", "headline": 8, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 157, "fields": {"name": "The patient\u2019s and family\u2019s ability to learn and willingness to learn are assessed", "headline": 8, "order": "2.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 158, "fields": {"name": "Education methods take into account the patient\u2019s and family\u2019s values and preferences and allow sufficient interaction among the patient, family, and staff for learning to occur", "headline": 8, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 159, "fields": {"name": "Health care practitioners caring for the patient collaborate to provide education", "headline": 8, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 160, "fields": {"name": "A qualified individual guides the implementation of the hospital\u2019s program for quality improvement and patient safety and manages the activities needed to carry out an effective program of continuous quality improvement and patient safety within the hospi", "headline": 9, "order": "1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 161, "fields": {"name": "Quality and patient safety program staff support the measure selection process throughout the hospital and provide coordination and integration of measurement activities throughout the hospital.", "headline": 9, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 162, "fields": {"name": "The quality and patient safety program uses current scientific and other information to support patient care, health professional education, clinical research, and management", "headline": 9, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 163, "fields": {"name": "The quality and patient safety program includes the aggregation and analysis of data to support patient care, hospital management, and the quality management program and participation in external databases", "headline": 9, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 164, "fields": {"name": "Individuals with appropriate experience, knowledge, and skills systematically aggregate and analyze data in the hospital", "headline": 9, "order": "4.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 165, "fields": {"name": "The data analysis process includes at least one determination per year of the impact of hospitalwide priority improvements on cost and efficiency", "headline": 9, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 166, "fields": {"name": "The hospital uses an internal process to validate data", "headline": 9, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 167, "fields": {"name": "The hospital uses a defined process for identifying and managing sentinel events", "headline": 9, "order": "7", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 168, "fields": {"name": "Data are always analyzed when undesirable trends and variation are evident from the data", "headline": 9, "order": "8", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 169, "fields": {"name": "The organization uses a defined process for the identification and analysis of near-miss events", "headline": 9, "order": "9", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 170, "fields": {"name": "Improvement in quality and safety is achieved and sustained", "headline": 9, "order": "10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 171, "fields": {"name": "An ongoing program of risk management is used to identify and to proactively reduce unanticipated adverse events and other safety risks to patients and staff", "headline": 9, "order": "11", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 172, "fields": {"name": "One or more individuals oversee all infection prevention and control activities. This individual(s) is qualified in infection prevention and control practices through education, training, experience, or certification", "headline": 10, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 173, "fields": {"name": "There is a designated coordination mechanism for all infection prevention and control activities that involves physicians, nurses, and others based on the size and complexity of the hospital", "headline": 10, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 174, "fields": {"name": "The infection prevention and control program is based on current scientific knowledge, accepted practice guidelines, applicable laws and regulations, and standards for sanitation and cleanliness", "headline": 10, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 175, "fields": {"name": "Hospital leadership provides resources to support the infection prevention and control program", "headline": 10, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 176, "fields": {"name": "The hospital designs and implements a comprehensive infection control program that identifies the procedures and processes associated with the risk of infection and implements strategies to reduce infection risk", "headline": 10, "order": "5", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 177, "fields": {"name": "The hospital uses a risk-based approach in establishing the focus of the health care\u2013associated infection prevention and reduction program", "headline": 10, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 178, "fields": {"name": "The hospital tracks infection risks, infection rates, and trends in health care\u2013associated infections to reduce the risks of those infections", "headline": 10, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 179, "fields": {"name": "The hospital reduces the risk of infections associated with medical/surgical equipment, devices, and supplies by ensuring adequate cleaning, disinfection, sterilization, and storage; and implements a process for managing expired supplies", "headline": 10, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 180, "fields": {"name": "The hospital identifies and implements a process for managing the reuse of single-use devices consistent with regional and local laws and regulations", "headline": 10, "order": "7.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 181, "fields": {"name": "The hospital reduces the risk of infections through proper disposal of waste", "headline": 10, "order": "7.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 182, "fields": {"name": "The hospital implements practices for safe handling and disposal of sharps and needles", "headline": 10, "order": "7.3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 183, "fields": {"name": "The hospital reduces the risk of infections associated with the operations of food services", "headline": 10, "order": "7.4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 184, "fields": {"name": "The hospital reduces the risk of infection in the facility associated with mechanical and engineering controls and during demolition, construction, and renovation.", "headline": 10, "order": "7.5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 185, "fields": {"name": "The hospital provides barrier precautions and isolation procedures that protect patients, visitors, and staff from communicable diseases and protects immunosuppressed patients from acquiring infections to which they are uniquely prone", "headline": 10, "order": "8", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 186, "fields": {"name": "The hospital develops and implements a process to manage a sudden influx of patients with airborne infections and when negative-pressure rooms are not available", "headline": 10, "order": "8.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 187, "fields": {"name": "The hospital develops, implements, and tests an emergency preparedness program to respond to the presentation of global communicable diseases", "headline": 10, "order": "8.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 188, "fields": {"name": "Gloves, masks, eye protection, other protective equipment, soap, and disinfectants are available and used correctly when required", "headline": 10, "order": "9", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 189, "fields": {"name": "The infection prevention and control process is integrated with the hospital\u2019s overall program for quality improvement and patient safety, using measures that are epidemiologically important to the hospital", "headline": 10, "order": "10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 190, "fields": {"name": "The hospital provides education on infection prevention and control practices to staff, physicians, patients, families, and other caregivers when indicated by their involvement in care", "headline": 10, "order": "11", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 191, "fields": {"name": "The structure and authority of the hospital\u2019s governing entity are described in bylaws, policies and procedures, or similar documents", "headline": 11, "order": "1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 192, "fields": {"name": "The operational responsibilities and accountabilities of the governing entity are described in a written document(s).", "headline": 11, "order": "1.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 193, "fields": {"name": "The governing entity approves the hospital\u2019s program for quality and patient safety and regularly receives and acts on reports of the quality and patient safety program", "headline": 11, "order": "1.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 194, "fields": {"name": "A chief executive(s) is responsible for operating the hospital and complying with applicable laws and regulations", "headline": 11, "order": "2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 195, "fields": {"name": "Hospital leadership is identified and is collectively responsible for defining the hospital\u2019s mission and creating the programs and policies needed to fulfill the mission", "headline": 11, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 196, "fields": {"name": "Hospital leadership identifies and plans for the type of clinical services required to meet the needs of the patients served by the hospital", "headline": 11, "order": "3.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 197, "fields": {"name": "Hospital leadership ensures effective communication throughout the hospital", "headline": 11, "order": "3.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 198, "fields": {"name": "Hospital leadership ensures that there are uniform programs for the recruitment, retention, development, and continuing education of all staff.", "headline": 11, "order": "3.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 199, "fields": {"name": "Hospital leadership plans, develops, and implements a quality improvement and patient safety program.", "headline": 11, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 200, "fields": {"name": "Hospital leadership communicates quality improvement and patient safety information to the governing entity and hospital staff on a regular basis", "headline": 11, "order": "4.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 201, "fields": {"name": "The chief executive and hospital leadership prioritize which hospitalwide processes will be measured, which hospitalwide improvement and patient safety activities will be implemented, and how success of these hospitalwide efforts will be measured", "headline": 11, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 202, "fields": {"name": "Hospital leadership is accountable for the review, selection, and monitoring of clinical or nonclinical contracts", "headline": 11, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 203, "fields": {"name": "Hospital leadership ensures that contracts and other arrangements are included as part of the hospital\u2019s quality improvement and patient safety program.", "headline": 11, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 204, "fields": {"name": "Hospital leadership ensures that independent practitioners not employed by the hospital have the right credentials and are privileged for the services provided to the hospital\u2019s patients", "headline": 11, "order": "6.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 205, "fields": {"name": "Hospital leadership makes decisions related to the purchase or use of resources\u2014human and technical\u2014with an understanding of the quality and safety implications of those decisions", "headline": 11, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 206, "fields": {"name": "Hospital leadership seeks and uses data and information on the safety of the supply chain to protect patients and staff from unstable, contaminated, defective, and counterfeit supplies.", "headline": 11, "order": "7.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 207, "fields": {"name": "Medical, nursing, and other leaders of departments and clinical services plan and implement a professional staff structure to support their responsibilities and authority", "headline": 11, "order": "8", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 208, "fields": {"name": "One or more qualified individuals provide direction for each department or service in the hospital.", "headline": 11, "order": "9", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 209, "fields": {"name": "Each department/service leader identifies, in writing, the services to be provided by the department, and integrates or coordinates those services with the services of other departments", "headline": 11, "order": "10", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 210, "fields": {"name": "Department/service leaders improve quality and patient safety by participating in hospitalwide improvement priorities and in monitoring and improving patient care specific to the department/ service", "headline": 11, "order": "11", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 211, "fields": {"name": "Measures selected by the department/service leaders that are applicable to evaluating the performance of physicians, nurses, and other professional staff participating in the clinical care processes, are used in the staff\u2019s performance evaluation", "headline": 11, "order": "11.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 212, "fields": {"name": "Department/service leaders select and implement clinical practice guidelines, and related clinical pathways, and/or clinical protocols, to guide clinical care", "headline": 11, "order": "11.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 213, "fields": {"name": "Hospital leadership establishes a framework for ethical management that promotes a culture of ethical practices and decision making to ensure that patient care is provided within business, financial, ethical, and legal norms and protects patients and thei", "headline": 11, "order": "12", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 214, "fields": {"name": "The hospital\u2019s framework for ethical management addresses operational and business issues, including marketing, admissions, transfer, discharge, and disclosure of ownership and any business and professional conflicts that may not be in patients\u2019 best inte", "headline": 11, "order": "12.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 215, "fields": {"name": "The hospital\u2019s framework for ethical management addresses ethical issues and decision making in clinical care", "headline": 11, "order": "12.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 216, "fields": {"name": "Hospital leadership creates and supports a culture of safety program throughout the hospital", "headline": 11, "order": "13", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 217, "fields": {"name": "Hospital leadership implements, monitors, and takes action to improve the program for a culture of safety throughout the hospital", "headline": 11, "order": "13.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 218, "fields": {"name": "Health professional education, when provided within the hospital, is guided by the educational parameters defined by the sponsoring academic program and the hospital\u2019s leadership", "headline": 11, "order": "14", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 219, "fields": {"name": "Human subjects research, when provided within the hospital, is guided by laws, regulations, and hospital leadership.", "headline": 11, "order": "15", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 220, "fields": {"name": "Patients and families are informed about how to gain access to clinical research, clinical investigations, or clinical trials involving human subjects", "headline": 11, "order": "16", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 221, "fields": {"name": "Patients and families are informed about how patients who choose to participate in clinical research, clinical investigations, or clinical trials are protected", "headline": 11, "order": "17", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 222, "fields": {"name": "Informed consent is obtained before a patient participates in clinical research, clinical investigations, or clinical trials", "headline": 11, "order": "18", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 223, "fields": {"name": "The hospital has a committee or another way to oversee all research in the hospital involving human subjects", "headline": 11, "order": "19", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 224, "fields": {"name": "The hospital complies with relevant laws, regulations, building and fire safety codes and facility inspection requirements", "headline": 12, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 225, "fields": {"name": "The hospital develops and maintains a written program(s) describing the processes to manage risks to patients, families, visitors, and staff", "headline": 12, "order": "2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 226, "fields": {"name": "One or more qualified individuals oversee the planning and implementation of the facility management program to reduce and control risks in the care environment", "headline": 12, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 227, "fields": {"name": "The hospital plans and implements a program to provide a safe physical facility through inspection and planning to reduce risks", "headline": 12, "order": "4", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 228, "fields": {"name": "The hospital plans and implements a program to provide a secure environment for patients, families, staff, and visitors", "headline": 12, "order": "4.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 229, "fields": {"name": "The hospital plans and budgets for upgrading or replacing key systems, buildings, or components based on the facility inspection and in keeping with laws and regulations", "headline": 12, "order": "4.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 230, "fields": {"name": "When planning for demolition, construction, or renovation, the organizations conducts a preconstruction risk assessment", "headline": 12, "order": "4.2.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 231, "fields": {"name": "The hospital has a program for the inventory, handling, storage, and use of hazardous materials and waste.", "headline": 12, "order": "5", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 232, "fields": {"name": "The hospital has a program for the control and disposal of hazardous materials and waste.", "headline": 12, "order": "5.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 233, "fields": {"name": "The hospital develops, maintains, and tests an emergency management program to respond to emergencies and natural or other disasters that have the potential of occurring within the community", "headline": 12, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 234, "fields": {"name": "The hospital establishes and implements a program for the prevention, early detection, suppression, abatement, and safe exit from the facility in response to fires and nonfire emergencies", "headline": 12, "order": "7", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 235, "fields": {"name": "The hospital regularly tests its fire and smoke safety program, including any devices related to early detection and suppression, and documents the results", "headline": 12, "order": "7.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 236, "fields": {"name": "The fire safety program includes limiting smoking by staff and patients to designated non\u2013patient care areas of the facility", "headline": 12, "order": "7.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 237, "fields": {"name": "The hospital establishes and implements a program for inspecting, testing, and maintaining medical equipment and documenting the results", "headline": 12, "order": "8", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 238, "fields": {"name": "The hospital has a system in place for monitoring and acting on medical equipment hazard notices, recalls, reportable incidents, problems, and failures", "headline": 12, "order": "8.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 239, "fields": {"name": "The hospital establishes and implements a program to ensure that all utility systems operate effectively and efficiently", "headline": 12, "order": "9", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 240, "fields": {"name": "Utility systems are inspected, maintained, and improved", "headline": 12, "order": "9.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 241, "fields": {"name": "The hospital utility systems program ensures that potable water and electrical power are available at all times and establishes and implements alternative sources of water and power during system disruption, contamination, or failure", "headline": 12, "order": "9.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 242, "fields": {"name": "Designated individuals or authorities monitor water quality regularly", "headline": 12, "order": "9.3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 243, "fields": {"name": "The hospital collects and analyzes data from each of the facility management and safety programs to support planning for replacing or upgrading medical equipment, technology and systems, and reducing risks in the environment", "headline": 12, "order": "10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 244, "fields": {"name": "The hospital educates, trains, and tests all staff about their roles in providing a safe and effective patient care facility", "headline": 12, "order": "11", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 245, "fields": {"name": "Staff members are trained and knowledgeable about their roles in the hospital\u2019s programs for fire safety, security, hazardous materials, and emergencies", "headline": 12, "order": "11.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 246, "fields": {"name": "Staff are trained to operate and to maintain medical equipment and utility systems", "headline": 12, "order": "11.2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 247, "fields": {"name": "Leaders of hospital departments and services define the desired education, skills, knowledge, and other requirements of all staff members", "headline": 13, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 248, "fields": {"name": "Each staff member\u2019s responsibilities are defined in a current job description", "headline": 13, "order": "1.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 249, "fields": {"name": "Leaders of hospital departments and services develop and implement processes for recruiting, evaluating, and appointing staff as well as other related procedures identified by the hospital", "headline": 13, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 250, "fields": {"name": "The hospital uses a defined process to ensure that clinical staff knowledge and skills are consistent with patient needs", "headline": 13, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 251, "fields": {"name": "The hospital uses a defined process to ensure that nonclinical staff knowledge and skills are consistent with hospital needs and the requirements of the position", "headline": 13, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 252, "fields": {"name": "There is documented personnel information for each staff member", "headline": 13, "order": "5", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 253, "fields": {"name": "A staffing strategy for the hospital, developed by the leaders of hospital departments and services, identifies the number, types, and desired qualifications of staff.", "headline": 13, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 254, "fields": {"name": "The staffing strategy is reviewed on an ongoing basis and updated as necessary", "headline": 13, "order": "6.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 255, "fields": {"name": "All clinical and nonclinical staff members are oriented to the hospital, the department or unit to which they are assigned, and to their specific job responsibilities at appointment to the staff", "headline": 13, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 256, "fields": {"name": "Each staff member receives ongoing in-service and other education and training to maintain or to advance his or her skills and knowledge", "headline": 13, "order": "8", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 257, "fields": {"name": "Staff members who provide patient care and other staff identified by the hospital are trained and can demonstrate appropriate competence in resuscitative techniques", "headline": 13, "order": "8.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 258, "fields": {"name": "The hospital provides a staff health and safety program that addresses staff physical and mental health and safe working conditions", "headline": 13, "order": "8.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 259, "fields": {"name": "The hospital identifies staff who are at risk for exposure to and possible transmission of vaccine-preventable diseases and implements a staff vaccination and immunization program", "headline": 13, "order": "8.2.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 260, "fields": {"name": "The hospital has a uniform process for gathering the credentials of those medical staff members permitted to provide patient care without supervision", "headline": 13, "order": "9", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 261, "fields": {"name": "Medical staff members\u2019 education, licensure/registration, and other credentials required by law or regulation and the hospital are verified and kept current", "headline": 13, "order": "9.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 262, "fields": {"name": "There is a uniform, transparent decision process for the initial appointment of medical staff members", "headline": 13, "order": "9.2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 263, "fields": {"name": "The hospital has a standardized, objective, evidence-based procedure to authorize medical staff members to admit and to treat patients and/or to provide other clinical services consistent with their qualifications", "headline": 13, "order": "10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 264, "fields": {"name": "The hospital uses an ongoing standardized process to evaluate the quality and safety of the patient care provided by each medical staff member", "headline": 13, "order": "11", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 265, "fields": {"name": "At least every three years, the hospital determines, from the ongoing monitoring and evaluation of each medical staff member, if medical staff membership and clinical privileges are to continue with or without modification", "headline": 13, "order": "12", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 266, "fields": {"name": "The hospital has a uniform process to gather, to verify, and to evaluate the nursing staff\u2019s credentials (license, education, training, and experience).", "headline": 13, "order": "13", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 267, "fields": {"name": "The hospital has a standardized process to identify job responsibilities and to make clinical work assignments based on the nursing staff member\u2019s credentials and any regulatory requirements.", "headline": 13, "order": "14", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 268, "fields": {"name": "The hospital has a standardized process for nursing staff participation in the hospital\u2019s quality improvement activities, including evaluating individual performance when indicated.", "headline": 13, "order": "14.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 269, "fields": {"name": "The hospital has a uniform process to gather, to verify, and to evaluate other health care practitioners\u2019 credentials (license, education, training, and experience).", "headline": 13, "order": "15", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 270, "fields": {"name": "The hospital has a uniform process to identify job responsibilities and to make clinical work assignments based on other health care practitioners\u2019 credentials and any regulatory requirements", "headline": 13, "order": "16", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 271, "fields": {"name": "The hospital has a uniform process for other health care practitioners\u2019 participation in the hospital\u2019s quality improvement activities.", "headline": 13, "order": "16.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 272, "fields": {"name": "Hospital leadership is accountable for the protection of human research subjects", "headline": 16, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 273, "fields": {"name": "Hospital leadership complies with all regulatory and professional requirements and provides adequate resources for effective operation of the research program.", "headline": 16, "order": "1.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 274, "fields": {"name": "Hospital leadership establishes the scope of the research program.", "headline": 16, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 275, "fields": {"name": "Hospital leadership establishes requirements for sponsors of research to ensure their commitment to the conduct of ethical research", "headline": 16, "order": "3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 276, "fields": {"name": "When one or more of the research-related duties and functions of the sponsor are provided through an outside commercial or academic contract research organization, the accountabilities of the outside contract research organization are clearly defined.", "headline": 16, "order": "3.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 277, "fields": {"name": "Hospital leadership creates or contracts for a process to provide the initial and ongoing review of all human subjects research", "headline": 16, "order": "4", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 278, "fields": {"name": "The hospital identifies and manages conflicts of interest with research conducted at the hospital.", "headline": 16, "order": "5", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 279, "fields": {"name": "The hospital integrates the human subjects research program into the quality and patient safety program of the hospital", "headline": 16, "order": "6", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 280, "fields": {"name": "The hospital establishes and implements an informed consent process that enables patients to make informed and voluntary decisions about participating in clinical research, clinical investigations, or clinical trials.", "headline": 16, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 281, "fields": {"name": "The hospital informs patients and families about how to gain access to clinical research, clinical investigations, or clinical trials and includes protections for vulnerable populations to minimize potential coercion or undue influence.", "headline": 16, "order": "7.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 282, "fields": {"name": "The hospital\u2019s governing body and leadership of the hospital approve and monitor the participation of the hospital in providing medical education.", "headline": 15, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 283, "fields": {"name": "The hospital\u2019s clinical staff, patient population, technology, and facility are consistent with the goals and objectives of the education program.", "headline": 15, "order": "2", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 284, "fields": {"name": "Clinical teaching staff are identified, and each staff member\u2019s role and relationship to the academic institution is defined.", "headline": 15, "order": "3", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 285, "fields": {"name": "The hospital understands and provides the required frequency and intensity of medical supervision for each type and level of medical student and trainee", "headline": 15, "order": "4", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 286, "fields": {"name": "Medical education provided in the hospital is coordinated and managed through a defined operational mechanism and management structure.", "headline": 15, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 287, "fields": {"name": "Medical students and trainees comply with all hospital policies and procedures, and all care is provided within the quality and patient safety parameters of the hospital6", "headline": 15, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 288, "fields": {"name": "Medical trainees who provide care or services within the hospital\u2014outside of the parameters of their academic program\u2014are granted permission to provide those services through the hospital\u2019s established credentialing, privileging, job specification, or oth", "headline": 15, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 289, "fields": {"name": "The hospital plans and designs information management processes to meet internal and external information needs.", "headline": 14, "order": "1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 290, "fields": {"name": "Information privacy, confidentiality, and security\u2014including data integrity\u2014are maintained", "headline": 14, "order": "2", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 291, "fields": {"name": "The hospital determines the retention time of records, data, and information", "headline": 14, "order": "3", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 292, "fields": {"name": "The hospital uses standardized diagnosis and procedure codes and ensures the standardized use of approved symbols and abbreviations across the hospital.", "headline": 14, "order": "4", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 293, "fields": {"name": "The data and information needs of those in and outside the hospital are met on a timely basis in a format that meets user expectations and with the desired frequency.", "headline": 14, "order": "5", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 294, "fields": {"name": "Records and information are protected from loss, destruction, tampering, and unauthorized access or use", "headline": 14, "order": "6", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 295, "fields": {"name": "Decision makers and other staff members are educated and trained in the principles of information use and management.", "headline": 14, "order": "7", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 296, "fields": {"name": "Written documents, including policies, procedures, and programs, are managed in a consistent and uniform manner", "headline": 14, "order": "8", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 297, "fields": {"name": "The policies, procedures, plans, and other documents that guide consistent and uniform clinical and nonclinical processes and practices are fully implemented", "headline": 14, "order": "8.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 298, "fields": {"name": "The hospital initiates and maintains a standardized medical record for every patient assessed or treated and determines the record\u2019s content, format, and location of entries", "headline": 14, "order": "9", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 299, "fields": {"name": "The medical records of patients receiving emergency care include the time of arrival and departure, the conclusions at termination of treatment, the patient\u2019s condition at discharge, and follow-up care instructions.", "headline": 14, "order": "10", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 300, "fields": {"name": "The hospital identifies those authorized to make entries in the patient medical record.", "headline": 14, "order": "11", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 301, "fields": {"name": "Every patient medical record entry identifies its author and when the entry was made in the medical record.", "headline": 14, "order": "11.1", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 302, "fields": {"name": "The hospital has a process to address the proper use of the copy-andpaste function when electronic medical records are used", "headline": 14, "order": "11.1.1", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.standard", "pk": 303, "fields": {"name": "As part of its monitoring and performance improvement activities, the hospital regularly assesses patient medical record content and the completeness of patient medical records.", "headline": 14, "order": "12", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 304, "fields": {"name": "Health information technology systems are assessed and tested prior to implementation within the hospital and evaluated for quality and patient safety following implementation", "headline": 14, "order": "13", "parent": null, "require_written_procedure": false, "intent": null}}, {"model": "jci.standard", "pk": 305, "fields": {"name": "The hospital develops, maintains, and tests a program for response to planned and unplanned downtime of data systems", "headline": 14, "order": "14", "parent": null, "require_written_procedure": true, "intent": null}}, {"model": "jci.measurable", "pk": 1, "fields": {"standard": 1, "order": 1, "content": "Patients are identified using two patient identifiers, not including the use of the patient\u2019s room number and location in the hospital."}}, {"model": "jci.measurable", "pk": 2, "fields": {"standard": 149, "order": 4, "content": "After preparation, medications not immediately administered are labeled with the name of the med- ication, the dosage/concentration, the date prepared, the expiration date, and two patient identifiers"}}, {"model": "jci.measurable", "pk": 3, "fields": {"standard": 298, "order": 2, "content": "Patient medical records are maintained through the use of an identifier unique to the patient or some other effective method"}}, {"model": "jci.measurable", "pk": 4, "fields": {"standard": 1, "order": 2, "content": "2. Patients are identified before performing diagnostic procedures, providing treatments, and perform- ing other procedures. (Also see IPSG.4.1; AOP.5.7, ME 2; MMU.5.2, ME 4; and MMU.6.1)"}}, {"model": "jci.measurable", "pk": 5, "fields": {"standard": 1, "order": 3, "content": "The hospital ensures the correct identification of patients in special circumstances, such as the coma- tose patient or newborn who is not immediately named. (Also see COP.3)"}}, {"model": "jci.measurable", "pk": 6, "fields": {"standard": 2, "order": 1, "content": "The complete verbal order is documented and read back by the receiver and confirmed by the indi-\r\nvidual giving the order. (Also see MMU.4.1)"}}, {"model": "jci.measurable", "pk": 7, "fields": {"standard": 2, "order": 2, "content": "The complete telephone order is documented and read back by the receiver and confirmed by the\r\nindividual giving the order. (Also see MMU.4.1)"}}, {"model": "jci.measurable", "pk": 8, "fields": {"standard": 2, "order": 3, "content": "The complete test result is documented and read back by the receiver and confirmed by the individual giving the result."}}, {"model": "jci.measurable", "pk": 9, "fields": {"standard": 3, "order": 1, "content": "The hospital has defined critical values for each type of diagnostic test."}}, {"model": "jci.measurable", "pk": 10, "fields": {"standard": 3, "order": 2, "content": "The hospital has identified by whom and to whom critical results of diagnostic tests are reported."}}, {"model": "jci.measurable", "pk": 11, "fields": {"standard": 3, "order": 3, "content": "The hospital has identified what information is documented in the medical record."}}, {"model": "jci.measurable", "pk": 12, "fields": {"standard": 4, "order": 1, "content": "Standardized critical content is communicated between health care practitioners during handovers of\r\npatient care."}}, {"model": "jci.measurable", "pk": 13, "fields": {"standard": 4, "order": 2, "content": "Standardized forms, tools, or methods support a consistent and complete handover process."}}, {"model": "jci.measurable", "pk": 14, "fields": {"standard": 4, "order": 3, "content": "Data from adverse events resulting from handover communications are tracked and used to identify\r\nways in which handovers can be improved, and improvements are implemented."}}, {"model": "jci.measurable", "pk": 15, "fields": {"standard": 5, "order": 1, "content": "The hospital identifies in writing its list of high-alert medications and develops and implements a\r\nprocess for managing these high-alert medications."}}, {"model": "jci.measurable", "pk": 16, "fields": {"standard": 5, "order": 2, "content": "The hospital has a list of look-alike/sound-alike medications and develops and implements a process\r\nfor managing look-alike sound-alike medications."}}, {"model": "jci.measurable", "pk": 17, "fields": {"standard": 5, "order": 3, "content": "The process for managing high-alert medications and the process for managing look-alike/sound-\r\nalike medications are uniform throughout the hospital."}}, {"model": "jci.measurable", "pk": 18, "fields": {"standard": 9, "order": 1, "content": "The hospital has a process that prevents inadvertent administration of concentrated electrolytes."}}, {"model": "jci.measurable", "pk": 19, "fields": {"standard": 9, "order": 2, "content": "Concentrated electrolytes are present only in patient care units identified as clinically necessary in the\r\nconcentrated form. (Also see MMU.5.2, ME 2)"}}, {"model": "jci.measurable", "pk": 20, "fields": {"standard": 9, "order": 3, "content": "Concentrated electrolytes that are stored in patient care units are clearly labeled and stored in a man-\r\nner that restricts access and promotes safe use."}}, {"model": "jci.measurable", "pk": 21, "fields": {"standard": 6, "order": 1, "content": "The hospital implements a preoperative verification process through the use of a checklist or other mechanism to document, before the surgical/invasive procedure, that the informed consent is appro- priate to the procedure; that the correct patient, correct procedure, and correct site are verified; and that all required documents, blood products, medical equipment, and implantable medical devices are on hand, correct, and functional."}}, {"model": "jci.measurable", "pk": 22, "fields": {"standard": 6, "order": 2, "content": "The hospital uses an instantly recognizable and unambiguous mark for identifying the surgical/invasive site that is consistent throughout the hospital."}}, {"model": "jci.measurable", "pk": 23, "fields": {"standard": 6, "order": 3, "content": "Surgical/invasive site marking is done by the person performing the procedure and involves the patient in the marking process."}}, {"model": "jci.measurable", "pk": 24, "fields": {"standard": 10, "order": 1, "content": "The full team actively participates in a time-out process, which includes a) through c) in the intent, in the area in which the surgical/invasive procedure will be performed, immediately before starting the procedure. Completion of the time-out is documented. (Also see MOI.11.1)"}}, {"model": "jci.measurable", "pk": 25, "fields": {"standard": 10, "order": 2, "content": "Before the patient leaves the area in which the surgical/invasive procedure was performed, a sign-out process is conducted, which includes at least d) through g) in the intent."}}, {"model": "jci.measurable", "pk": 26, "fields": {"standard": 10, "order": 3, "content": "When surgical/invasive procedures are performed, including medical and dental procedures done in settings other than the operating theatre, the hospital uses uniform processes to ensure safe surgery."}}, {"model": "jci.measurable", "pk": 27, "fields": {"standard": 7, "order": 1, "content": "The hospital has adopted current evidence-based hand-hygiene guidelines."}}, {"model": "jci.measurable", "pk": 28, "fields": {"standard": 7, "order": 2, "content": "The hospital implements a hand-hygiene program throughout the hospital."}}, {"model": "jci.measurable", "pk": 29, "fields": {"standard": 7, "order": 3, "content": "Hand-washing and hand-disinfection procedures are used in accordance with hand-hygiene guide- lines throughout the hospital. (Also see IPSG.9, ME 4)"}}, {"model": "jci.measurable", "pk": 30, "fields": {"standard": 8, "order": 1, "content": "The hospital implements a process for assessing all inpatients for fall risk and uses assessment tools/ methods appropriate for the patients being served."}}, {"model": "jci.measurable", "pk": 31, "fields": {"standard": 8, "order": 2, "content": "The hospital implements a process for the reassessment of inpatients who may become at risk for falls due to a change in condition, or are already at risk for falls based on the documented assessment."}}, {"model": "jci.measurable", "pk": 32, "fields": {"standard": 8, "order": 3, "content": "Measures and/or interventions to reduce fall risk are implemented for those identified inpatients, situations, and locations within the hospital assessed to be at risk. Patient interventions are documented."}}, {"model": "jci.measurable", "pk": 33, "fields": {"standard": 37, "order": 1, "content": "The hospital implements a process for screening outpatients whose condition, diagnosis, situation, or location may put them at risk for falls and uses screening tools/methods appropriate for the patients being served."}}, {"model": "jci.measurable", "pk": 34, "fields": {"standard": 37, "order": 2, "content": "When fall risk is identified from the screening process, measures and/or interventions are implemented to reduce fall risk for those outpatients identified to be at risk, and the screening and interventions are documented."}}, {"model": "jci.measurable", "pk": 35, "fields": {"standard": 37, "order": 3, "content": "Measures and/or interventions to reduce fall risk are implemented in situations and locations in the outpatient department(s) assessed to be a risk for falls."}}] \ No newline at end of file diff --git a/process/admin.py b/process/admin.py index 17b29a2..84a5815 100644 --- a/process/admin.py +++ b/process/admin.py @@ -1,6 +1,6 @@ from django.contrib import admin -from process.models import Approval, Review, GatherComments, Knowledge, Task +from process.models import Approval, Review, GatherComments, Task class ProcessAdmin(admin.ModelAdmin): @@ -14,5 +14,4 @@ class TaskAdmin(admin.ModelAdmin): admin.site.register(Approval, ProcessAdmin) admin.site.register(Review, ProcessAdmin) admin.site.register(GatherComments, ProcessAdmin) -admin.site.register(Knowledge, ProcessAdmin) admin.site.register(Task, TaskAdmin) diff --git a/process/migrations/0001_initial.py b/process/migrations/0001_initial.py index ffd1659..33822fd 100644 --- a/process/migrations/0001_initial.py +++ b/process/migrations/0001_initial.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-20 18:56 +# Generated by Django 1.11.5 on 2017-11-16 20:47 from __future__ import unicode_literals +from django.conf import settings from django.db import migrations, models import django.db.models.deletion import process.models @@ -12,7 +13,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ('evolus', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('dms', '0001_initial'), ] operations = [ @@ -20,15 +22,15 @@ class Migration(migrations.Migration): name='Process', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('process_type', models.CharField(max_length=50)), + ('created_at', models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('assigned_to', models.EmailField(max_length=254)), ('status', models.IntegerField(choices=[(1, 'Created'), (3, 'Completed')])), + ('assigned_to', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( @@ -45,13 +47,6 @@ class Migration(migrations.Migration): ], bases=('process.process', process.models.DraftProcessMixin), ), - migrations.CreateModel( - name='Knowledge', - fields=[ - ('process_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='process.Process')), - ], - bases=('process.process', process.models.PublishedProcessMixin), - ), migrations.CreateModel( name='Review', fields=[ @@ -62,11 +57,15 @@ class Migration(migrations.Migration): migrations.AddField( model_name='task', name='process', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='process.Process'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='process.Process'), ), migrations.AddField( model_name='process', name='document_version', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='evolus.Version'), + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='processes', to='dms.Version'), + ), + migrations.AlterUniqueTogether( + name='task', + unique_together=set([('assigned_to', 'process', 'status')]), ), ] diff --git a/process/migrations/0002_auto_20170921_1847.py b/process/migrations/0002_auto_20170921_1847.py deleted file mode 100644 index 17827a0..0000000 --- a/process/migrations/0002_auto_20170921_1847.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-21 18:47 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('process', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='assigned_to', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/process/migrations/0003_auto_20170921_1855.py b/process/migrations/0003_auto_20170921_1855.py deleted file mode 100644 index e360d04..0000000 --- a/process/migrations/0003_auto_20170921_1855.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-09-21 18:55 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('process', '0002_auto_20170921_1847'), - ] - - operations = [ - migrations.AlterField( - model_name='task', - name='process', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='process.Process'), - ), - migrations.AlterUniqueTogether( - name='task', - unique_together=set([('assigned_to', 'process', 'status')]), - ), - ] diff --git a/process/migrations/0004_remove_process_process_type.py b/process/migrations/0004_remove_process_process_type.py deleted file mode 100644 index cf8fc90..0000000 --- a/process/migrations/0004_remove_process_process_type.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-27 20:55 -from __future__ import unicode_literals - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('process', '0003_auto_20170921_1855'), - ] - - operations = [ - migrations.RemoveField( - model_name='process', - name='process_type', - ), - ] diff --git a/process/migrations/0005_process_created_at.py b/process/migrations/0005_process_created_at.py deleted file mode 100644 index 049724e..0000000 --- a/process/migrations/0005_process_created_at.py +++ /dev/null @@ -1,22 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.5 on 2017-10-31 09:14 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('process', '0004_remove_process_process_type'), - ] - - operations = [ - migrations.AddField( - model_name='process', - name='created_at', - field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now), - preserve_default=False, - ), - ] diff --git a/process/models.py b/process/models.py index 50d3df6..9b22243 100644 --- a/process/models.py +++ b/process/models.py @@ -4,16 +4,31 @@ from django.contrib.auth.models import User class Process(models.Model): - document_version = models.ForeignKey('evolus.Version', related_name='processes') + """A process is a group of tasks that needs to be completed by several users. + + Attributes: + document_version + created_at (datetime - auto) + """ + document_version = models.ForeignKey('dms.Version', related_name='processes') created_at = models.DateTimeField(auto_now_add=True) def percentage_of_completion(self): + """Defines how much the current has progressed. + + At 100%, the process is considered finished. + + Returns: + The number of status where status = 3 'Completed', divided by the total number of tasks, times 100. + If there are no tasks associated to the current process, we simply return 'NaN' + """ total = self.tasks.count() if total: return self.tasks.filter(status=3).count() / self.tasks.count() * 100 return 'NaN' def __str__(self): + """Returns the current document version on which the process applies.""" return 'Process on {}'.format(self.document_version) def create_task(self, assigned_to): @@ -66,6 +81,7 @@ class Task(models.Model): class PublishedProcessMixin(object): + """Defines a specific mixin that only applies on published version""" def save(self, *args, **kwargs): if self.document_version.status == 'Draft': raise TypeError('Review flow cant apply to draft documents') @@ -73,6 +89,7 @@ class PublishedProcessMixin(object): class DraftProcessMixin(object): + """Defines a specific mixin that only applies on draft version.""" def save(self, *args, **kwargs): if self.document_version.status == 'Published': raise TypeError('Review flow cant apply to published documents') @@ -80,6 +97,7 @@ class DraftProcessMixin(object): class Review(Process, PublishedProcessMixin): + """A review process is a process that will apply when a document has been published.""" PROCESS_TYPE = 'Review' def __str__(self): @@ -87,6 +105,7 @@ class Review(Process, PublishedProcessMixin): class Approval(Process, DraftProcessMixin): + """Approval process, to published a draft version and make it accessible to other people.""" PROCESS_TYPE = 'Approval' def save(self, *args, **kwargs): @@ -109,10 +128,3 @@ class GatherComments(Process, DraftProcessMixin): super().save() for reviewer in self.document_version.reviewers.all(): self.create_task(reviewer) - - -class Knowledge(Process, PublishedProcessMixin): - PROCESS_TYPE = 'Knowledge' - - def allow_tasks_delegation(self): - return False diff --git a/requirements/base.txt b/requirements/base.txt index ced687f..c53e0a2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -3,5 +3,6 @@ django-closuretree<1.2 django-filter==1.0.4 django-simple-history==1.9.0 django-simple-history==1.9.0 +django-mptt==0.8.7 pylint markdown diff --git a/revisions/a_acheter.md b/revisions/a_acheter.md new file mode 100644 index 0000000..f9b41c8 --- /dev/null +++ b/revisions/a_acheter.md @@ -0,0 +1,3 @@ +Thermomètre de frigo +Rétroviseur vélo +Mysterium (jeu de plateau ou le bidule sur l'ordi?)