diff --git a/src/main/webapp/assets/locale/es.json b/src/main/webapp/assets/locale/es.json
new file mode 100644
index 00000000..ecf018f9
--- /dev/null
+++ b/src/main/webapp/assets/locale/es.json
@@ -0,0 +1,2484 @@
+{
+ "locale": "es",
+ "translations": {
+ "AET": "AET",
+ "APPLY": "APPLY",
+ "ARRIVED": "ARRIVED",
+ "Add": "Add",
+ "All": "All",
+ "CANCEL": "CANCEL",
+ "CANCEL_UPS": "Cancel UPS",
+ "CANCELED": "CANCELED",
+ "CANCELLED": "CANCELLED",
+ "CLOSE": "CLOSE",
+ "COERCE": "COERCE",
+ "COMPLETED": "COMPLETED",
+ "CORRECT": "CORRECT",
+ "COUNT": "COUNT",
+ "CREATE": "CREATE",
+ "CREATED": "CREATED",
+ "Clear": "Clear",
+ "DB_RECORD_EXISTS": "DB_RECORD_EXISTS",
+ "DELETE": "DELETE",
+ "DEPARTED": "DEPARTED",
+ "DISCONTINUED": "DISCONTINUED",
+ "Day": "Day",
+ "ECHO": "ECHO",
+ "EDIT_CLONE": "EDIT CLONE",
+ "EXPORT": "EXPORT",
+ "EXPORT_SCHEDULED": "EXPORT_SCHEDULED",
+ "FAILED": "FAILED",
+ "FAILED_TO_EXPORT": "FAILED_TO_EXPORT",
+ "FAILED_TO_REJECT": "FAILED_TO_REJECT",
+ "FROZEN": "FROZEN",
+ "False": "False",
+ "HIGH": "HIGH",
+ "Hour": "Hour",
+ "INCOMPLETE": "INCOMPLETE",
+ "IN_PROGRESS": "IN PROGRESS",
+ "Issuer_of_Accession_number_sequence_00080051": "Issuer of Accession Number Sequence (0008,0051)",
+ "LOW": "LOW",
+ "MEDIUM": "MEDIUM",
+ "MERGE": "MERGE",
+ "Month": "Month",
+ "NONE": "NONE",
+ "NOT_FOUND": "NOT_FOUND",
+ "OBJECT_CHECKSUM": "OBJECT_CHECKSUM",
+ "OBJECT_EXISTS": "OBJECT_EXISTS",
+ "OBJECT_FETCH": "OBJECT_FETCH",
+ "OBJECT_SIZE": "OBJECT_SIZE",
+ "OK": "OK",
+ "OVERWRITE": "OVERWRITE",
+ "PDQ_ServiceID": "PDQ ServiceID",
+ "PENDING": "PENDING",
+ "QUERY": "QUERY",
+ "READ": "READ",
+ "READY": "READY",
+ "REJECT": "REJECT",
+ "REJECTED": "REJECTED",
+ "RESET": "RESET",
+ "RETRIEVE": "RETRIEVE",
+ "S3_MD5SUM": "S3_MD5SUM",
+ "SAVE": "SAVE",
+ "SAVE_CHANGES": "SAVE CHANGES",
+ "SCHEDULED": "SCHEDULED",
+ "SEARCH": "SEARCH",
+ "SEND": "SEND",
+ "SEND_ALL_STUDIES": "SEND ALL STUDIES",
+ "SEND_STUDY_TO_SECONDARY_AE": "SEND STUDY TO SECONDARY AE",
+ "SET": "SET",
+ "SIZE": "SIZE",
+ "STARTED": "STARTED",
+ "START_UPLOADING": "START UPLOADING",
+ "SUBMIT": "SUBMIT",
+ "SUPPLEMENT": "SUPPLEMENT",
+ "SYNCHRONIZE": "SYNCHRONIZE",
+ "SYNCHRONIZE_THIS_ENTRIES": "SYNCHRONIZE THIS ENTRIES",
+ "Scheduled workitem_code_sequence_00404018": "Scheduled Workitem Code Sequence (0040,4018)",
+ "Second": "Second:",
+ "Select": "Select",
+ "Set": "Set",
+ "SourceURL": "Source URL",
+ "SsourceRetrieveAET": "Source Retrieve AET",
+ "TRIGGER": "TRIGGER",
+ "True": "True",
+ "UNAVAILABLE": "UNAVAILABLE",
+ "UNVERIFIED": "UNVERIFIED",
+ "UPDATABLE": "UPDATABLE",
+ "UPDATE": "UPDATE",
+ "UPLOAD": "UPLOAD",
+ "URI": "URI",
+ "Unchecked": "Unchecked",
+ "VERIFICATION_FAILED": "VERIFICATION_FAILED",
+ "VERIFIED": "VERIFIED",
+ "WARNING": "WARNING",
+ "Week": "Week",
+ "YES": "YES",
+ "Year": "Year",
+ "Yes": "Yes",
+ "_and_": " and ",
+ "abort": " Abort ",
+ "about": "About",
+ "acc._nr.": "Acc. Nr.",
+ "accepted_user_roles_in_the_aets_are_missing": "Accepted User Roles in the AETs are missing, add at least one role per AET (ArchiveDevice -> AET -> Archive Network AE -> Accepted User Role)",
+ "access_control_id": "Access Control ID",
+ "access_control_id_updated_matching": "Access Control ID updated successfully to matching studies",
+ "access_control_id_updated_selected": "Access Control ID updated successfully to selected studies!",
+ "access_control_id_updated_the_study": "Access Control ID updated successfully to the study!",
+ "accession_number": "Accession number",
+ "accession_number_00080050": "Accession Number (0008,0050)",
+ "action_selected_entries_question": "Are you sure you want to {$PH} selected entries?",
+ "action_task_question": "Are you sure you want to {$PH} this task?",
+ "actions": "Actions",
+ "actions_for_selections": "Actions for selections",
+ "active_participant": "Active Participant",
+ "active_participant_user_id": "Active Participant User ID",
+ "add": "add",
+ "add_duration": "Add duration",
+ "add_max_range": "Add Max. Range",
+ "add_period": "Add period",
+ "admission_id": "Admission ID",
+ "ae-list.application_entries_list": "Application Entities list",
+ "ae-list.association_acceptor": "Association Acceptor",
+ "ae-list.association_initiator": "Association Initiator",
+ "ae-list.error_getting_device_": "Error getting device {$@@device}",
+ "ae-list.new_aet": "New AET",
+ "ae-list.other_ae_title": "Other AETitle",
+ "ae-list.query_ae_list": "Query AE List",
+ "ae-list.set_as_accepted_aet": "{$@@newAet} was set successfully as 'Accepted Calling AE Title' to following AETs: {$@@aets}",
+ "ae_list": "AE list",
+ "ae_removed_from_device_successfully": "Ae removed from device successfully!",
+ "ae_title": "AE Title",
+ "ae_title_of_the_secondary_c_find_scp": "AE Title of the secondary C-FIND SCP",
+ "aet_added_to_device_successfully": "Aet added to device successfully!",
+ "aet_not_found": "Aet not found!",
+ "aet_of_a_requester": "AET of a Requester",
+ "aet_primary_c_find_scp": "AE Title of the primary C-FIND SCP",
+ "aet_required": "Aet is required!",
+ "aetitle": "AETitle",
+ "after": "After",
+ "all": "all",
+ "all_archives": "All - Archives",
+ "all_available_attributes": "all available attributes",
+ "animated_gif": "Animated gif",
+ "app.info": "Info ",
+ "app.info_message": "Info message!",
+ "append_extension_to_device": "Append {$PH} extension to device",
+ "application_cluster": "Application Cluster",
+ "application_entity_ae_title": "Application Entity (AE) title",
+ "application_errors": "Application Errors",
+ "application_warnings": "Application Warnings",
+ "archive_ae_title": "Archive AE Title",
+ "archive_ae_title_to_filter_by": "Archive AE Title to filter by",
+ "archive_device": "Archive Device",
+ "archive_device_name_not_found": "Archive device name not found, reload the page and try again!",
+ "archive_reloaded_successfully": "Archive reloaded successfully!",
+ "archives": "Archives",
+ "are_permission_configured": "Are you sure you configured the permissions?",
+ "are_you_sure_you_want_to_action_all_entries": "Are you sure you want to {$@@action} all entries?",
+ "are_you_sure_you_want_to_change_the_patient_id": "Are you sure you want to change the patient id?",
+ "are_you_sure_you_want_to_delete_from_device_aet": "Are you sure you want to delete from ${device} the AE: ${ae}?",
+ "are_you_sure_you_want_to_delete_vendor": "Are you sure you want to delete the vendor data of this device?",
+ "are_you_sure_you_want_to_reject_the_not_selected_study_and_export_to_selected_on": "Are you sure you want to reject the not selected study and export the selected one in to the not selected AET?",
+ "are_you_sure_you_want_to_remove_extension": "Are you sure you want to remove this extension and all of its child objects?",
+ "are_you_sure_you_want_to_replace_vendor": "Are you sure you want to replace the vendor data of this device?",
+ "are_you_sure_you_want_to_send_all_studies": "Are you sure you want to send all studies to {$@@secondaryAet}?",
+ "are_you_sure_you_want_to_send_this_study_to_aet": "Are you sure you want to send this study to {$PH}?",
+ "are_youe_sure_you_wat_to_remove_part": "Are you sure you want to remove this part from device?",
+ "asc_expected_completion_date_and_time": "Oldest Expected Completion DateTime first",
+ "asc_expected_completion_date_and_time_tooltip": "Expected Completion Date and Time - old to new",
+ "asc_scheduled_procedure_step_priority": "Lowest SPS Priority first",
+ "asc_scheduled_procedure_step_priority_tooltip": "Scheduled Procedure Step Priority - Low to High",
+ "asc_scheduled_procedure_step_start_date_and_time": "Oldest SPS Start Date and Time first",
+ "asc_scheduled_procedure_step_start_date_and_time_tooltip": "Scheduled Procedure Step Start Date and Time - old to new",
+ "associations.no_associations": "No open associations found!",
+ "associations.open_associations": "Open Associations",
+ "associations.press_start_refresh": "Press Start or Refresh to get associations",
+ "attribute_already_exists": "Attribute already exists!",
+ "attribute_set": "Attribute Set",
+ "attributes": "Attributes",
+ "audit-record-repository.access_pointid": "Access PointID",
+ "audit-record-repository.audit_enterprise_site_id": "Audit Enterprise Site ID",
+ "audit-record-repository.authentication_audit_records": "Authentication Audit Records",
+ "audit-record-repository.event_id": "Event ID",
+ "audit-record-repository.event_type_code": "Event Type Code",
+ "audit-record-repository.limit_of_10_000_entries_reached": "Limit of 10 000 entries reached!",
+ "audit-record-repository.network_access_pointid": "Network Access PointID",
+ "audit-record-repository.no_entries_found": "No entries found!",
+ "audit-record-repository.patient_id_filter_is_not_set": "Patient ID filter is not set!",
+ "audit-record-repository.patient_id_param": "Patient ID: {$@@patient_id}",
+ "audit-record-repository.patient_name_param": "Patient Name: {$PH}",
+ "audit-record-repository.patient_record": "Patient Record",
+ "audit-record-repository.patient_records": "Patient Records",
+ "audit-record-repository.set_at_least_one_filter": "Set at least one filter!",
+ "audit-record-repository.site_id": "Site ID",
+ "audit-record-repository.study_uid\nevent_id": "Study UID\nEvent ID",
+ "audit-record-repository.user_id": "User ID",
+ "audit_errors": "Audit Errors",
+ "audit_record_repository": "Audit Record Repository",
+ "audit_source_ID": "Audit Source ID",
+ "audit_source_id": "AuditSourceID",
+ "auth.permission_denied": "Permission denied",
+ "authentication_events": "Authentication Events",
+ "average_read_": "Average read B/s",
+ "average_written_": "Average written B/s",
+ "avg_unit": "Avg{$PH}",
+ "back:": "back",
+ "batch_id": "Batch ID",
+ "batch_id_grouped": "Batch ID grouped",
+ "batch_id_not_found": "Batch ID not found!",
+ "batch_name": "Batch Name",
+ "before": "Before",
+ "between": "Between",
+ "bin_min": "Bin (min)",
+ "bin_value_not_valid": "Bin value is not valid!",
+ "birth_date": "Birth Date",
+ "body_part": "Body Part",
+ "body_part_examined": "Body part examined",
+ "body_parts.abdomen": "Abdomen",
+ "body_parts.abdomen_pelvis": "Abdomen and Pelvis",
+ "body_parts.abdominal_aorta": "Abdomen aorta",
+ "body_parts.acjoint": "Acromioclavicular joint",
+ "body_parts.adrenal": "Adrenal gland",
+ "body_parts.amniotic_fluid": "Amniotic fluid",
+ "body_parts.ankle": "Ankle joint",
+ "body_parts.antecubital_vein": "Antecubital vein",
+ "body_parts.anterior_cardiac_vein": "Anterior cardiac vein",
+ "body_parts.anterior_cerebral_artery": "Anterior cerebral artery",
+ "body_parts.anterior_communicating_artery": "Anterior communicating artery",
+ "body_parts.anterior_spinal_artery": "Anterior spinal artery",
+ "body_parts.anterior_tibial_artery": "Anterior tibial artery",
+ "body_parts.anusrectumsigmd": "Anus, rectum and sigmoid colon",
+ "body_parts.aorta": "Aorta",
+ "body_parts.aortic_arch": "Aortic arch",
+ "body_parts.appendix": "Appendix",
+ "body_parts.artery": "Artery",
+ "body_parts.ascending_aorta": "Ascending aorta",
+ "body_parts.ascending_colon": "Ascending colon",
+ "body_parts.axilla": "Axilla",
+ "body_parts.axillary_artery": "Axillary Artery",
+ "body_parts.axillary_vein": "Axillary vein",
+ "body_parts.azygos_vein": "Azygos vein",
+ "body_parts.back": "Back",
+ "body_parts.Basilar artery": "Basilar artery",
+ "body_parts.Bile Duct": "Bile Duct",
+ "body_parts.Biliary tract": "Biliary tract",
+ "body_parts.bladder": "Bladder",
+ "body_parts.bladder_urethra": "Bladder and urethra",
+ "body_parts.brachial_artery": "Brachial artery",
+ "body_parts.brachial_vein": "Brachial vein",
+ "body_parts.brain": "Brain",
+ "body_parts.breast": "Breast",
+ "body_parts.bronchus": "Bronchus",
+ "body_parts.buttock": "Buttock",
+ "body_parts.calcaneus": "Calcaneus",
+ "body_parts.calf_leg": "Calf of leg",
+ "body_parts.carotid_artery": "Carotid Artery",
+ "body_parts.carotid_bulb": "Carotid Bulb",
+ "body_parts.celiac_artery": "Celiac artery",
+ "body_parts.cephalic_vein": "Cephalic vein",
+ "body_parts.cerebellum": "Cerebellum",
+ "body_parts.cerebral_artery": "Cerebral artery",
+ "body_parts.cerebral_hemisphere": "Cerebral hemisphere",
+ "body_parts.cervical_spine": "Cervical spine",
+ "body_parts.cervico-thoracic_spine": "Cervico-thoracic spine",
+ "body_parts.cervix": "Cervix",
+ "body_parts.cheek": "Cheek",
+ "body_parts.chest": "Chest",
+ "body_parts.chest_abdomen": "Chest and Abdomen",
+ "body_parts.chest_abdomen_pelvis": "Chest, Abdomen and Pelvis",
+ "body_parts.choroid_plexus": "Choroid plexus",
+ "body_parts.circle_of_Willis": "Circle of Willis",
+ "body_parts.clavicle": "Clavicle",
+ "body_parts.coccyx": "Coccyx",
+ "body_parts.colon": "Colon",
+ "body_parts.common_bile duct": "Common bile duct",
+ "body_parts.common_carotid_artery": "Common carotid artery",
+ "body_parts.common_femoral_artery": "Common femoral artery",
+ "body_parts.common_femoral_vein": "Common femoral vein",
+ "body_parts.common_iliac_artery": "Common iliac artery",
+ "body_parts.common_iliac_vein": "Common iliac vein",
+ "body_parts.cornea": "Cornea",
+ "body_parts.coronary_artery": "Coronary artery",
+ "body_parts.coronary_sinus": "Coronary sinus",
+ "body_parts.descending_aorta": "Descending aorta",
+ "body_parts.descending_colon": "Descending colon",
+ "body_parts.duodenum": "Duodenum",
+ "body_parts.ear": "Ear",
+ "body_parts.elbow": "Elbow joint",
+ "body_parts.endo-arterial": "Endo-arterial",
+ "body_parts.endo-cardiac": "Endo-cardiac",
+ "body_parts.endo-esophageal": "Endo-esophageal",
+ "body_parts.endometrium": "Endometrium",
+ "body_parts.endo-nasal": "Endo-nasal",
+ "body_parts.endo-nasopharyngeal": "Endo-nasopharyngeal",
+ "body_parts.endo-rectal": "Endo-rectal",
+ "body_parts.endo-renal": "Endo-renal",
+ "body_parts.endo-ureteric": "Endo-ureteric",
+ "body_parts.endo-urethral": "Endo-urethral",
+ "body_parts.endo-vaginal": "Endo-vaginal",
+ "body_parts.endo-vascular": "Endo-vascular",
+ "body_parts.endo-venous": "Endo-venous",
+ "body_parts.endo-vesical": "Endo-vesical",
+ "body_parts.entire_body": "Entire body",
+ "body_parts.epididymis": "Epididymis",
+ "body_parts.epigastric_region": "Epigastric region",
+ "body_parts.esophagus": "Esophagus",
+ "body_parts.external_auditory_canal": "External auditory canal",
+ "body_parts.external_carotid_artery": "External carotid artery",
+ "body_parts.external_iliac_artery": "External iliac artery",
+ "body_parts.external_iliac_vein": "External iliac vein",
+ "body_parts.external_jugular_vein": "External jugular vein",
+ "body_parts.extremity": "Extremity",
+ "body_parts.eye": "Eye",
+ "body_parts.eyelid": "Eyelid",
+ "body_parts.face": "Face",
+ "body_parts.facial_artery": "Facial artery",
+ "body_parts.femoral_artery": "Femoral artery",
+ "body_parts.femoral_vein": "Femoral vein",
+ "body_parts.femur": "Femur",
+ "body_parts.fibula": "Fibula",
+ "body_parts.finger": "Finger",
+ "body_parts.flank": "Flank",
+ "body_parts.fontanel_of_skull": "Fontanel of skull",
+ "body_parts.foot": "Foot",
+ "body_parts.forearm": "Forearm",
+ "body_parts.fourth_ventricle": "Fourth Ventricle",
+ "body_parts.gallbladder": "Gallbladder",
+ "body_parts.gastric_vein": "Gastric vein",
+ "body_parts.genicular_artery": "Genicular artery",
+ "body_parts.gestational_sac": "Gestational sac",
+ "body_parts.gluteal_region": "Gluteal region",
+ "body_parts.great_saphenous_vein": "Great saphenous vein",
+ "body_parts.hand": "Hand",
+ "body_parts.head": "Head",
+ "body_parts.head_neck": "Head and Neck",
+ "body_parts.heart": "Heart",
+ "body_parts.hepatic_artery": "Hepatic artery",
+ "body_parts.hepatic_vein": "Hepatic vein",
+ "body_parts.hip": "Hip joint",
+ "body_parts.humerus": "Humerus",
+ "body_parts.hypogastric_region": "Hypogastric region",
+ "body_parts.hypopharynx": "Hypopharynx",
+ "body_parts.ileum": "Ileum",
+ "body_parts.iliac_artery": "Iliac artery",
+ "body_parts.iliac_vein": "Iliac vein",
+ "body_parts.ilium": "Ilium",
+ "body_parts.inferior_mesenteric_artery": "Inferior mesenteric artery",
+ "body_parts.inferior_vena_cava": "Inferior vena cava",
+ "body_parts.inguinal_region": "Inguinal region",
+ "body_parts.innominate_artery": "Innominate artery",
+ "body_parts.innominate_vein": "Innominate vein",
+ "body_parts.internal_auditory_canal": "Internal Auditory Canal",
+ "body_parts.internal_carotid_artery": "Internal carotid artery",
+ "body_parts.internal_iliac_artery": "Internal iliac artery",
+ "body_parts.internal_jugular_vein": "Internal jugular vein",
+ "body_parts.internal_mammary_artery": "Internal mammary artery",
+ "body_parts.intracranial": "Intracranial",
+ "body_parts.jaw": "Jaw region",
+ "body_parts.jejunum": "Jejunum",
+ "body_parts.joint": "Joint",
+ "body_parts.kidney": "Kidney",
+ "body_parts.knee": "Knee",
+ "body_parts.lacrimal_artery": "Lacrimal artery",
+ "body_parts.large_intestine": "Large intestine",
+ "body_parts.larynx": "Larynx",
+ "body_parts.lateral_ventricle": "Lateral Ventricle",
+ "body_parts.left_atrium": "Left atrium",
+ "body_parts.leg": "Lower leg",
+ "body_parts.left_femoral_artery": "Left femoral artery",
+ "body_parts.left_hepatic_vein": "Left hepatic vein",
+ "body_parts.left_hypochondriac_region": "Left hypochondriac region",
+ "body_parts.left_inguinal_region": "Left inguinal region",
+ "body_parts.lingual_artery": "Lingual artery",
+ "body_parts.liver": "Liver",
+ "body_parts.left_lower_quadrant_of_abdomen": "Left lower quadrant of abdomen",
+ "body_parts.left_lumbar_region": "Left lumbar region",
+ "body_parts.lower_limb": "Lower limb",
+ "body_parts.left_portal_vein": "Left portal vein",
+ "body_parts.left_pulmonary_artery": "Left pulmonary artery",
+ "body_parts.lumbar_spine": "Lumbar spine",
+ "body_parts.lumbo-sacral_spine": "Lumbo-sacral spine",
+ "body_parts.lung": "Lung",
+ "body_parts.lumbar_artery": "Lumbar artery",
+ "body_parts.lumbar_region": "Lumbar region",
+ "body_parts.lumen_of_blood_vessel": "Lumen of blood vessel",
+ "body_parts.left_upper_quadrant_of_abdomen": "Left upper quadrant of abdomen",
+ "body_parts.left_ventricle": "Left ventricle",
+ "body_parts.mandible": "Mandible",
+ "body_parts.mastoid_bone": "Mastoid Bone",
+ "body_parts.maxilla": "Maxilla",
+ "body_parts.mediastinum": "Mediastinum",
+ "body_parts.mesenteric_artery": "Mesenteric artery",
+ "body_parts.mesenteric_vein": "Mesenteric vein",
+ "body_parts.middle_cerebral_artery": "Middle cerebral artery",
+ "body_parts.middle_hepatic_vein": "Middle hepatic vein",
+ "body_parts.morisons_pouch": "Morisons Pouch",
+ "body_parts.mouth": "Mouth",
+ "body_parts.nasopharynx": "Nasopharynx",
+ "body_parts.neck": "Neck",
+ "body_parts.neck_chest": "Neck and Chest",
+ "body_parts.neck_chest_abdomen": "Neck, Chest and Abdomen",
+ "body_parts.neck_chest_abdomen_pelvis": "Neck, Chest, Abdomen and Pelvis",
+ "body_parts.nose": "Nose",
+ "body_parts.occipital_artery": "Occipital artery",
+ "body_parts.occipital_vein": "Occipital vein",
+ "body_parts.ophthalmic_artery": "Ophthalmic artery",
+ "body_parts.optic_canal": "Optic canal",
+ "body_parts.orbital_structure": "Orbital structure",
+ "body_parts.ovary": "Ovary",
+ "body_parts.pancreas": "Pancreas",
+ "body_parts.pancreatic_duct": "Pancreatic duct",
+ "body_parts.pancreatic_duct_bile_duct_systems": "Pancreatic duct and bile duct systems",
+ "body_parts.parasternal": "Parasternal",
+ "body_parts.parathyroid": "Parathyroid",
+ "body_parts.parotid_gland": "Parotid gland",
+ "body_parts.patella": "Patella",
+ "body_parts.pelvis": "Pelvis",
+ "body_parts.pelvis_lower_extremities": "Pelvis and lower extremities",
+ "body_parts.penile_artery": "Penile artery",
+ "body_parts.penis": "Penis",
+ "body_parts.perineum": "Perineum",
+ "body_parts.peroneal_artery": "Peroneal artery",
+ "body_parts.phantom": "Phantom",
+ "body_parts.pharynx": "Pharynx",
+ "body_parts.pharynx_larynx": "Pharynx and Larynx",
+ "body_parts.placenta": "Placenta",
+ "body_parts.popliteal_artery": "Popliteal artery",
+ "body_parts.popliteal_fossa": "Popliteal fossa",
+ "body_parts.popliteal_vein": "Popliteal vein",
+ "body_parts.portal_vein": "Portal vein",
+ "body_parts.posterior_cerebral_artery": "Posterior cerebral artery",
+ "body_parts.posterior_communicating_artery": "Posterior communicating artery",
+ "body_parts.posterior_tibial_artery": "Posterior tibial artery",
+ "body_parts.profunda_femoris_artery": "Profunda femoris artery",
+ "body_parts.profunda_femoris_vein": "Profunda femoris vein",
+ "body_parts.prostate": "Prostate",
+ "body_parts.pulmonary_artery": "Pulmonary artery",
+ "body_parts.pulmonary_vein": "Pulmonary vein",
+ "body_parts.radial_artery": "Radial artery",
+ "body_parts.radius": "Radius",
+ "body_parts.radius_ulna": "Radius and ulna",
+ "body_parts.rectouterine_pouch": "Rectouterine pouch",
+ "body_parts.rectum": "Rectum",
+ "body_parts.renal_artery": "Renal artery",
+ "body_parts.renal_vein": "Renal vein",
+ "body_parts.retroperitoneum": "Retroperitoneum",
+ "body_parts.right_atrium": "Right atrium",
+ "body_parts.right_femoral_artery": "Right femoral artery",
+ "body_parts.right_hepatic_vein": "Right hepatic vein",
+ "body_parts.right_hypochondriac_region": "Right hypochondriac region",
+ "body_parts.rib": "Rib",
+ "body_parts.right_inguinal_region": "Right inguinal region",
+ "body_parts.right_lower_quadrant_of_abdomen": "Right lower quadrant of abdomen",
+ "body_parts.right_lumbar_region": "Right lumbar region",
+ "body_parts.right_portal_vein": "Right portal vein",
+ "body_parts.right_pulmonary_artery": "Right pulmonary artery",
+ "body_parts.right_upper_quadrant_of_abdomen": "Right upper quadrant of abdomen",
+ "body_parts.right_ventricle": "Right ventricle",
+ "body_parts.sacroiliac_joint": "Sacroiliac joint",
+ "body_parts.sacrum": "Sacrum",
+ "body_parts.saphenofemoral_junction": "Saphenofemoral junction",
+ "body_parts.saphenous_vein": "Saphenous vein",
+ "body_parts.scalp": "Scalp",
+ "body_parts.scapula": "Scapula",
+ "body_parts.sclera": "Sclera",
+ "body_parts.scrotum": "Scrotum",
+ "body_parts.sella_turcica": "Sella turcica",
+ "body_parts.seminal_vesicle": "Seminal vesicle",
+ "body_parts.sesamoid_bones_of_foot": "Sesamoid bones of foot",
+ "body_parts.shoulder": "Shoulder",
+ "body_parts.sigmoid_colon": "Sigmoid Colon",
+ "body_parts.skull": "Skull",
+ "body_parts.small_intestine": "Small intestine",
+ "body_parts.spine": "Spine",
+ "body_parts.spinal_cord": "Spinal Cord",
+ "body_parts.spleen": "Spleen",
+ "body_parts.splenic_artery": "Splenic artery",
+ "body_parts.splenic_vein": "Splenic vein",
+ "body_parts.sternoclavicular_joint": "Sternoclavicular joint",
+ "body_parts.sternum": "Sternum",
+ "body_parts.stomach": "Stomach",
+ "body_parts.subclavian_artery": "Subclavian artery",
+ "body_parts.subclavian_vein": "Subclavian vein",
+ "body_parts.subcostal": "Subcostal",
+ "body_parts.submandibular_gland": "Submandibular gland",
+ "body_parts.superficial_femoral_artery": "Superficial femoral artery",
+ "body_parts.superficial_femoral_vein": "Superficial femoral vein",
+ "body_parts.superior_left_pulmonary_vein": "Superior left pulmonary vein",
+ "body_parts.superior_mesenteric_artery": "Superior mesenteric artery",
+ "body_parts.superior_right_pulmonary_vein": "Superior right pulmonary vein",
+ "body_parts.superior_thyroid_artery": "Superior thyroid artery",
+ "body_parts.superior_vena_cava": "Superior vena cava",
+ "body_parts.supraclavicular_region_of_neck": "Supraclavicular region of neck",
+ "body_parts.suprapubic_region": "Suprapubic region",
+ "body_parts.temporomandibular_joint": "Temporomandibular joint",
+ "body_parts.testis": "Testis",
+ "body_parts.thalamus": "Thalamus",
+ "body_parts.thigh": "Thigh",
+ "body_parts.third_ventricle": "Third ventricle",
+ "body_parts.thoracic_aorta": "Thoracic aorta",
+ "body_parts.thorax": "Thorax",
+ "body_parts.thoracic_spine": "Thoracic spine",
+ "body_parts.thoraco-lumbar_spine": "Thoraco-lumbar spine",
+ "body_parts.thumb": "Thumb",
+ "body_parts.thymus": "Thymus",
+ "body_parts.thyroid": "Thyroid",
+ "body_parts.tibia": "Tibia",
+ "body_parts.tibia_fibula": "Tibia and fibula",
+ "body_parts.toe": "Toe",
+ "body_parts.tongue": "Tongue",
+ "body_parts.trachea": "Trachea",
+ "body_parts.trachea_bronchus": "Trachea and bronchus",
+ "body_parts.transverse_colon": "Transverse colon",
+ "body_parts.ulna": "Ulna",
+ "body_parts.ulnar_artery": "Ulnar artery",
+ "body_parts.umbilical_artery": "Umbilical artery",
+ "body_parts.umbilical_region": "Umbilical region",
+ "body_parts.umbilical_vein": "Umbilical vein",
+ "body_parts.upper_arm": "Upper arm",
+ "body_parts.upper_limb": "Upper limb",
+ "body_parts.upper_urinary_tract": "Upper urinary tract",
+ "body_parts.ureter": "Ureter",
+ "body_parts.urethra": "Urethra",
+ "body_parts.uterus": "Uterus",
+ "body_parts.vagina": "Vagina",
+ "body_parts.vein": "Vein",
+ "body_parts.vertebral_artery": "Vertebral Artery",
+ "body_parts.vulva": "Vulva",
+ "body_parts.wrist": "Wrist joint",
+ "body_parts.zygoma": "Zygoma",
+ "c_move_scp_aet_filter": "C-MOVE SCP AE Title to filter by",
+ "calling_aet": "Calling AET",
+ "calling_hl7_application": "Calling Hl7 Application",
+ "cancel": "cancel",
+ "cancel_all_matching_tasks": "Cancel all matching tasks",
+ "cancel_this_task": "Cancel this task",
+ "cancellation_of_the_ups_workitem_was_requested_successfully": "Cancellation of the UPS Workitem was requested successfully!",
+ "captured_image_type": "Captured Image Type:",
+ "change_sps_matching": "Change Scheduled Procedure Step Status of the matching MWL",
+ "change_sps_selected": "Change Scheduled Procedure Step Status of the selected MWL",
+ "change_sps_single": "Change Scheduled Procedure Step Status of the MWL",
+ "charset": "Character Set",
+ "check_MD5_checksum_on_S3": "Check MD5 checksum of object on S3 Storage System",
+ "check_different": "Check Different",
+ "check_for_existence_of_db_records": "Check for existence of DB records",
+ "check_missing": "Check Missing",
+ "chose_a_file_to_upload": "Choose a File to upload:",
+ "click_save_if_you_want_to_remove_permanently": "Click save if you want to remove \"{$@@selectedTitle}\" permanently!",
+ "close_more_block": "Close More Block{$START_ITALIC_TEXT}{$CLOSE_ITALIC_TEXT}",
+ "close_more_filters": "Close more filters",
+ "code_value_00080100": "Code Value (0008,0100)",
+ "coding_scheme_designator_00080102": "Coding scheme designator (0008,0102)",
+ "coming_soon": "Coming soon...",
+ "comments": "Comments",
+ "comp_rem_failed": "Comp. / Rem. / Failed",
+ "compare_attribute_set_id": "Compare attribute set id",
+ "compare_diff": "Compare Diff",
+ "compare_field": "Compare field",
+ "compare_group_title": "Compare {$PH}",
+ "complete_date": "Complete Date",
+ "compress": "Compress",
+ "compression_failed": "Compression Failed",
+ "config_name": "Config Name",
+ "configure_webapp_with_webservice": "Configure at least one web application with {$@@webServiceClass} web service class to {@@entityOp}",
+ "connecting_to_elasticsearch": "Connecting to Elasticsearch...",
+ "connection_open_for_hh_mm_ss": ",Connection open for (hh:mm:ss)",
+ "connection_time_browser": "Connection time (Browser)",
+ "connection_time_server": "Connection time (Server)",
+ "connection_with_that_name_exist": "Connection with that name exist!",
+ "content_date": "Content Date",
+ "control": "Control",
+ "control.archive_control": "Archive Control",
+ "control.archive_device_description": "Archive device description",
+ "control.archive_device_name": "Archive device name",
+ "control.archive_reloaded": "Archive {$@@dcmuiDeviceURLName} reloaded successfully",
+ "control.archive_started": "Archive {$@@dcmuiDeviceURLName} started successfully",
+ "control.archive_stopped": "Archive {$@@dcmuiDeviceURLName} stopped successfully",
+ "control.status_refetched": "Status of {$@@dcmuiDeviceURLName} was successfully refetched!",
+ "corrupted-studies.calling_aet_is_missing": "Calling AET is missing!",
+ "corrupted-studies.error_getting_aets": "Error getting AETs!",
+ "corrupted_studies": "Corrupted Studies",
+ "count": "Count",
+ "count_clinch_param": "Count ( {$@@sum} )",
+ "count_of_found_studies": "Count of found studies",
+ "count_param": "COUNT {$@@count}",
+ "count_size": "Count/Size",
+ "counts_from_current_archive": "Counts from current archive",
+ "create-ae.a_unique_name_for_this_device": "A unique name for this device",
+ "create-ae.add_connection": "Add connection",
+ "create-ae.ae_description": "AE Description",
+ "create-ae.already_available_aets": "Already available AETs",
+ "create-ae.already_existing_devices": "Already existing devices",
+ "create-ae.arbitrary_meaningful_name_for_the_network_conn": "Arbitrary/Meaningful name for the Network Connection object",
+ "create-ae.boolean_to_indicate_whether_this_device_is_presently_installed": "Boolean to indicate whether this device is presently installed on the network",
+ "create-ae.calling_aet": " Calling AET: ",
+ "create-ae.create-ae.no_connection_found": "No connection found",
+ "create-ae.create_network_connection_suggestion": " To be able to select the reference create first a network connection or select device with a network connection! ",
+ "create-ae.dns_name_for_this_particular_conn": "DNS name for this particular connection",
+ "create-ae.hostname": "Hostname",
+ "create-ae.institution_department_name": "Institution Department Name",
+ "create-ae.json_pointers_to_the_network_connection": "JSON Pointers to the Network Connection objects for this AE",
+ "create-ae.locally_defined_names_for_a_subset_app": "Locally defined names for a subset of related applications",
+ "create-ae.network_ae": "Network AE",
+ "create-ae.network_connection_reference": "Network Connection Reference",
+ "create-ae.new_device": "New Device",
+ "create-ae.new_network_connection": "New Network Connection",
+ "create-ae.new_network_connection_to_selected_device": "New Network Connection to selected device",
+ "create-ae.no_dicom_connection": "No DICOM connection found!",
+ "create-ae.parameter_is_missing_host_port": "Parameter is missing, check the parameters Host, port, AE Title and Calling AET!",
+ "create-ae.port": "Port",
+ "create-ae.register_new_application_entity": "Register new Application Entity",
+ "create-ae.remove_connection": "Remove connection",
+ "create-ae.represents_the_kind_of_device": "Represents the kind of device and is most applicable for acquisition modalities",
+ "create-ae.select_device_to_connect_the_ae": " Select device to connect the AE to: ",
+ "create-ae.select_first_a_device": " Select first a device! ",
+ "create-ae.select_one_of_the_dicom_connections": " Select one of the DICOM connections: ",
+ "create-ae.set_the_new_application_entity": "Set the new Application Entity as 'Accepted Calling AE Title' to following AETs:",
+ "create-ae.should_be_the_same_as_the_value_of_station_name00080080": "Should be the same as the value of Institution Name (0008,0080) in SOP Instances created by this device",
+ "create-ae.should_be_the_same_as_the_value_of_station_name00081010": "Should be the same as the value of Station Name (0008,1010) in SOP instances created by this device",
+ "create-ae.should_be_the_same_as_the_value_of_station_name00081040": "Should be the same as the value of Institutional Department Name (0008,1040) in SOP Instances created by this device",
+ "create-ae.tcp_udp_port_this_a_service_is_listening_on": "TCP/UDP port that a service is listening on. May be missing if this network connection is only used for outbound connections",
+ "create-ae.test_connection": "Test Connection",
+ "create-ae.unconstrained_text_description": "Unconstrained text description of the application entity",
+ "create-ae.unconstrained_text_description_of_the_device": "Unconstrained text description of the device",
+ "create-ae.unique_ae_title": "Unique AE title for this Network AE",
+ "create-exporter.export_priority": "Export Priority",
+ "create-exporter.exporter_descriptor": "Exporter Descriptor",
+ "create-exporter.instance_availability": "Instance Availability",
+ "create-exporter.jms_queue_name": "Task Queue Name",
+ "create_c": "Create (C)",
+ "create_new_device": "Create new device",
+ "create_new_filter-template": "Creating new filter-template",
+ "create_new_ups": "Create new UPS Workitem",
+ "created": "Created",
+ "created_date": "Created Date",
+ "created_time": "Created time",
+ "csv-upload.count_could_not_be_extracted": "Count could not be extracted",
+ "csv-upload.select_csv_file": "Select CSV-File:",
+ "csv-upload.upload_csv_title": "Upload csv file with Study Instance UIDs",
+ "csv.date": "Date",
+ "csv.filter": "Filter",
+ "csv.hl7_message": "Hl7 Message",
+ "csv.study_created_date_param": "Study Created Date {$@@quantity}",
+ "csv.study_date_param": "Study Date {$@@quantity}",
+ "csv.total_size_count": "Total Size/Count",
+ "custom_modality_code": "Custom modality code:",
+ "daemon_value_found": "Daemon value found, you can remove it manually from the value array:",
+ "dashboard-compare.last_24_h": "Last 24 h",
+ "dashboard.archive_device_not_configured": "Archive device(s) not configured!",
+ "dashboard.archive_device_not_found_in_elasticsearch": "Archive device(s) not found in the devices coming from Elasticsearch",
+ "data_bin_size_in_minutes": "Data bin size in minutes",
+ "date_time_picker": "Date Time Picker",
+ "day": "day:",
+ "day_plural": "days",
+ "day_range": "Day range",
+ "day_singular": "day",
+ "default_was_set_successfully": "Default was set successfully!",
+ "delete": "delete",
+ "delete-rejected.delete_instances_with_rejected_type": "Delete instances with rejected type",
+ "delete-rejected.if_checked_keep_rejection_note_instance": "if checked, keep rejection note instances - only delete rejected instances",
+ "delete-rejected.maximum_reject_date_of_instances_to_delete": "Maximum reject date of instances to delete",
+ "delete_all_matching_tasks": "Delete all matching tasks",
+ "delete_all_tasks": "Delete all tasks",
+ "delete_also_the_device": "Delete also the device ${device}",
+ "delete_batch": "Delete Batch",
+ "delete_d": "Delete (D)",
+ "delete_studies_not_used_since": "Delete Studies Not Used Since",
+ "delete_studies_older_than": "Delete Studies Older Than",
+ "delete_studies_received_before": "Delete Studies Received Before",
+ "delete_task_question": "Are you sure you want to delete this task?",
+ "delete_this_task": "Delete this task",
+ "deleter_storage_threshold": "Deleter / Storage Threshold",
+ "desc_expected_completion_date_and_time": "Newest Expected Completion DateTime first",
+ "desc_expected_completion_date_and_time_tooltip": "Expected Completion Date and Time - new to old",
+ "desc_scheduled_procedure_step_priority": "Highest SPS Priority first",
+ "desc_scheduled_procedure_step_priority_tooltip": "Scheduled Procedure Step Priority - high to low",
+ "desc_scheduled_procedure_step_start_date_and_time": "Newest SPS Start DateTime first",
+ "desc_scheduled_procedure_step_start_date_and_time_tooltip": "Scheduled Procedure Step Start Date and Time - new to old",
+ "description": "Description",
+ "destinationAETs": "Destination AETs",
+ "destination_ae_title_to_filter_by": "Destination AE Title to filter by",
+ "destination_aet": "Destination Aet",
+ "device": "Device",
+ "device-configurator.child_exist": "Child already exist, change some value and try saving again!",
+ "device-configurator.device_created": "Device created successfully!",
+ "device-configurator.parent_dont_exist": "Parent didn't exist, save first the parent",
+ "device_deleted_successfully": "Device deleted successfully!",
+ "device_description": "Device description",
+ "device_name": "Device Name",
+ "device_name_missing": "Device name is missing!",
+ "device_name_to_filter_by": "Device Name to filter by",
+ "device_participant_object_id": "Device Participant Object ID",
+ "device_saved": "Device saved successfully!",
+ "device_with_the_aet_created_successfully": "Device with the AET created successfully!",
+ "devicelist": "devicelist",
+ "devices": "Devices",
+ "devices.are_you_sure_you_want_to_delete_the_device_": "Are you sure you want to delete the device {$@@dicomDeviceName}?",
+ "devices.create_device": "Create device",
+ "devices.create_exporter": "Create exporter",
+ "devices.department_name": "Department Name",
+ "devices.device_cloned": "Device cloned successfully!",
+ "devices.device_installed": "Device installed",
+ "devices.exporter_description_appended": "The new exporter description appended successfully to the device: {$@@dicomDeviceName}",
+ "devices.institution_department_name": "Institution department name",
+ "devices.name_exist": "This name already exists, please choose another one!",
+ "devices.select_device_to_reschedule": "Select device if you want to reschedule to an other device",
+ "devices.set_the_name_for_the_new_device_to_clone": "Set the name for the new device to clone {$@@dicomDeviceName}",
+ "dicom": "dicom",
+ "dicom_specific_char.arabic": "Arabic",
+ "dicom_specific_char.arabic_desc": "Arabic (ISO_IR 127)",
+ "dicom_specific_char.cyrillic": "Cyrillic",
+ "dicom_specific_char.cyrillic_desc": "Cyrillic (ISO_IR 144)",
+ "dicom_specific_char.default_repertoire": "Default repertoire",
+ "dicom_specific_char.gb18030": "GB18030",
+ "dicom_specific_char.gb18030_desc": "GB18030 (GB18030)",
+ "dicom_specific_char.gbk": "GBK",
+ "dicom_specific_char.gbk_desc": "GBK (GBK)",
+ "dicom_specific_char.greek": "Greek",
+ "dicom_specific_char.greek_desc": "Greek (ISO_IR 126)",
+ "dicom_specific_char.hebrew": "Hebrew",
+ "dicom_specific_char.hebrew_desc": "Hebrew (ISO_IR 138)",
+ "dicom_specific_char.japanese": "Japanese",
+ "dicom_specific_char.japanese_desc": "Japanese (ISO_IR 13)",
+ "dicom_specific_char.japanese_kanji": "Japanese (Kanji)",
+ "dicom_specific_char.japanese_supplementary_kanji": "Japanese (Supplementary Kanji set)",
+ "dicom_specific_char.korean": "Korean",
+ "dicom_specific_char.latin_alphabet_no._1": "Latin alphabet No. 1",
+ "dicom_specific_char.latin_alphabet_no._desc": "Latin alphabet No. 1 (ISO_IR 100)",
+ "dicom_specific_char.latin_alphabet_no._2": "Latin alphabet No. 2",
+ "dicom_specific_char.latin_alphabet_no._2_desc": "Latin alphabet No. 2 (ISO_IR 101)",
+ "dicom_specific_char.latin_alphabet_no._3": "Latin alphabet No. 3",
+ "dicom_specific_char.latin_alphabet_no._3_desc": "Latin alphabet No. 3 (ISO_IR 109)",
+ "dicom_specific_char.latin_alphabet_no._4": "Latin alphabet No. 4",
+ "dicom_specific_char.latin_alphabet_no._4_desc": "Latin alphabet No. 4 (ISO_IR 110)",
+ "dicom_specific_char.latin_alphabet_no_5": "Latin alphabet No. 5",
+ "dicom_specific_char.latin_alphabet_no_5_desc": "Latin alphabet No. 5 (ISO_IR 148)",
+ "dicom_specific_char.multi_byte_character_sets_group_name": "Multi-Byte Character Sets",
+ "dicom_specific_char.multi_byte_character_without_extension_group_name": "Multi-Byte Character Sets Without Code Extensions",
+ "dicom_specific_char.simplified_chinese": "Simplified Chinese",
+ "dicom_specific_char.single_byte_character": "Single-Byte Character Sets",
+ "dicom_specific_char.single_byte_character_set_with_extension_group_name": "Single-Byte Character Sets with Code Extensions",
+ "dicom_specific_char.thai": "Thai",
+ "dicom_specific_char.thai_desc": "Thai (ISO_IR 166)",
+ "dicom_specific_char.unicode": "Unicode in UTF-8",
+ "dicom_specific_char.unicode_desc": "Unicode in UTF-8 (ISO_IR 192)",
+ "diff-monitor.no_diff": "No diff tasks found!",
+ "diff-monitoring.task_deleted": "Task deleted successfully!",
+ "diff-pro._not_selected_": " not selected ",
+ "diff-pro._selected_": " selected ",
+ "diff-pro._selected_one_to_the_not_selected_aet": " selected one to the not selected AEt",
+ "diff-pro.assignment_data": "Assignment data",
+ "diff-pro.compares_only_missing_studies": "Compares only missing Studies",
+ "diff-pro.dicom_data": "Dicom data",
+ "diff-pro.diff_triggered_successfully": "Diff triggered successfully!",
+ "diff-pro.error_getting_param": "Error getting {$@@comparefield} ({$@@status_text})",
+ "diff-pro.export_all_entries": "Export all entries",
+ "diff-pro.missing_studies": "Missing studies",
+ "diff-pro.more_than_one_column_found": "More than one column found, try uploading csv-file with only one column!",
+ "diff-pro.no_studyinstanceuids_found_in_the_file": "No StudyInstanceUIDs found in the file!",
+ "diff-pro.only_expired_studies": "Only expired studies",
+ "diff-pro.patient_data": "Patient data",
+ "diff-pro.primary_ae": "Primary AE",
+ "diff-pro.reject_all_entries": "Reject all entries",
+ "diff-pro.secondary_ae": "Secondary AE",
+ "diff-pro.secondary_aet_and_comparefield_are_required_fields": "Secondary AET and comparefield are required fields!",
+ "diff-pro.secondary_aet_is_empty": "Secondary AET is empty!",
+ "diff-pro.send_all_studies_to_secondary_ae": "Send all studies to secondary AE",
+ "diff-pro.synchronize_all_entries": "Synchronize all entries",
+ "diff-pro.text_error_getting": "Error getting {$@@title} ( {$@@status_text} )",
+ "diff_monitoring": "Diff Monitoring",
+ "diff_result": "Diff Result",
+ "diff_web_app_needed_for_the_synchronisation_process": "Diff web app ( Needed for the synchronisation process )",
+ "different_studies": "Different Studies",
+ "documentum": "documentum",
+ "download": "Download",
+ "download_copy": "Download copy",
+ "download_csv": "Download CSV",
+ "download_pdf": "Download PDF",
+ "download_this_leveltext": "Download this {$@@levelText}",
+ "duration": "Duration (hh:mm:ss.SSS)",
+ "duration-picker.this_duration_will_last": "This duration will last",
+ "duration-picker.this_period_will_last": "This period will last",
+ "dynamic-form-element.click_to_save": "Click to save",
+ "dynamic-form-element.delete_file_form_device": "delete file form device",
+ "dynamic-form-element.deleted_successfully": "deleted successfully",
+ "dynamic-form-element.device_specific_vendor_configuration_information": "Device specific vendor configuration information",
+ "dynamic-form-element.error_setting_changed_value": "error setting changed value",
+ "dynamic-form-element.trying_to_set_the_new_value": "trying to set the new value",
+ "dynamic-form-element.vendor_device_data": "Vendor Device Data",
+ "dynamic-form.child_objects": "Child Objects",
+ "dynamic-form.save": "Save",
+ "dynamic_formatter.configure_first_a_queue": "Configure first an Queue",
+ "dynamic_formatter.create_first_aet": "Create first an AE Title!",
+ "dynamic_formatter.exporter": "Create first an Exporter!",
+ "dynamic_formatter.id_generator": "Create first an ID Generator!",
+ "dynamic_formatter.keycloak_server": "Create first an Keycloak Server!",
+ "dynamic_formatter.query_retrieve_view": "Create first an Query Retrieve View!",
+ "dynamic_formatter.rejection_note": "Create first an Rejection Note!",
+ "dynamic_formatter.storage": "Create first an Storage!",
+ "dynamic_formatter.ui _device_url": "Create first an UI Device URL!",
+ "dynamic_formatter.ui_device_cluster": "Create first an UI Device Cluster!",
+ "dynamic_formatter.ui_elasticsearch_url": "Create first an UI Elasticsearch URL!",
+ "e._completion_date": "E. Completion Date",
+ "echo_accomplished": "Echo successfully accomplished!
- Connection time: {$@@connection_time} ms
- Echo time: {$@@echo_time} ms
- Release time: {$PH_2} ms",
+ "edit_attributes": "Edit Attributes",
+ "edit_device": "Edit device",
+ "edit_extension": "Edit extension",
+ "edit_ups_workitem": "Edit UPS Workitem",
+ "elasticsearch_is_not_accessible": "Elasticsearch is not accessible!",
+ "elasticsearch_task": "Elasticsearch Task",
+ "element_removed_from_object": "Element removed from object successfully!",
+ "emc-ecs-s3": "emc-ecs-s3",
+ "entity_op_compare_archives": "compare studies between two archives",
+ "entity_op_view_mpps": "view MPPS",
+ "entity_op_view_mwls": "view MWLs",
+ "entity_op_view_patients": "view patients",
+ "entity_op_view_series": "view series",
+ "entity_op_view_studies": "view studies",
+ "entity_op_view_ups": "view UPS Workitems",
+ "entry": "Entry",
+ "error": "Error",
+ "error,_the_ae_was_not_removed_from_device": "Error, the AE was not removed from device!",
+ "error_on_getting_needed_webapp": "Error on getting the needed WebApp (with one of the web service classes \"DCM4CHEE_ARC_AET\" or \"PAM\")",
+ "error_on_getting_needed_webapp_ups": "Error on getting the needed WebApp (with one of the web service classes \"DCM4CHEE_ARC_AET\" or \"UPS_RS\")",
+ "error_on_getting_param_webapp": "Error on getting the {$@@webappcass} WebApp getModifyPatientUrl",
+ "error_status": "Error {$@@status}",
+ "errors": "Errors",
+ "event_action_code": "Event Action Code",
+ "event_id": "EventID",
+ "event_outcome_description": "Event Outcome Description",
+ "event_outcome_indicator": "Event Outcome Indicator",
+ "event_type": "Event Type",
+ "execute_e": "Execute (E)",
+ "expected_completion_date_and_time": "Expected Completion Date and Time",
+ "expiration_date": "Expiration Date",
+ "expiration_state": "Expiration State",
+ "expiration_state_export_scheduled": "Export scheduled for expired studies before rejecting them",
+ "expiration_state_failed_export": "Export failed for expired studies",
+ "expiration_state_failed_reject": "Rejection failed for expired studies",
+ "expiration_state_frozen": "Study protected from being expired",
+ "expiration_state_rejected": "Rejected expired studies",
+ "expiration_state_updateable": "No expiration date set to study",
+ "expired_date": "Expired date",
+ "expired_date_required": "Expired date is required!",
+ "expired_date_set_successfully": "Expired date set successfully!",
+ "export.change_exporter_text": "Change the exporter for all rescheduled tasks. To reschedule with the original exporters associated with the tasks, leave blank:",
+ "export.change_the_exporter_id_only_if_you_want": "Change the Exporter Id only if you want to reschedule to another exporter!",
+ "export.create_first_exporter": "Create first an exporter!",
+ "export.export": "Export",
+ "export.select_device_if_you_want_to_reschedule": "Select device if you want to reschedule to an other device:",
+ "export.studies_selected_to_be_retrieved": "studies selected to be retrieved",
+ "export.task_reschedule": "Task reschedule",
+ "export_instance": "Export instance",
+ "export_series": "Export series",
+ "export_storage_id_external_retrieve_aet": "Export Storage ID / External Retrieve AET",
+ "export_time": "Export time",
+ "exporter": "Exporter",
+ "exporter_id": "Exporter ID",
+ "extended_search": "Extended search",
+ "extension_is_not_present": "Extension is not present",
+ "extensions": "Extensions",
+ "external_hl7_application": "External Hl7 Application",
+ "external_retrieve_aet": "External retrieve AET",
+ "f": "F",
+ "facility": "Facility",
+ "failed": "failed",
+ "failed_of": "{$PH} of {$PH_1} failed!",
+ "failed_storage_verification": "Failed storage verification",
+ "failures": "Failures",
+ "false": "false",
+ "fast_picker": "Fast Picker",
+ "female": "Female",
+ "fetch_object_from_storage_system": "Fetch object from Storage System",
+ "file": "file",
+ "filetype_not_allowed": "Filetype \"{$@@filetype}\" not allowed!",
+ "filter-generator.test_description": "Test description",
+ "filter-template_added": "Filter-template added successfully!",
+ "filter-template_name_is_empty": "Filter-template name is empty or already exist, please choose another name!",
+ "filter-template_not_found": "Filter-template not found, reload the page and try again!",
+ "filter-template_removed": "Filter-template removed successfully!",
+ "filter_template_description": "Filter template-description",
+ "finished": "Finished",
+ "finished_approx": "Finished / Approx.",
+ "folder_content": "Folder Content",
+ "for_queued_exporter_create_an_exporter_first": "For queued exporter create an exporter first!",
+ "for_the_following_role": "for the following role",
+ "force_query_by_study_uid": "Force query by Study UID",
+ "freeze_expiration_date": "Freeze Expiration Date",
+ "freeze_protect_expiration_date_of_the_study": "Freeze/Protect Expiration Date of the Study",
+ "friday": "Friday",
+ "fuzzy_matching": "Fuzzy Matching",
+ "fuzzy_matching_desc": "Fuzzy semantic matching of person names",
+ "geographic_location_code": "Geographic Location Code",
+ "get_count": "Get Count",
+ "get_metrics": "Get Metrics",
+ "get_queued_batches": "Get queued batches",
+ "get_storage_commitments": "Get Storage commitments",
+ "given_value_bigger_than_max": "The given value {$PH} is bigger than the allowed max value {$PH_1}!",
+ "given_value_equal_to_exclusive_max": "The given value {$PH} should be lesser than the allowed exclusive maximum value {$PH_1}!",
+ "given_value_equal_to_exclusive_min": "The given value {$PH} should be greater than the allowed exclusive minimum value {$PH_1}!",
+ "given_value_smaller_than_min": "The given value {$PH} is smaller than the allowed min value {$PH_1}!",
+ "globalvar.make_diff_between_two_archives": "Make diff between two archives",
+ "hardware-dashboard.max_cpu_total_usage": "Max CPU total usage",
+ "hardware-dashboard.packets_transmitted_per_second": "Packets transmitted per second",
+ "hardware-dashboard.ui_config_for_docker_container_names_was_not_found": "UI config for docker container names was not found!",
+ "hcp": "hcp",
+ "hide_checkboxes": "Hide checkboxes",
+ "hide_forward_retrieve_tasks": "Hide forward retrieve tasks",
+ "hide_retrieve_tasks": "Hide retrieve tasks",
+ "high": "HIGH",
+ "hl7-applications.hl7_application_name": "hl7 Application Name",
+ "hl7_application_description": "HL7 Application Description",
+ "hl7_application_name": "Hl7 Application Name",
+ "hl7_applications": "Hl7 Applications",
+ "hl7_applications_not_found": "Hl7Applications not found!",
+ "hl7_message": "HL7 Message",
+ "hl7_messages": "HL7 Messages",
+ "hl7_specific_char.ASCII": "ASCII",
+ "hl7_specific_char.arabic": "Arabic",
+ "hl7_specific_char.cyrillic": "Cyrillic",
+ "hl7_specific_char.gb_18030_2000": "GB 18030-2000",
+ "hl7_specific_char.greek": "Greek",
+ "hl7_specific_char.hebrew": "Hebrew",
+ "hl7_specific_char.japanese": "Japanese (Kanji)",
+ "hl7_specific_char.japanese_supplementary": "Japanese (Supplementary Kanji set)",
+ "hl7_specific_char.korean": "Korean",
+ "hl7_specific_char.latin_alphabet_no._1": "Latin alphabet No. 1",
+ "hl7_specific_char.latin_alphabet_no._2": "Latin alphabet No. 2",
+ "hl7_specific_char.latin_alphabet_no._3": "Latin alphabet No. 3",
+ "hl7_specific_char.latin_alphabet_no._4": "Latin alphabet No. 4",
+ "hl7_specific_char.latin_alphabet_no._5": "Latin alphabet No. 5",
+ "hl7_specific_char.multi_byte_set": "Multi-Byte Character Sets",
+ "hl7_specific_char.single_byte_groupe_name": "Single-Byte Character Sets",
+ "hl7_specific_char.thai": "Thai",
+ "hl7_specific_char.unicode": "Unicode",
+ "hl7_specific_char.unicode_utf8": "Unicode in UTF-8",
+ "host": "Host",
+ "hour": "hour:",
+ "hour_plural": "hours",
+ "hour_range": "Hour range",
+ "hour_singular": "hour",
+ "html.add_study_retention_policy": "Add Study Retention Policy",
+ "html.audit_events": "Audit Events",
+ "html.close_filters_block": "Close filters block{$START_ITALIC_TEXT}{$CLOSE_ITALIC_TEXT}",
+ "html.counts": "Counts",
+ "html.docker_stats_average_amount_of_bytes_read_per_second": "Docker Stats - Average amount of bytes read per second",
+ "html.docker_stats_average_amount_of_bytes_written_per_second": "Docker Stats - Average amount of bytes written per second",
+ "html.docker_stats_cpu": "Docker Stats - CPU",
+ "html.docker_stats_current_memory_consumption": "Docker Stats - Current memory consumption",
+ "html.docker_stats_memory_total_resources": "Docker Stats - Memory Total Resources",
+ "html.docker_stats_transmitted_packets": "Docker Stats - Transmitted packets",
+ "html.export_monitoring": "Export Monitoring",
+ "html.lifecycle_management": "Lifecycle management",
+ "html.lifecycle_management_configuration": "Lifecycle management configuration",
+ "html.more_configurations": "More configurations{$START_ITALIC_TEXT}{$CLOSE_ITALIC_TEXT}",
+ "html.no_config_found_click_to_add_one_1": "No configuration found,",
+ "html.no_config_found_click_to_add_one_2": " click here to add one",
+ "html.no_data": "No data!",
+ "html.page_not_found": " Page not found!\n",
+ "html.patient_p_object_name": "Patient P. Object Name",
+ "html.retrieve_monitoring": "Retrieve Monitoring",
+ "html.set_filters_query_first": "Set filters/query first{$START_ITALIC_TEXT}{$CLOSE_ITALIC_TEXT}",
+ "html.studies_stored": "Studies Stored",
+ "html.study_p_object_id": "Study P. ObjectID",
+ "http-error-handler.error": "Error {$PH}",
+ "human_performers": "Human Performers",
+ "ian_scp_ae_title": "IAN SCP AE Title",
+ "id": "ID",
+ "in_process": "IN PROCESS",
+ "include_defaults": "Include Defaults",
+ "include_defaults_desc": "Enable to return only the attributes specified by Query Parameter 'includefield' without including the default set of attributes specified by DICOM Part 18",
+ "include_field": "Include field",
+ "include_time": "Include Time",
+ "including_dicomdir": "Include DICOMDIR",
+ "index": "Index",
+ "info": "Info",
+ "info_link": "More Info",
+ "inherit": "inherit",
+ "inner_text.of_matching_studies": "of matching studies",
+ "inner_text.of_the_study": " of the study",
+ "input_readiness_state": "Input Readiness State",
+ "inst_sec": "Inst. / sec",
+ "installed": "Installed",
+ "instance_availability_notification_for_matching": "Instance Availability Notification for matching",
+ "instance_availability_notification_for_matching_studies": "Instance Availability Notification for matching Studies",
+ "instance_availability_notification_for_matching_series": "Instance Availability Notification for matching Series",
+ "instance_availability_notification_scp_ae_title": "Instance Availability Notification SCP AE Title",
+ "instance_availability_of_instance_to_external_instance_availability_scp_requested": "Instance Availability of Instance to external Instance Availability SCP was requested successfully",
+ "instance_availability_of_matching_studies_to_external_instance_availability_scp_was_scheduled": "Instance Availability of matching Studies to external Instance Availability SCP was scheduled successfully",
+ "instance_availability_of_selected_objects_to_external_instance_availability_scp_was_requested": "Instance Availability of selected objects to external Instance Availability SCP was requested successfully",
+ "instance_availability_of_series_to_external_instance_availability_scp_requested": "Instance Availability of Series to external Instance Availability SCP was requested successfully",
+ "instance_availability_of_study_to_external_instance_availability_scp_requested": "Instance Availability of Study to external Instance Availability SCP was requested successfully",
+ "instance_delete": "{$@@deleted} instances deleted successfully!",
+ "instance_number": "Instance Number",
+ "instance_queue_reject": "Instance queued for rejection successfully",
+ "institution_name": "Institution Name",
+ "institutional_department_name": "Institutional Department Name",
+ "interval": "Interval:",
+ "invoked_ops": " Invoked Ops. ",
+ "issuer_of_accession_number": "Issuer of accession number",
+ "issuer_of_accession_number_seq": "Issuer of Accession Number Sequence",
+ "issuer_of_admission_id_sequence": "Issuer of Admission ID Sequence",
+ "issuer_of_patient": "Issuer of Patient",
+ "issuer_of_patient_id": "Issuer of Patient ID",
+ "issuer_of_patient_id_seq_universal_entity_id": "Issuer of Patient ID Qualifiers Sequence - Universal Entity ID",
+ "issuer_of_patient_id_seq_universal_entity_id_type": "Issuer of Patient ID Qualifiers Sequence - Universal Entity ID Type",
+ "issuer_of_pid": "Issuer of PID",
+ "items": " Item(s)",
+ "japanese": "Japanese",
+ "jclouds": "jclouds",
+ "jms_priority_level_for_processing_the_export_task_from_0_lowest_to_9_highest": "Task Priority Level for processing the Export Task from 0 (lowest) to 9 (highest).",
+ "keycloak.failed_to_refresh_token": "Failed to refresh token",
+ "keycloak.not_logged_in": "Not logged in",
+ "last_month": "Last Month",
+ "last_quarter": "Last Quarter",
+ "last_week": "Last Week",
+ "last_year": "Last Year",
+ "leave_it_blank_to_generate_it_automatically": "Leave it blank to generate it automatically!",
+ "lifecycle-management.add_new_study_retention_policy": "Add new Study Retention Policy",
+ "lifecycle-management.aet_is_missing": "Aet is missing!",
+ "lifecycle-management.apply_rule": "APPLY RULE",
+ "lifecycle-management.apply_rules_to_selected_filters": "Apply rules to selected filters",
+ "lifecycle-management.device_not_found": "Device not found, please reload the page and try again!",
+ "lifecycle-management.edit_study_retention_policy": "Edit Study Retention Policy",
+ "lifecycle-management.generate_rule": "GENERATE RULE",
+ "lifecycle-management.generate_rule_from_the_filters": "Generate rule from the filters",
+ "lifecycle-management.get_count_of_studies": "Get count of studies",
+ "lifecycle-management.get_size_of_studies": "Get size of studies",
+ "lifecycle-management.name_of_the_study_retention_policy": "Name of the Study Retention Policy",
+ "lifecycle-management.period_of_the_retention_policy": "Period of the Retention Policy",
+ "lifecycle-management.properties_of_retention_policy": "Properties of Retention Policy",
+ "lifecycle-management.retention_period": "Retention Period",
+ "lifecycle-management.retention_policy_were_applied_to_resultCount_studies": "Retention policy were applied to {$@@count} studies",
+ "lifecycle-management.rule_priority": "Rule Priority",
+ "lifecycle-management.show_studies": "SHOW STUDIES",
+ "lifecycle-management.study_expiration_date": "Study Expiration Date",
+ "lifecycle-management.study_expiration_state": "Study Expiration State",
+ "lifecycle-management.study_retention_policy_priority_saved": "Study Retention Policy priority saved successfully to the archive device {$@@deviceName}",
+ "lifecycle-management.study_retention_policy_saved": "Study Retention Policy saved successfully to the archive device {$PH}",
+ "lifecycle-management.study_size_range_must_contain": "Study Size Range must contain an '-' like: 'min-', '-max' or 'min-max'",
+ "lifecycle-management.thiscounttext_count": "{$PH} COUNT",
+ "lifecycle-management.thissizetext_size": "{$PH} SIZE",
+ "limit": "Limit",
+ "limit_not_valid": "Limit value is not valid!",
+ "limit_of_mpps": "Limit of MPPS",
+ "limit_of_mwl": "Limit of MWL",
+ "limit_of_patients": "Limit of patients",
+ "limit_of_studies": "Limit of studies",
+ "limit_of_uwl": "Limit of UWL",
+ "link_selected_study_with_this_mwl": "Link selected Study with this MWL Item",
+ "link_study_with_mwl": "Link Study with MWL Item",
+ "list_compare_studies_tasks_which_were_created_between": "list Compare Studies Tasks which were created between",
+ "list_compare_studies_tasks_which_were_updated_between": "list Compare Studies Tasks which were updated between",
+ "loading": " loading...\n",
+ "local_aet": " Local AE Title ",
+ "local_aet_remote_aet": "Local AE Title ⇆ Remote AE Title",
+ "localaet": "Local AET",
+ "local_namespace_id": "Local Namespace Entity ID",
+ "low": "LOW",
+ "m": "M",
+ "major_failure_12": "Major failure (12)",
+ "male": "Male",
+ "manufacturer": "Manufacturer",
+ "manufacturer_model_name": "Manufacturer model name",
+ "mark_mode": "Mark mode",
+ "mark_mode_series_desc": "Select mark mode to mark series as Requested or Unscheduled",
+ "mark_mode_series_text": "Mark series as Requested or Unscheduled",
+ "mark_mode_study_desc": "Select mark mode to mark all series of study as Requested or Unscheduled",
+ "mark_mode_study_text": "Mark all series of study as Requested or Unscheduled",
+ "mark_series_requested_successfully": "Series marked as Requested successfully!",
+ "mark_series_unscheduled_successfully": "Series marked as Unscheduled successfully!",
+ "mark_study_requested_successfully": "All Series of Study marked as Requested successfully!",
+ "mark_study_unscheduled_successfully": "All Series of Study marked as Unscheduled successfully!",
+ "matches": "Matches",
+ "matching_task_question": "Are you sure, you want to {$PH} all matching tasks?",
+ "max_unit": "Max{$PH}",
+ "maximal_number_of_returned_data_entries": "Maximal number of returned data entries",
+ "maximal_number_of_tasks_in_returned_list": "Maximal number of tasks in returned list",
+ "memory_consumption_": "Memory consumption (B)",
+ "menu.admin_realm": "Admin Realm",
+ "menu.configuration": "Configuration",
+ "menu.correct_data": "Correct Data",
+ "menu.dashboard": "Dashboard",
+ "menu.data_exchange": "Data Exchange",
+ "menu.edit_account": "Edit Account",
+ "menu.lifecycle_management": "Lifecycle Management",
+ "menu.logout": "Logout",
+ "menu.monitoring": "Monitoring",
+ "menu.navigation": "Navigation",
+ "menu.statistics": "Statistics",
+ "menu.wildfly_console": "Wildfly Console",
+ "merge_attributes_from_selected_mwl_to_study": "Merge Attributes from selected MWL Item to Study",
+ "merge_attributes_from_selected_mwl_to_study_tooltip": "Option disabled as Patient in MWL differs from Patient in Study",
+ "merged_patients": "Merged Patients",
+ "merged_patients_tooltip": "Indicates to return merged patients",
+ "message": "Message",
+ "messaging.error_detail": "Error detail",
+ "metadata_update_failed": "Metadata Update Failed",
+ "metrics.metrics": "Metrics",
+ "metrics.metrics_name_is_missing": "Metrics Name is missing",
+ "metrics_descriptors_not_found": "No Metrics Descriptors were found, please configure Metrics Descriptors first",
+ "metrics_name": "Metrics Name",
+ "migration_for_batch_deleted": "Migration for the batch {$@@batch} was deleted!",
+ "migration_for_batch_started": "Migration for the batch {$@@batch} was started!",
+ "migrations_started_sucessfully": "Migrations started successfully!",
+ "migrations_stopped_sucessfully": "Migrations stopped successfully!",
+ "min_unit": "Min{$PH}",
+ "minor_failure_4": "Minor failure (4)",
+ "minute": "minute:",
+ "minute_plural": "minutes",
+ "minute_singular": "minute",
+ "missing_studies": "Missing Studies",
+ "missing_study_in_param": "Missing study in {$@@secondaryAet}",
+ "modalities": "Modalities",
+ "modalities.AR": "Autorefraction",
+ "modalities.AU": "Audio",
+ "modalities.BDUS": "Bone Densitometry (ultrasound)",
+ "modalities.BI": "Biomagnetic imaging",
+ "modalities.BMD": "Bone Densitometry (X-Ray)",
+ "modalities.DG": "Diaphanography",
+ "modalities.DOC": "Document",
+ "modalities.ECG": "Electrocardiography",
+ "modalities.EPS": "Cardiac Electrophysiology",
+ "modalities.ES": "Endoscopy",
+ "modalities.FID": "Fiducials",
+ "modalities.GM": "General Microscopy",
+ "modalities.HC": "Hard Copy",
+ "modalities.HD": "Hemodynamic Waveform",
+ "modalities.IO": "Intra-Oral Radiography",
+ "modalities.IOL": "Intraocular Lens Data",
+ "modalities.IVOCT": "Intravascular Optical Coherence Tomography",
+ "modalities.IVUS": "Intravascular Ultrasound",
+ "modalities.KER": "Keratometry",
+ "modalities.LEN": "Lensometry",
+ "modalities.LS": "Laser surface scan",
+ "modalities.OAM": "Ophthalmic Axial Measurements",
+ "modalities.OCT": "Optical Coherence Tomography (non-Ophthalmic)",
+ "modalities.OP": "Ophthalmic Photography",
+ "modalities.OPM": "Ophthalmic Mapping",
+ "modalities.OPT": "Ophthalmic Tomography",
+ "modalities.OPV": "Ophthalmic Visual Field",
+ "modalities.OSS": "Optical Surface Scan",
+ "modalities.PLAN": "Plan",
+ "modalities.PX": "Panoramic X-Ray",
+ "modalities.REG": "Registration",
+ "modalities.RESP": "Respiratory Waveform",
+ "modalities.RF": "Radio Fluoroscopy",
+ "modalities.RG": "Radiographic imaging (conventional film/screen)",
+ "modalities.RTDOSE": "Radiotherapy Dose",
+ "modalities.RTIMAGE": "Radiotherapy Image",
+ "modalities.RTPLAN": "Radiotherapy Plan",
+ "modalities.RTRECORD": "RT Treatment Record",
+ "modalities.RTSTRUCT": "Radiotherapy Structure Set",
+ "modalities.RWV": "Real World Value Map",
+ "modalities.SEG": "Segmentation",
+ "modalities.SM": "Slide Microscopy",
+ "modalities.SMR": "Stereometric Relationship",
+ "modalities.SR": "SR Document",
+ "modalities.SRF": "Subjective Refraction",
+ "modalities.STAIN": "Automated Slide Stainer",
+ "modalities.TG": "Thermography",
+ "modalities.VA": "Visual Acuity",
+ "modalities.XC": "External-camera Photograph",
+ "modalities.computed_radiography": "Computed Radiography",
+ "modalities.computed_tomography": "Computed Tomography",
+ "modalities.digital_radiography": "Digital Radiography",
+ "modalities.key_object_selection": "Key Object Selection",
+ "modalities.magnetic_resonance": "Magnetic Resonance",
+ "modalities.mammography": "Mammography",
+ "modalities.nuclear_medicine": "Nuclear Medicine",
+ "modalities.pet": "Positron emission tomography (PET)",
+ "modalities.presentation_state": "Presentation State",
+ "modalities.ultrasound": "Ultrasound",
+ "modalities.xa": "X-Ray Angiography",
+ "modalities_in_study": "Modalities in Study",
+ "modality": "Modality",
+ "modality.less": "less",
+ "modality.more": "more",
+ "mode_text.export": "export",
+ "mode_text.retrieve": "retrieve",
+ "model_name": "Model Name",
+ "monday": "Monday",
+ "monitoring.tab.associations": "Associations",
+ "monitoring.tab.diff": "Compare",
+ "monitoring_migration": "Monitoring Migration",
+ "monitoring_queue_batches": "Monitoring Queue Batches",
+ "month": "month:",
+ "month_plural": "months",
+ "month_singular": "month",
+ "more": "More",
+ "more_filters": "More filters",
+ "more_functions": "More functions",
+ "more_than_one_comparefield_mode_found": "More than one comparefield mode found, select one to get the results!",
+ "move": "Move",
+ "mpps": "MPPS",
+ "multi_patient_merge_not_supported": "Multi patient merge is not supported!",
+ "multiple_dicom_connection_selected": "Multiple DICOM connection selected!",
+ "mwl": "MWL",
+ "mwl.change_sps_status_on_matching": "Change SPS Status on matching MWL",
+ "mwl.delete_desc": "Delete Scheduled Procedure Steps from local MWL not returned by external MWL SCP",
+ "mwl.filter_by_scu": "Filter By SCU",
+ "mwl.filter_by_scu_desc": "Apply specified filter on matches returned by external MWL SCP",
+ "mwl.import_matching_sps": "Import matching Scheduled Procedure Steps to archive",
+ "mwl.import_matching_sps_to_archive": "Import matching SPS to archive",
+ "mwl.status_changed_successfully": "Status changed successfully",
+ "mwl.test_desc": "Only test import from external MWL SCP without performing the operation",
+ "name": "Name",
+ "name_of_the_new_connection_is_empty": "Name of the new connection is empty!",
+ "national_patient_registry": "National Patient Registry",
+ "navigation.tab.diffs": "Compare",
+ "net_connection": "Net. Connection",
+ "no": "No",
+ "no_aets_found": "No AETs found, please use the device-configurator or the LDAP-Browser to configure one!",
+ "no_data_found": "No data found!",
+ "no_date_restriction_specified_continue": "No date restriction specified, are you sure you want to continue?",
+ "no_deletion_constraint": "No Deletion Constraint",
+ "no_device_was_accessible": "No device was accessible!",
+ "no_diff_res": "No Diff Results found!",
+ "no_diffs": " ( No diffs )",
+ "no_directorie_selected": "No directory was selected, are you sure you want to trigger the migration for all directories?",
+ "no_elements_found": " No Elements found ",
+ "no_filter_set_warning": "No filter are set, are you sure you want to continue?",
+ "no_filter_template_found": "No filter-templates found!",
+ "no_queue_name": "No Queue Name selected!",
+ "no_running_migration_process_to_this_batch_was_found": "No running migration process to this batch was found!",
+ "no_series_found": "No Series found!",
+ "no_storages_found": "No storages found!",
+ "no_studies_found": "No Studies found!",
+ "no_tasks_found": "No tasks found!",
+ "nominal_success_0": "Nominal Success (0)",
+ "normal": "NORMAL",
+ "not_installed": "Not installed",
+ "not_retrievable_from_aet": "Not retrievable from AET",
+ "not_retrievable_from_external_retrieve_aet": "Not retrievable from external retrieve AET",
+ "nr_inst": "Nr.Inst. ",
+ "number_of_frames": "Number of Frames",
+ "number_of_instances": "#I",
+ "number_of_patient_related_studies": "Number of Patient Related Studies",
+ "number_of_related_series": "#S",
+ "number_of_related_studies": "#S",
+ "number_of_series_related_instances": "Number of Series Related Instances",
+ "number_of_study_related_instances": "Number of Study Related Instances",
+ "number_of_study_related_series": "Number of Study Related Series",
+ "o": "O",
+ "object_will_not_be_sent": "Object will not be sent!",
+ "only_failed_retrieving": "Only failed retrieving",
+ "only_failed_to_be_retrieved": "Only failed to be retrieved",
+ "only_for_me": "only for me",
+ "only_incomplete": "Only incomplete",
+ "only_incomplete_studies": "Only incomplete studies",
+ "only_with_studies": "only with studies",
+ "orderby.diff": "compare_arrows",
+ "orderby.mpps_alph_asc": "",
+ "orderby.mpps_alph_desc": "",
+ "orderby.mpps_asc": "",
+ "orderby.mpps_desc": "",
+ "orderby.mpps_desc_asc": "",
+ "orderby.mpps_namedsc_date_dsc": "",
+ "orderby.mwl_alph_asc": "",
+ "orderby.mwl_alph_desc": "",
+ "orderby.mwl_asc": "",
+ "orderby.mwl_desc": "",
+ "orderby.mwl_desc_asc": "",
+ "orderby.mwl_namedsc_date_dsc": "",
+ "orderby.patient": "",
+ "orderby.patient_alph": "",
+ "orderby.query_patients_to_external_archive": "Query Patients to external archive",
+ "orderby.query_studies_to_external_archive": "Query Studies to external archive",
+ "orderby.study": "",
+ "orderby.study_alph_asc": "",
+ "orderby.study_alph_desc": "",
+ "orderby.study_date_asc": "",
+ "orderby.study_date_desc": "",
+ "orderby.study_name_asc": "",
+ "orderby.study_name_desc": "",
+ "orderby_new.a_z_new_old": "",
+ "orderby_new.a_z_old_new": "",
+ "orderby_new.newest_first": "",
+ "orderby_new.oldest_first": "",
+ "orderby_new.order_a_z": "",
+ "orderby_new.z_a": "",
+ "orderby_new.z_a_new_old": "",
+ "orderby_new.z_a_old_new": "",
+ "other": "Other",
+ "other_attr": "Other attributes ",
+ "other_attributes": "Other attributes",
+ "page_size": "Page Size",
+ "patient-data.error_on_extracting_count": "Error on extracting count",
+ "patient-data.error_on_getting_patient": "Error on getting patient",
+ "patient-data.forkjoin_result": "forkJoin Result:",
+ "patient-data.get_count_patientscount": "Get Count {$PH}",
+ "patient-data.get_patients_to_compare": "Get patients to compare:",
+ "patient-data.more_than_one_patient_found": "More than one patient found",
+ "patient-data.no_patients_found": "No patients found!",
+ "patient-data.only_with_studies": "Only with studies",
+ "patient-data.patient_in_aet_not_found": "Patient in the {$@@secondarywebapp} not found!",
+ "patient-data.patient_name": "Patient Name",
+ "patient-data.patient_was_neither_found_on_secondary_web_app_service_nor_in_the_pdq": "Patient was neither found on Secondary Web App Service nor in the PDQ!",
+ "patient-data.patient_was_on_secondary_web_app_service_not_found": "Patient was not found on Secondary Web App Service!",
+ "patient-data.secondary_web_app_service_is_missing": "Secondary Web App Service is missing!",
+ "patient-data.you_want_to_send_the_selected_version": "Are you sure you want to send the selected version to {$PH}?",
+ "patient_compare": "Patient Compare",
+ "patient_created_successfully": "Patient created successfully!",
+ "patient_data": "Patient Data",
+ "patient_family_name": "Patient family name",
+ "patient_id": "Patient ID",
+ "patient_id_is_required": "Patient ID is required!",
+ "patient_identifiers": "Patient Identifiers",
+ "patient_name": "Patient name",
+ "patient_not_found": "Patient verification against a Patient Demographics Query Provider resulted in no patient found",
+ "patient_participant_object_name": "Patient ParticipantObjectName",
+ "patient_saved_successfully": "Patient saved successfully!",
+ "patient_unverified": "Patient not verified against any Patient Demographics Query Provider",
+ "patient_verification_failed": "Patient verification against a Patient Demographics Query Provider failed",
+ "patient_verification_status": "Patient Verification Status",
+ "patient_verified": "Patient verified against a Patient Demographics Query Provider",
+ "patients": "Patients",
+ "patients_birth_date": "Patient's Birth Date",
+ "patients_name": "Patient's Name",
+ "patients_sex": "Patient's Sex",
+ "patients_synchronized_successfully": "Patients synchronized successfully",
+ "patients_update_added_successfully_to_the_queue": "Patients update added successfully to the queue",
+ "performed_ops": "Performed Ops.",
+ "performed_station_ae_title": "Performed Station AE Title",
+ "performing_physician_family_name": "Performing physician family name",
+ "permission-configurator.permissions_saved_successfully": "Permissions saved successfully!",
+ "permission-configurator.ui_permission_config_was_not_found": "Ui permission config was not found!",
+ "permission_configuration": "Permission Configuration",
+ "permission_denied": " Permission denied! ",
+ "permission_not_found": "Permission not found!",
+ "person_family_name_tooltip": "Order of name components in the search field differs from the rendered person names in the list",
+ "photographs": "Photographs",
+ "placeholder.add_new_attribute": "Add new attribute",
+ "placeholder.all_actions": "All actions",
+ "placeholder.associations.archive": "Archive",
+ "placeholder.date_formated": "Date (yyyymmdd)",
+ "placeholder.delete_all_instances_before": "Delete all instances before this date",
+ "placeholder.dictionary-picker.__search": " Search..",
+ "placeholder.from_formated": "from (yyyymmdd)",
+ "placeholder.interval": "Interval",
+ "placeholder.iod-form-generator.alphabetic": "{$INTERPOLATION} Alphabetic",
+ "placeholder.iod-form-generator.ideographic": "{$INTERPOLATION} Ideographic",
+ "placeholder.iod-form-generator.phonetic": "{$INTERPOLATION} Phonetic",
+ "placeholder.max": "max",
+ "placeholder.min": "min",
+ "placeholder.permission-configurator.found_roles": "Found Roles",
+ "placeholder.permission-configurator.new_role": "New Role",
+ "placeholder.range-picker.hover_for_more_info": "Hover for more Info",
+ "placeholder.range-picker.maximal_study_date_range": "Maximal Study Date Range",
+ "placeholder.search_in_this_part": "Search in this part...",
+ "placeholder.specific-char-picker.__search": " Search..",
+ "placeholder.study.search_current_list": "Search current list",
+ "placeholder.study_size_range": "Study Size Range",
+ "placeholder.to_formated": "to (yyyymmdd)",
+ "pps_status": "Performed Procedure Step Status",
+ "preparemsg.count": "Count:{$@@count}
\n",
+ "preparemsg.error": "Error:{$@@error}
\n",
+ "preparemsg.failed": "- failed to update for :{$@@updated}
\n",
+ "preparemsg.noop": "- resulted in No Op for :{$@@updated}
\n",
+ "preparemsg.reject": "Reject:{$@@reject}
\n",
+ "preparemsg.updated": "- updated successfully for :{$@@updated}
\n",
+ "preparemsg.warning": "Warning:{$@@warning}
\n",
+ "press_start_to_Refresh_associations": "Press Start or Refresh to get associations {$START_TAG_SPAN}from {$INTERPOLATION}{$CLOSE_TAG_SPAN}",
+ "primary_aet": "Primary AET",
+ "primary_device_type": "Primary device type",
+ "primary_web_app_service": "Primary Web App Service",
+ "priority": "Priority",
+ "procedure_step_label": "Procedure Step Label",
+ "procedure_step_state": "Procedure Step State",
+ "process_could_not_be_started": "Process could not be started!",
+ "process_executed": "Process executed successfully",
+ "process_triggered_successfully": "Process triggered successfully!",
+ "processing_end_time_range": "Processing end time range",
+ "processing_start_time": "Processing start time",
+ "processing_start_time_range": "Processing start time range",
+ "product_labelling.version": "Version",
+ "properties": "Properties",
+ "protect_study": "Protect Study",
+ "ps_aet": "PS AET",
+ "queries_count": "Queries Count",
+ "query_devices": "Query Devices",
+ "query_mpps": "Query MPPS",
+ "query_mwl": "Query MWL",
+ "query_mwls_pname_asc_sps_new_old": "Patient Name ascending, New to Old - ScheduledProcedureStepStartDateTime",
+ "query_mwls_pname_asc_sps_old_new": "Patient Name ascending, Old to New - ScheduledProcedureStepStartDateTime",
+ "query_mwls_pname_desc_sps_new_old": "Patient Name descending, New to Old - ScheduledProcedureStepStartDateTime",
+ "query_mwls_pname_desc_sps_old_new": "Patient Name descending, Old to New - ScheduledProcedureStepStartDateTime",
+ "query_mwls_sps_newest_first": "Newest ScheduledProcedureStepStartDateTime first",
+ "query_mwls_sps_oldest_first": "Oldest ScheduledProcedureStepStartDateTime first",
+ "query_only_the_count": "QUERY ONLY THE COUNT",
+ "query_only_studies_size": "Query only size of studies",
+ "query_patients": "Query Patients",
+ "query_patients_pname_asc": "Patient Name ascending",
+ "query_patients_pname_desc": "Patient Name descending",
+ "query_pdw": "Query External Patient Demographics Service",
+ "query_series_mpps_pname_asc_pps_new_old": "Patient Name ascending, New to Old - PerformedProcedureStepStartDateTime",
+ "query_series_mpps_pname_asc_pps_old_new": "Patient Name ascending, Old to New - PerformedProcedureStepStartDateTime",
+ "query_series_mpps_pname_desc_pps_new_old": "Patient Name descending, New to Old - PerformedProcedureStepStartDateTime",
+ "query_series_mpps_pname_desc_pps_old_new": "Patient Name descending, Old to New - PerformedProcedureStepStartDateTime",
+ "query_series_mpps_pps_newest_first": "Newest PerformedProcedureStepStartDateTime first",
+ "query_series_pps_oldest_first": "Oldest PerformedProcedureStepStartDateTime first",
+ "query_studies": "Query Studies",
+ "query_studies_pname_asc_study_datetime_new_old": "Patient Name ascending, New to Old - StudyDateTime",
+ "query_studies_pname_asc_study_datetime_old_new": "Patient Name ascending, Old to New - StudyDateTime",
+ "query_studies_pname_desc_study_datetime_new_old": "Patient Name descending, New to Old - StudyDateTime",
+ "query_studies_pname_desc_study_datetime_old_new": "Patient Name descending, Old to New - StudyDateTime",
+ "query_studies_study_datetime_newest_first": "Newest StudyDateTime first",
+ "query_studies_study_datetime_oldest_first": "Oldest StudyDateTime first",
+ "query_uwl": "Query UWL",
+ "queue": "Queue",
+ "queue-dashboard.configuration_missing": "Configuration missing!",
+ "queue_batch_for_migration": "Queue Batch for Migration",
+ "queue_name": "Queue Name",
+ "queue_rejection": "Queue Rejection",
+ "queue_the_requests": "Patient Compare",
+ "queue_time": "Queue time",
+ "queued": "Queued",
+ "queued_exporter": "Queued exporter",
+ "queues": "Queues",
+ "queues_deleted": "{$@@deleted} queues deleted successfully!",
+ "range": "Range",
+ "range-picker.range_picker": "Range picker",
+ "read_only": "Read Only",
+ "read_r": "Read (R)",
+ "reason_for_modification": "Reason for Modification",
+ "reason_for_modification_desc": "Store original values of modified Attributes in Original Attributes Sequence (0400,0561) with given Reason for the Attribute Modification (0400,0565)",
+ "recalculate_checksum_on_storage_system": "recalculate checksum of object on Storage System",
+ "receiving_aet_of_series": "Receiving AET of Series",
+ "receiving_application_entity_title_of_series": "Receiving Application Entity Title of Series",
+ "receiving_hl7_application_of_series": "Receiving HL7 Application Of Series",
+ "receiving_hl7_facility_of_series": "Receiving HL7 Facility Of Series",
+ "receiving_presentation_addr_of_series": "Receiving Presentation Address of Series",
+ "recreate_db_record": "Recreate DB Record",
+ "redraw": "Redraw",
+ "referenced_request_sequence_0040A370": "Referenced Request Sequence (0040,A370)",
+ "referring_physician": "Referring physician",
+ "referring_physician_family_name": "Referring physician family name",
+ "referring_physician_name": "Referring physician name",
+ "refresh": "Refresh",
+ "rejection_code_for_expired_retention_policy_not_found": "Rejection code for expired retention policy not found!",
+ "reload_successful": "Reload successful",
+ "remote_aet": " Remote AE Title ",
+ "remoteaet": "Remote AET",
+ "remote_ae_title_to_filter_by": "Remote AE Title to filter by",
+ "remove_all_selections": "Remove all selections",
+ "remove_extension_from_device": "Remove {$PH} extension from device",
+ "remove_filter_template": "Are you sure you want to remove this filter-template?",
+ "remove_part_selector.remove_from_device": "REMOVE FROM DEVICE",
+ "remove_part_selector.title": "Select element to remove from device",
+ "replace": "Replace",
+ "replace_study_by_requested_procedure_in_selected_mwl": "Replace Study by requested Procedure from selected MWL Item",
+ "request_cancellation_of_workitem": "Request Cancellation of Workitem",
+ "request_instance_availability_of_instance_to_external_instance_availability_scp": "Request Instance Availability of Instance to external Instance Availability SCP",
+ "request_instance_availability_of_series_to_external_instance_availability_scp": "Request Instance Availability of Series to external Instance Availability SCP",
+ "request_instance_availability_of_study_to_external_instance_availability_scp": "Request Instance Availability of Study to external Instance Availability SCP",
+ "request_sequence": "Request Sequence",
+ "request_storage_commitment_of_instance_from_external_storage_commitment_scp": "Request Storage Commitment of Instance from external Storage Commitment SCP",
+ "request_storage_commitment_of_series_from_external_storage_commitment_scp": "Request Storage Commitment of Series from external Storage Commitment SCP",
+ "request_storage_commitment_of_study_from_external_storage_commitment_scp": "Request Storage Commitment of Study from external Storage Commitment SCP",
+ "requested": "Requested",
+ "requested_priority": "Requested Priority: 0=NORMAL, 1=HIGH, 2=LOW",
+ "requested_procedure_id_00401001": "Requested Procedure ID (0040,1001)",
+ "requesting_physician_00321032": "Requesting Physician (0032,1032)",
+ "requesting_service_00321033": "Requesting Service (0032,1033)",
+ "requestor_user_id": "Requestor UserID",
+ "required_parameter_is_missing": "Required parameter is missing!",
+ "reschedule": "reschedule",
+ "reschedule_all_matching_tasks": "Reschedule all matching tasks",
+ "reschedule_this_task": "Reschedule this task",
+ "reset_to_as_received": "Reset to as received",
+ "responsible_person": "Responsible Person",
+ "responsible_person_desc": "Name of person with medical or welfare decision making authority for the Patient, typically if the Patient is a non-human organism.",
+ "rest_param": "Rest ( {$@@groupingFilter} )",
+ "result": "Result",
+ "retainObj": "Retain objects on the filesystem",
+ "retrievable_from_external_retrieve_aet": "Retrievable from external retrieve AET",
+ "retrieve": "Retrieve",
+ "retrieve-export.aetitle_is_missing": "AETitle is missing",
+ "retrieve-export.calling_aetitle": "Calling AETitle",
+ "retrieve-export.calling_aetitle_or_external_aetitle_missing": "Calling AETitle or External AETitle missing!",
+ "retrieve-export.calling_external_destination_aet_missing": "Calling AETitle,External AETitle or destination AETitle is missing!",
+ "retrieve-export.count_0": "Count:0",
+ "retrieve-export.count_param": "Count:{$@@count}",
+ "retrieve-export.destination_aetitle": "Destination AETitle",
+ "retrieve-export.export_executed_param": "Export executed successfully!
{$@@count} studies added in the queue",
+ "retrieve-export.export_split_process": "Export split process",
+ "retrieve-export.export_studies": "Export studies",
+ "retrieve-export.external_aetitle": "External AETitle",
+ "retrieve-export.get_batch_id_from_file_name": "Get Batch ID from file name",
+ "retrieve-export.onsubmit_object": "onsubmit object",
+ "retrieve-export.query_aetitle": "Query AETitle",
+ "retrieve-export.query_count": "QUERY COUNT",
+ "retrieve-export.query_studies": "QUERY STUDIES",
+ "retrieve-export.retrieve_executed_param": "Retrieve executed successfully!
{$@@count} studies added in the queue",
+ "retrieve-export.retrieve_split_process": "Retrieve split process",
+ "retrieve-export.retrieve_studies": "Retrieve studies",
+ "retrieve-export.split_day_ways": "Split day-ways",
+ "retrieve-export.split_study_date_day_ways": "Split (StudyDate) day-ways",
+ "retrieve-export.study_created_date_time": "Study Created Date Time",
+ "retrieveAet": "Retrieve AET",
+ "retrieves_count": "Retrieves Count",
+ "rfc2079_uniform_resource_identifier": "RFC2079: Uniform Resource Identifier",
+ "role": "Role",
+ "route_configuration_name": "Route Configuration Name",
+ "route_configuration_name_is_required": "Route Configuration name is required!",
+ "route_type": "Route Type",
+ "routing_status": "Routing Status",
+ "rss_memory_consumption_": "RSS memory consumption (B)",
+ "s._p._step_priority": "S. P. Step Priority",
+ "s._procedure_step_date": "S. Procedure Step Date",
+ "saturday": "Saturday",
+ "save_changes": "Save Changes",
+ "save_the_template_for_all_the_user_that_have_the_following_role": "Save the template for all the user that have the following role",
+ "save_the_template_only_for_my_username": "Save the template only for my username",
+ "save_this_template": "Save this template",
+ "schedule-picker.drop_here_some_element": "Drop here some element to edit",
+ "schedule-picker.schedule_picker": "Schedule picker",
+ "schedule_at": "Schedule at",
+ "schedule_at_desc": "Schedule at (if not set, schedule immediately)",
+ "schedule_instance_availability_of_matching_studies_to_external_instance_availability_scp": "Schedule Instance Availability of matching Studies to external Instance Availability SCP",
+ "schedule_storage_commit_for_matching_studies": "Schedule Storage Commitment for matching Studies",
+ "schedule_storage_commit_for_matching_series": "Schedule Storage Commitment for matching Series",
+ "schedule_storage_commitment_of_matching_studies_from_external_storage_commitment_scp": "Schedule Storage Commitment of matching Studies from external Storage Commitment SCP",
+ "scheduled": "Scheduled",
+ "scheduled_human_performers_sequence_00404034": "Scheduled Human Performers Sequence (0040,4034)",
+ "scheduled_performing_physicians_name": "Scheduled Performing Physician's Name",
+ "scheduled_procedure_step_id": "Scheduled Procedure Step ID",
+ "scheduled_procedure_step_modification_date_and_time": "Scheduled Procedure Step Modification Date and Time",
+ "scheduled_procedure_step_priority": "Scheduled Procedure Step Priority",
+ "scheduled_procedure_step_start_date": "Scheduled Procedure Step Start Date",
+ "scheduled_procedure_step_start_date_and_time": "Scheduled Procedure Step Start Date and Time",
+ "scheduled_procedure_step_start_date_time": "Scheduled Procedure Step Start DateTime",
+ "scheduled_procedure_step_start_date_time_00404005_as_in_created_ups": "Scheduled Procedure Step Start DateTime (0040,4005) as in created UPS",
+ "scheduled_procedure_step_start_time": "Scheduled Procedure Step Start Time",
+ "scheduled_procedure_step_status": "Scheduled Procedure Step Status",
+ "scheduled_start_end_time_range": "Scheduled / Start / End Time Range",
+ "scheduled_station_ae_title": "Scheduled Station AE Title",
+ "scheduled_station_class_code_sequence_00404026": "Scheduled Station Class Code Sequence (0040,4026)",
+ "scheduled_station_geographic_location_code_sequence_00404027": "Scheduled Station Geographic Location Code Sequence (0040,4027)",
+ "scheduled_station_name_code_sequence_00404025": "Scheduled Station Name Code Sequence (0040,4025)",
+ "scheduled_storage_verification_of_matching_series": "Schedule Storage Verification of matching Series",
+ "scheduled_storage_verification_of_matching_studies": "Schedule Storage Verification of matching Studies",
+ "scheduled_time": "Scheduled Time",
+ "scheduled_time_range": "Scheduled time range",
+ "scheduled_workitem": "Scheduled Workitem",
+ "screenshots": "Screenshots",
+ "search": "Search",
+ "search_device": "Search device",
+ "search_dot": "Search...",
+ "search_list": "Search list...",
+ "search_patients": "Search Patients",
+ "search_response_payload_according_dicom_ps_3.18": "Search Response Payload according DICOM PS 3.18",
+ "searched_element_not_found": "Searched element not found!",
+ "second_plural": "seconds",
+ "second_singular": "second",
+ "secondary_aet": "Secondary AET",
+ "secondary_web_app_service": "Secondary Web App Service",
+ "select": "Select",
+ "select_PDQ": "Select PDQ Service",
+ "select_a_role": "Select a role",
+ "select_all_patients": "Select all patients",
+ "select_all_studies": "Select all studies",
+ "select_archive_aet": "Select an archive AET:",
+ "select_before_date_and_status_to_delete_all_storage_commitments": "Select before date and status to delete all storage commitments",
+ "select_device": "Select Device",
+ "select_directory": "Select Directory",
+ "select_element_for_clone": "Select element for clone",
+ "select_existing_device": "Select existing device",
+ "select_first_a_folder": "Select first a folder!",
+ "select_hl7_application_name_for_the_aets": "Select Hl7Application name for the AETs",
+ "select_one_of_the_directories_to_migrate": "Select one of the directories that you want to migrate",
+ "select_queue_name_if_you_want_to_reschedule": "Select queue name if you want to reschedule to an other queue",
+ "select_rejection_note_type": "Select Rejection Note type",
+ "select_role": "Select Role:",
+ "select_scheduled_procedure_step_status": "Select the Scheduled Procedure Step Status",
+ "select_stow_webapp": "Select STOW destination web application:",
+ "select_the_calling_aetitle": "Select the calling AETitle:",
+ "select_the_destination_aetitle": "Select the destination AETitle:",
+ "select_the_destination_aetitle_store_scp": "Select the destination AETitle (STORE-SCP):",
+ "select_the_exporter": "Select the exporter:",
+ "select_the_external_aetitle": "Select the external AETitle:",
+ "select_the_external_aetitle_c_move_scp": "Select the external AETitle (C-MOVE SCP):",
+ "select_the_query_aetitle": "Select the query AETitle:",
+ "select_the_stow_rs_server": "Select the STOW-RS server:",
+ "select_the_type_of_the_exporter": "Select the type of the exporter:",
+ "select_this_ae_as_the_right_one": "select this AE as the right one",
+ "select_this_one": "Select this one",
+ "select_this_version_as_the_right_one": "Select this version as the right one",
+ "selected": "selected",
+ "selected_objects_to_action": "Selected Objects to {$INTERPOLATION}",
+ "selected_target_mwl": "Selected target MWL",
+ "selected_target_patient": "Selected target patient",
+ "selected_target_study": "Selected target study",
+ "selection.action.copy": "Copy",
+ "selection.action.cut": "Cut",
+ "selection.action.link": "Link",
+ "selection.action.merge": "Merge",
+ "selections-dicom-view.remove_from_selection": "Remove from selection",
+ "send_data_to": "SEND DATA TO:",
+ "send_data_to_param": "SEND DATA TO {$@@webAppService}",
+ "send_ian_request_for_selections": "Send IAN for selections",
+ "send_instance_availability_notification_request_for_selected_objects": "Send Instance Availability Notification Request for selected objects",
+ "send_storage_commitment_request_for_selected_objects": "Send Storage Commitment Request for selected objects",
+ "send_storage_commitment_request_for_selections": "Send Storage Commitment Request for selections",
+ "send_storage_commitment_request_for_study": "Send Storage Commitment Request for this study",
+ "sending_aet_of_series": "Sending AET of Series",
+ "sending_application_entity_title_of_series": "Sending Application Entity Title of Series",
+ "sending_hl7_application_of_series": "Sending HL7 Application Of Series",
+ "sending_hl7_facility_of_series": "Sending HL7 Facility Of Series",
+ "sending_presentation_addr_of_series": "Sending Presentation Address of Series",
+ "series": "Series",
+ "series_description": "Series Description",
+ "series_instance_uid": "Series Instance UID",
+ "series_metadata_update_failed": "Series Metadata Update Failed",
+ "series_number": "Series Number",
+ "series_queue_reject": "Series queued for rejection successfully",
+ "series_saved": "Series saved successfully!",
+ "series_uid_field": "Series UID Field",
+ "series_will_not_be_sent": "Series will not be sent!",
+ "serious_failure_8": "Serious failure (8)",
+ "services": "Services",
+ "set_change_expired_date": "Set/Change expired date",
+ "set_dicom_operations": "Set DICOM operations",
+ "set_expiration_date_to_never_if_you_want_also_to_protect_the_study": "Set Expiration Date to 'never' if you want also to protect the study",
+ "set_expiration_date_to_never_to_protect_the_study": "Existing / new Expiration Date will be nullified and study expiration state will be set to FROZEN to protect the study from being expired or rejected",
+ "set_expired_date_for_the_study": "Set expired date for the study.",
+ "set_filter_template_name": "Set the name for the new filter template:",
+ "set_the_c-move_scp_and_store-scp_aets": "Set the C-MOVE SCP and STORE-SCP AETs",
+ "set_time": "Set time",
+ "severity": "Severity",
+ "sex": "Sex",
+ "show_all_tasks": "Show all tasks",
+ "show_batch_detail_list": "Show batch detail list",
+ "show_details": "Show details",
+ "show_diff_results_of_this_task": "Show diff results of this task",
+ "show_forward_retrieve_tasks": "Show forward retrieve tasks",
+ "show_group_details": "Show group details",
+ "show_properties": "Show Properties",
+ "show_retrieve_tasks": "Show retrieve tasks",
+ "single": "single",
+ "single_date": "Single Date",
+ "single_day": "Single day",
+ "single_hour": "Single hour",
+ "size": "Size",
+ "size-range-picker.title": "Set Size Range:",
+ "size_clinch_param": "Size ( {$@@sum} )",
+ "smart_picker": "Smart Picker",
+ "software_configuration": "Software Configuration",
+ "software_version": "Software version",
+ "some_or_all_patients_couldnt_be_updated": "Some or all patients couldn't be updated, execute diff again and try again",
+ "some_or_all_studies_couldnt_be_exported": "Some or all studies couldn't be exported, execute diff again and try again",
+ "some_or_all_studies_couldnt_be_rejected": "Some or all studies couldn't be rejected, execute diff again and try again",
+ "something_went_wrong": "Something went wrong!",
+ "something_went_wrong,_reload_the_page_and_try_again": "Something went wrong, reload the page and try again!",
+ "sop_class_uid": "SOP Class UID",
+ "sop_classes_in_study": "SOP classes in study",
+ "sort": "Sort",
+ "sort_by_creation_time_asc": "Sort by creation time (ASC)",
+ "sort_by_creation_time_desc": "Sort by creation time (DESC)",
+ "sort_by_updated_time_asc": "Sort by updated time (ASC)",
+ "sort_by_updated_time_desc": "Sort by updated time (DESC)",
+ "sort_by_scheduled_time_asc": "Sort by scheduled time (ASC)",
+ "sort_by_scheduled_time_desc": "Sort by scheduled time (DESC)",
+ "source_of_previous_values": "Source of Previous Values",
+ "source_of_previous_values_desc": "Source of Previous Values (0400,0561) stored with original Attributes in Original Attributes Sequence (0400,0561)",
+ "source_of_previous_values_label": "Source of previous values: ",
+ "source_host": "Source Host",
+ "source_user_id": "Source UserID",
+ "sp_physicians_family_name": "SP Physician's family name",
+ "sp_physicians_name": "SP Physician's Name",
+ "space_usable_total": "Space ( Usable / Total )",
+ "spec_time": "Spec. Time",
+ "specific_time": "Specific Time",
+ "split_study_date_range": "Split Study Date Range",
+ "split_study_date_range_duration_format": "Split Study Date Range as per duration format",
+ "sps_description": "SPS Description",
+ "sps_start_date": "SPS Start Date",
+ "sps_start_time": "SPS Start Time",
+ "sps_status": "SPS Status",
+ "sps_status_on_selections": "SPS Status on selections",
+ "start_all_migrations": "Start all migrations",
+ "start_auto_refresh": "Start Auto Refresh",
+ "started": "Started",
+ "station": "Station",
+ "station_class_code": "Station Class Code",
+ "station_name": "Station name",
+ "station_name_code": "Station Name Code",
+ "statistics-tab.studies_stored_advanced": "Studies Stored Advanced",
+ "statistics-tab.studies_stored_simple": "Studies Stored Simple",
+ "statistics.setting_time_range_failed_on_application_error_counts_": "Setting time range failed on Application Error Counts ",
+ "statistics.setting_time_range_failed_on_application_warning_counts_": "Setting time range failed on Application Warning Counts ",
+ "statistics.setting_time_range_failed_on_audit_event_": "Setting time range failed on Audit Event ",
+ "statistics.setting_time_range_failed_on_authentication_audit_event_": "Setting time range failed on Authentication Audit Event ",
+ "statistics.setting_time_range_failed_on_docker_stats_cpu": "Setting time range failed on Docker Stats - CPU",
+ "statistics.setting_time_range_failed_on_docker_stats_memory_rss": "Setting time range failed on Docker Stats - Memory RSS",
+ "statistics.setting_time_range_failed_on_docker_stats_memory_usage": "Setting time range failed on Docker Stats - Memory Usage",
+ "statistics.setting_time_range_failed_on_docker_stats_network_transmitted_packets": "Setting time range failed on Docker Stats - Network Transmitted packets",
+ "statistics.setting_time_range_failed_on_docker_stats_reads_p_second": "Setting time range failed on Docker Stats - Reads p. second",
+ "statistics.setting_time_range_failed_on_docker_stats_writes_p_second": "Setting time range failed on Docker Stats - Writes p. second",
+ "statistics.setting_time_range_failed_on_error_counts_": "Setting time range failed on Error Counts ",
+ "statistics.setting_time_range_failed_on_queries_counts_": "Setting time range failed on Queries Counts ",
+ "statistics.setting_time_range_failed_on_queries_userid_": "Setting time range failed on Queries UserID ",
+ "statistics.setting_time_range_failed_on_retrieve_counts_": "Setting time range failed on Retrieve Counts ",
+ "statistics.setting_time_range_failed_on_retrieves_userid_": "Setting time range failed on Retrieves UserID ",
+ "statistics.setting_time_range_failed_on_stored_counts_": "Setting time range failed on Stored Counts ",
+ "statistics.setting_time_range_failed_on_studies_stored_receiving_aet_user_id_": "Setting time range failed on Studies Stored / Receiving AET UserID ",
+ "statistics.setting_time_range_failed_on_studies_stored_sopclass_": "Setting time range failed on Studies Stored / SOPClass ",
+ "statistics.setting_time_range_failed_on_studies_stored_user_id_": "Setting time range failed on Studies Stored / UserID ",
+ "status": "Status",
+ "status_of_tasks": "Status of tasks",
+ "status_of_tasks_to_filter_by": "Status of tasks to filter by",
+ "statuses": "Statuses",
+ "step_modification_time": "Step Modification Time",
+ "stop_all_migrations": "Stop all migrations",
+ "stop_auto_refresh": "Stop Auto Refresh",
+ "storage-commitment._h": " h",
+ "storage-commitment._min": " min",
+ "storage-commitment._ms": " ms",
+ "storage-commitment._sec": " sec",
+ "storage-systems.metadata_storage": "Metadata Storage",
+ "storage-systems.object_storage": "Object Storage",
+ "storage-systems.seriesmetadata_storage": "SeriesMetadata Storage",
+ "storage-systems.uri_schema": "Uri Schema",
+ "storage-systems.usablespace_below": "UsableSpace below",
+ "storage-verification.check_if_object_exists_on_storage_system": "check if object exists on Storage System",
+ "storage-verification.check_size_of_object_on_storage_system": "check size of object on Storage System",
+ "storage-verification.failed_verification": "Failed verification",
+ "storage-verification.outcome_message": "Outcome Message",
+ "storage-verification.storage_policy": "Storage Policy",
+ "storage-verification.storage_verification_policy": "Storage Verification Policy",
+ "storage-verification.update_location": "Update location",
+ "storage_IDs": "Storage IDs",
+ "storage_cluster_id": "Storage Cluster ID",
+ "storage_clustered": "Storage Clustered",
+ "storage_clustered_no": "Do not query studies whose objects are on other storage systems of the 'Storage Cluster' to which selected 'Storage ID' belongs",
+ "storage_clustered_tooltip": "Query studies whose objects are also on other storage systems of the 'Storage Cluster' to which selected 'Storage ID' belongs; applicable only in combination with 'Storage ID' filter",
+ "storage_clustered_yes": "Query studies whose objects are also on other storage systems of the 'Storage Cluster' to which selected 'Storage ID' belongs",
+ "storage_commitment_of_instance_from_external_storage_commitment_scp_requested": "Storage Commitment of Instance from external Storage Commitment SCP was requested successfully",
+ "storage_commitment_of_matching_studies_from_external_storage_commitment_scp_was_scheduled": "Storage Commitment of matching Studies from external Storage Commitment SCP was scheduled successfully",
+ "storage_commitment_of_selected_objects_from_external_storage_commitment_scp_was_requested": "Storage Commitment of selected objects from external Storage Commitment SCP was requested successfully",
+ "storage_commitment_of_series_from_external_storage_commitment_scp_requested": "Storage Commitment of Series from external Storage Commitment SCP was requested successfully",
+ "storage_commitment_of_study_from_external_storage_commitment_scp_requested": "Storage Commitment of Study from external Storage Commitment SCP was requested successfully",
+ "storage_commitment_scp_ae_title": "Storage Commitment SCP AE Title",
+ "storage_commitments": "Storage commitments",
+ "storage_duration": "Storage Duration",
+ "storage_exported": "Storage Exported",
+ "storage_exported_no": "Do not query studies whose objects are on configured 'Export Storage ID' storage systems of selected 'Storage ID'",
+ "storage_exported_tooltip": "Query studies whose objects are also on configured 'Export Storage ID' storage systems of selected 'Storage ID'; applicable only in combination with 'Storage ID' filter",
+ "storage_exported_yes": "Query studies whose objects are also on configured 'Export Storage ID' storage systems of selected 'Storage ID'",
+ "storage_id": "Storage ID",
+ "storage_id_tooltip": "Only query studies whose objects are on a particular storage system",
+ "storage_sop_classes_in_study": "Storage SOP classes in study",
+ "storage_sop_class_image.breast_projection_xray_presentation": "Breast Projection X-Ray Image Storage - For Presentation",
+ "storage_sop_class_image.breast_projection_xray_processing": "Breast Projection X-Ray Image Storage - For Processing",
+ "storage_sop_class_image.breast_tomosynthesis": "Breast Tomosynthesis Image Storage",
+ "storage_sop_class_image.computed_radiography": "Computed Radiography Image Storage",
+ "storage_sop_class_image.corneal_topography_map": "Corneal Topography Map Storage",
+ "storage_sop_class_image.ct": "CT Image Storage",
+ "storage_sop_class_image.dermoscopic_photography": "Dermoscopic Photography Image Storage",
+ "storage_sop_class_image.digital_intra_oral_xray_presentation": "Digital Intra-Oral X-Ray Image Storage - For Presentation",
+ "storage_sop_class_image.digital_intra_oral_xray_processing": "Digital Intra-Oral X-Ray Image Storage - For Processing",
+ "storage_sop_class_image.digital_mammography_xray_presentation": "Digital Mammography X-Ray Image Storage - For Presentation",
+ "storage_sop_class_image.digital_mammography_xray_processing": "Digital Mammography X-Ray Image Storage - For Processing",
+ "storage_sop_class_image.digital_xray_presentation": "Digital X-Ray Image Storage - For Presentation",
+ "storage_sop_class_image.digital_xray_processing": "Digital X-Ray Image Storage - For Processing",
+ "storage_sop_class_image.enhanced_continuous_rt": "Enhanced Continuous RT Image Storage",
+ "storage_sop_class_image.enhanced_ct": "Enhanced CT Image Storage",
+ "storage_sop_class_image.enhanced_mr": "Enhanced MR Image Storage",
+ "storage_sop_class_image.enhanced_mr_color": "Enhanced MR Color Image Storage",
+ "storage_sop_class_image.enhanced_pet": "Enhanced PET Image Storage",
+ "storage_sop_class_image.enhanced_rt": "Enhanced RT Image Storage",
+ "storage_sop_class_image.enhanced_us_volume": "Enhanced US Volume Storage",
+ "storage_sop_class_image.enhanced_xa": "Enhanced XA Image Storage",
+ "storage_sop_class_image.enhanced_xrf": "Enhanced XRF Image Storage",
+ "storage_sop_class_image.intravascular_optical_coherence_tomography_presentation": "Intravascular Optical Coherence Tomography Image Storage - For Presentation",
+ "storage_sop_class_image.intravascular_optical_coherence_tomography_processing": "Intravascular Optical Coherence Tomography Image Storage - For Processing",
+ "storage_sop_class_image.legacy_converted_enhanced_ct": "Legacy Converted Enhanced CT Image Storage",
+ "storage_sop_class_image.legacy_converted_enhanced_mr": "Legacy Converted Enhanced MR Image Storage",
+ "storage_sop_class_image.legacy_converted_enhanced_pet": "Legacy Converted Enhanced PET Image Storage",
+ "storage_sop_class_image.mr": "MR Image Storage",
+ "storage_sop_class_image.multi_frame_grayscale_byte_secondary_capture": "Multi-frame Grayscale Byte Secondary Capture Image Storage",
+ "storage_sop_class_image.multi_frame_grayscale_word_secondary_capture": "Multi-frame Grayscale Word Secondary Capture Image Storage",
+ "storage_sop_class_image.multi_frame_true_color_secondary_capture": "Multi-frame True Color Secondary Capture Image Storage",
+ "storage_sop_class_image.nuclear_medicine": "Nuclear Medicine Image Storage",
+ "storage_sop_class_image.nuclear_medicine_retired": "Nuclear Medicine Image Storage (Retired)",
+ "storage_sop_class_image.opthalmic_optical_coherence_tomography_b_scan_volume_analysis": "Ophthalmic Optical Coherence Tomography B-scan Volume Analysis Storage",
+ "storage_sop_class_image.opthalmic_optical_coherence_tomography_en_face": "Ophthalmic Optical Coherence Tomography En Face Image Storage",
+ "storage_sop_class_image.opthalmic_photography_8_bit": "Ophthalmic Photography 8 Bit Image Storage",
+ "storage_sop_class_image.opthalmic_photography_16_bit": "Ophthalmic Photography 16 Bit Image Storage",
+ "storage_sop_class_image.opthalmic_thickness_map": "Ophthalmic Thickness Map Storage",
+ "storage_sop_class_image.opthalmic_tomography": "Ophthalmic Tomography Image Storage",
+ "storage_sop_class_image.positron_emission_tomography": "Positron Emission Tomography Image Storage",
+ "storage_sop_class_image.secondary_capture": "Secondary Capture Image Storage",
+ "storage_sop_class_image.ultrasound": "Ultrasound Image Storage",
+ "storage_sop_class_image.ultrasound_multi_frame": "Ultrasound Multi-frame Image Storage",
+ "storage_sop_class_image.ultrasound_multi_frame_retired": "Ultrasound Multi-frame Image Storage (Retired)",
+ "storage_sop_class_image.ultrasound_retired": "Ultrasound Image Storage (Retired)",
+ "storage_sop_class_image.vl_endoscopic": "VL Endoscopic Image Storage",
+ "storage_sop_class_image.vl_microscopic": "VL Microscopic Image Storage",
+ "storage_sop_class_image.vl_multi_frame_trial_retired": "VL Multi-frame Image Storage - Trial (Retired)",
+ "storage_sop_class_image.vl_photographic": "VL Photographic Image Storage",
+ "storage_sop_class_image.vl_slide_coordinates_microscopic": "VL Slide-Coordinates Microscopic Image Storage",
+ "storage_sop_class_image.vl_trial_retired": "VL Image Storage - Trial (Retired)",
+ "storage_sop_class_image.vl_whole_slide_microscopy": "VL Whole Slide Microscopy Image Storage",
+ "storage_sop_class_image.wide_field_opthalmic_photography_3d_coordinates": "Wide Field Ophthalmic Photography 3D Coordinates Image Storage",
+ "storage_sop_class_image.wide_field_opthalmic_photography_stereographic_projection": "Wide Field Ophthalmic Photography Stereographic Projection Image Storage",
+ "storage_sop_class_image.xray_3d_angiographic": "X-Ray 3D Angiographic Image Storage",
+ "storage_sop_class_image.xray_3d_craniofacial": "X-Ray 3D Craniofacial Image Storage",
+ "storage_sop_class_image.xray_angiographic": "X-Ray Angiographic Image Storage",
+ "storage_sop_class_image.xray_angiographic_biplane_retired": "X-Ray Angiographic Bi-Plane Image Storage (Retired)",
+ "storage_sop_class_image.xray_radiofluoroscopic": "X-Ray Radiofluoroscopic Image Storage",
+ "storage_sop_class_image.private_fuji_cr": "Private Fuji CR Image Storage",
+ "storage_sop_class_image.private_ge_dicom_ct": "Private GE Dicom CT Image Info Object",
+ "storage_sop_class_image.private_ge_dicom_display": "Private GE Dicom Display Image Info Object",
+ "storage_sop_class_image.private_ge_dicom_mr": "Private GE Dicom MR Image Info Object",
+ "storage_sop_class_image.private_philips_ct_synthetic": "Private Philips CT Synthetic Image Storage",
+ "storage_sop_class_image.private_philips_cx": "Private Philips CX Image Storage",
+ "storage_sop_class_image.private_philips_cx_synthetic": "Private Philips CX Synthetic Image Storage",
+ "storage_sop_class_image.private_philips_mr_color": "Private Philips MR Color Image Storage",
+ "storage_sop_class_image.private_philips_mr_synthetic": "Private Philips MR Synthetic Image Storage",
+ "storage_sop_class_image.private_philips_perfusion": "Private Philips Perfusion Image Storage",
+ "storage_sop_class_image.private_pixelmed_floating_point": "Private PixelMed Floating Point Image Storage",
+ "storage_sop_class_image.private_pixelmed_legacy_converted_enhanced_ct": "Private PixelMed Legacy Converted Enhanced CT Image Storage",
+ "storage_sop_class_image.private_pixelmed_legacy_converted_enhanced_mr": "Private PixelMed Legacy Converted Enhanced MR Image Storage",
+ "storage_sop_class_image.private_pixelmed_legacy_converted_enhanced_pet": "Private PixelMed Legacy Converted Enhanced PET Image Storage",
+ "storage_sop_class_image.private_pmod_multi_frame": "Private PMOD Multi-frame Image Storage",
+ "storage_sop_class_image.private_toshiba_us": "Private Toshiba US Image Storage",
+ "storage_sop_class_other.12-lead_ecg_waveform": "12-lead ECG Waveform Storage",
+ "storage_sop_class_other.advanced_blending_presentation_state": "Advanced Blending Presentation State Storage",
+ "storage_sop_class_other.ambulatory_ecg_waveform": "Ambulatory ECG Waveform Storage",
+ "storage_sop_class_other.arterial_pulse_waveform": "Arterial Pulse Waveform Storage",
+ "storage_sop_class_other.audio_sr_trial_retired": "Audio SR Storage Trial (Retired)",
+ "storage_sop_class_other.autorefraction_measurements": "Autorefraction Measurements Storage",
+ "storage_sop_class_other.basic_audio_waveform": "Basic Voice Audio Waveform Storage",
+ "storage_sop_class_other.basic_structured_display": "Basic Structured Display Storage",
+ "storage_sop_class_other.blending_softcopy_presentation_state": "Blending Softcopy Presentation State Storage SOP Class",
+ "storage_sop_class_other.body_position_waveform": "Body Position Waveform Storage",
+ "storage_sop_class_other.c-arm_photon-electron_radiation": "C-Arm Photon-Electron Radiation Storage",
+ "storage_sop_class_other.c-arm_photon-electron_radiation_record": "C-Arm Photon-Electron Radiation Record Storage",
+ "storage_sop_class_other.cardiac_electrophysiology_waveform": "Cardiac Electrophysiology Waveform Storage",
+ "storage_sop_class_other.color_softcopy_presentation_state": "Color Softcopy Presentation State Storage SOP Class",
+ "storage_sop_class_other.compositing_planar_mpr_volumetric_presentation_state": "Compositing Planar MPR Volumetric Presentation State Storage",
+ "storage_sop_class_other.comprehensive_sr_trial_retired": "Comprehensive SR Storage Trial (Retired)",
+ "storage_sop_class_other.content_assessment_results": "Content Assessment Results Storage",
+ "storage_sop_class_other.ct_performed_procedure_protocol": "CT Performed Procedure Protocol Storage",
+ "storage_sop_class_other.deformable_spatial_registration": "Deformable Spatial Registration Storage",
+ "storage_sop_class_other.detail_sr_trial_retired": "Detail SR Storage Trial (Retired)",
+ "storage_sop_class_other.electromyogram_waveform": "Electromyogram Waveform Storage",
+ "storage_sop_class_other.electrooculogram_waveform": "Electrooculogram Waveform Storage",
+ "storage_sop_class_other.encapsulated_cda": "Encapsulated CDA Storage",
+ "storage_sop_class_other.encapsulated_mtl": "Encapsulated MTL Storage",
+ "storage_sop_class_other.encapsulated_obj": "Encapsulated OBJ Storage",
+ "storage_sop_class_other.encapsulated_pdf": "Encapsulated PDF Storage",
+ "storage_sop_class_other.encapsulated_stl": "Encapsulated STL Storage",
+ "storage_sop_class_other.general_audio_waveform": "General Audio Waveform Storage",
+ "storage_sop_class_other.general_ecg_waveform": "General ECG Waveform Storage",
+ "storage_sop_class_other.grayscale_planar_mpr_volumetric_presentation_state": "Grayscale Planar MPR Volumetric Presentation State Storage",
+ "storage_sop_class_other.grayscale_softcopy_presentation_state": "Grayscale Softcopy Presentation State Storage SOP Class",
+ "storage_sop_class_other.hardcopy_grayscale_image_retired": "Hardcopy Grayscale Image Storage SOP Class (Retired)",
+ "storage_sop_class_other.hardcopy_color_image_retired": "Hardcopy Color Image Storage SOP Class (Retired)",
+ "storage_sop_class_other.hemodynamic_waveform": "Hemodynamic Waveform Storage",
+ "storage_sop_class_other.intraocular_lens_calculations": "Intraocular Lens Calculations Storage",
+ "storage_sop_class_other.keratometry_measurements": "Keratometry Measurements Storage",
+ "storage_sop_class_other.lensometry_measurements": "Lensometry Measurements Storage",
+ "storage_sop_class_other.microscopy_bulk_simple_annotations": "Microscopy Bulk Simple Annotations Storage",
+ "storage_sop_class_other.mr_spectrocopy": "MR Spectroscopy Storage",
+ "storage_sop_class_other.multi-channel_respiratory_waveform": "Multi-channel Respiratory Waveform Storage",
+ "storage_sop_class_other.multi-frame_single_bit_secondary_capture_image": "Multi-frame Single Bit Secondary Capture Image Storage",
+ "storage_sop_class_other.multiple_volume_rendering_volumetric_presentation_state": "Multiple Volume Rendering Volumetric Presentation State Storage",
+ "storage_sop_class_other.ophthalmic_axial_measurements": "Ophthalmic Axial Measurements Storage",
+ "storage_sop_class_other.ophthalmic_visual_field_static_perimetry_measurements": "Ophthalmic Visual Field Static Perimetry Measurements Storage",
+ "storage_sop_class_other.pseudo-color_softcopy_presentation_state": "Pseudo-Color Softcopy Presentation State Storage SOP Class",
+ "storage_sop_class_other.respiratory_waveform": "Respiratory Waveform Storage",
+ "storage_sop_class_other.routine_scalp_electroencephalogram_waveform": "Routine Scalp Electroencephalogram Waveform Storage",
+ "storage_sop_class_other.segmented_volume_rendering_volumetric_presentation_state": "Segmented Volume Rendering Volumetric Presentation State Storage",
+ "storage_sop_class_other.parametric_map": "Parametric Map Storage",
+ "storage_sop_class_other.raw_data": "Raw Data Storage",
+ "storage_sop_class_other.real_world_value_mapping": "Real World Value Mapping Storage",
+ "storage_sop_class_other.robotic-arm_radiation": "Robotic-Arm Radiation Storage",
+ "storage_sop_class_other.robotic_radiation_record": "Robotic Radiation Record Storage",
+ "storage_sop_class_other.rt_beams_delivery_instruction": "RT Beams Delivery Instruction Storage",
+ "storage_sop_class_other.rt_beams_treatment_record": "RT Beams Treatment Record Storage",
+ "storage_sop_class_other.rt_brachy_application_setup_delivery_instruction": "RT Brachy Application Setup Delivery Instruction Storage",
+ "storage_sop_class_other.rt_brachy_treatment_record": "RT Brachy Treatment Record Storage",
+ "storage_sop_class_other.rt_dose": "RT Dose Storage",
+ "storage_sop_class_other.rt_ion_plan": "RT Ion Plan Storage",
+ "storage_sop_class_other.rt_ion_beams_treatment_record": "RT Ion Beams Treatment Record Storage",
+ "storage_sop_class_other.rt_patient_position_acquisition_instruction": "RT Patient Position Acquisition Instruction Storage",
+ "storage_sop_class_other.rt_physician_intent": "RT Physician Intent Storage",
+ "storage_sop_class_other.rt_plan": "RT Plan Storage",
+ "storage_sop_class_other.rt_radiation_record_set": "RT Radiation Record Set Storage",
+ "storage_sop_class_other.rt_radiation_salvage_record": "RT Radiation Salvage Record Storage",
+ "storage_sop_class_other.rt_radiation_set": "RT Radiation Set Storage",
+ "storage_sop_class_other.rt_radiation_set_delivery_instruction": "RT Radiation Set Delivery Instruction Storage",
+ "storage_sop_class_other.rt_segment_annotation": "RT Segment Annotation Storage",
+ "storage_sop_class_other.rt_structure_set": "RT Structure Set Storage",
+ "storage_sop_class_other.rt_treatment_preparation": "RT Treatment Preparation Storage",
+ "storage_sop_class_other.rt_treatment_summary_record": "RT Treatment Summary Record Storage",
+ "storage_sop_class_other.segmentation": "Segmentation Storage",
+ "storage_sop_class_other.spatial_registration": "Spatial Registration Storage",
+ "storage_sop_class_other.spatial_fiducials": "Spatial Fiducials Storage",
+ "storage_sop_class_other.sleep_electroencephalogram_waveform": "Sleep Electroencephalogram Waveform Storage",
+ "storage_sop_class_other.standalone_curve_retired": "Standalone Curve Storage (Retired)",
+ "storage_sop_class_other.standalone_modality_lut_retired": "Standalone Modality LUT Storage (Retired)",
+ "storage_sop_class_other.standalone_overlay_retired": "Standalone Overlay Storage (Retired)",
+ "storage_sop_class_other.standalone_pet_curve_retired": "Standalone PET Curve Storage (Retired)",
+ "storage_sop_class_other.standalone_voi_lut_retired": "Standalone VOI LUT Storage (Retired)",
+ "storage_sop_class_other.stereometric_relationship": "Stereometric Relationship Storage",
+ "storage_sop_class_other.stored_print_reired": "Stored Print Storage SOP Class (Retired)",
+ "storage_sop_class_other.subjective_refraction_measurements": "Subjective Refraction Measurements Storage",
+ "storage_sop_class_other.surface_scan_mesh": "Surface Scan Mesh Storage",
+ "storage_sop_class_other.surface_scan_point_cloud": "Surface Scan Point Cloud Storage",
+ "storage_sop_class_other.surface_segmentation": "Surface Segmentation Storage",
+ "storage_sop_class_other.text_sr_trial_retired": "Text SR Storage Trial (Retired)",
+ "storage_sop_class_other.tomotherapeutic_radiation": "Tomotherapeutic Radiation Storage",
+ "storage_sop_class_other.tomotherapeutic_radiation_record": "Tomotherapeutic Radiation Record Storage",
+ "storage_sop_class_other.tractography_results": "Tractography Results Storage",
+ "storage_sop_class_other.volume_rendering_volumetric_presentation_state": "Volume Rendering Volumetric Presentation State Storage",
+ "storage_sop_class_other.visual_acuity_measurements": "Visual Acuity Measurements Storage",
+ "storage_sop_class_other.xa_performed_procedure_protocol": "XA Performed Procedure Protocol Storage",
+ "storage_sop_class_other.xa-xrf_grayscale_softcopy_presentation_state": "XA/XRF Grayscale Softcopy Presentation State Storage",
+ "storage_sop_class_other.private_agfa_arrival_transaction": "Private Agfa Arrival Transaction",
+ "storage_sop_class_other.private_agfa_basic_attr_presentation_state": "Private Agfa Basic Attribute Presentation State",
+ "storage_sop_class_other.private_agfa_dictation_transaction": "Private Agfa Dictation Transaction",
+ "storage_sop_class_other.private_agfa_report_approval_transaction": "Private Agfa Report Approval Transaction",
+ "storage_sop_class_other.private_agfa_report_transcription_transaction": "Private Agfa Report Transcription Transaction",
+ "storage_sop_class_other.private_erad_practice_builder_report_dictation": "Private ERAD Practice Builder Report Dictation Storage",
+ "storage_sop_class_other.private_erad_practice_builder_report_text": "Private ERAD Practice Builder Report Text Storage",
+ "storage_sop_class_other.private_ge_3d_model": "Private GE 3D Model Storage",
+ "storage_sop_class_other.private_ge_collage": "Private GE Collage Storage",
+ "storage_sop_class_other.private_ge_entegra_protocol_or_nm_genie": "Private GE eNTEGRA Protocol or NM Genie Storage",
+ "storage_sop_class_other.private_ge_pet_raw_data": "Private GE PET Raw Data Storage",
+ "storage_sop_class_other.private_ge_rt_plan": "Private GE RT Plan Storage",
+ "storage_sop_class_other.private_philips_3d_object": "Private Philips 3D Object Storage",
+ "storage_sop_class_other.private_philips_3d_object_retired": "Private Philips 3D Object Storage (Retired)",
+ "storage_sop_class_other.private_philips_3d_presentation_state.": "Private Philips 3D Presentation State Storage",
+ "storage_sop_class_other.private_philips_composite_obj": "Private Philips Composite Object Storage",
+ "storage_sop_class_other.private_philips_hp_live_3d_01": "Private Philips HP Live 3D 01 Storage",
+ "storage_sop_class_other.private_philips_hp_live_3d_02": "Private Philips HP Live 3D 02 Storage",
+ "storage_sop_class_other.private_philips_live_run": "Private Philips Live Run Storage",
+ "storage_sop_class_other.private_philips_mr_cardio": "Private Philips MR Cardio Storage",
+ "storage_sop_class_other.private_philips_mr_cardio_analysis": "Private Philips MR Cardio Analysis Storage",
+ "storage_sop_class_other.private_philips_mr_cardio_analysis_retired": "Private Philips MR Cardio Analysis Storage (Retired)",
+ "storage_sop_class_other.private_philips_mr_cardio_profile": "Private Philips MR Cardio Profile Storage",
+ "storage_sop_class_other.private_philips_mr_cardio_retired": "Private Philips MR Cardio Storage (Retired)",
+ "storage_sop_class_other.private_philips_mr_examcard": "Private Philips MR Examcard Storage",
+ "storage_sop_class_other.private_philips_mr_series_data": "Private Philips MR Series Data Storage",
+ "storage_sop_class_other.private_philips_mr_spectrum": "Private Philips MR Spectrum Storage",
+ "storage_sop_class_other.private_philips_perfusion": "Private Philips Perfusion Storage",
+ "storage_sop_class_other.private_philips_reconstruction": "Private Philips Reconstruction Storage",
+ "storage_sop_class_other.private_philips_run": "Private Philips Run Storage",
+ "storage_sop_class_other.private_philips_specialised_xa": "Private Philips Specialised XA Storage",
+ "storage_sop_class_other.private_philips_surface": "Private Philips Surface Storage",
+ "storage_sop_class_other.private_philips_surface_retired": "Private Philips Surface Storage (Retired)",
+ "storage_sop_class_other.private_philips_vml": "Private Philips VRML Storage",
+ "storage_sop_class_other.private_philips_volume": "Private Philips Volume Storage",
+ "storage_sop_class_other.private_philips_volume_retired": "Private Philips Volume Storage (Retired)",
+ "storage_sop_class_other.private_philips_volume_set": "Private Philips Volume Set Storage",
+ "storage_sop_class_other.private_philips_xray_mf": "Private Philips X-Ray MF Storage",
+ "storage_sop_class_other.private_siemens_ax_frame_sets": "Private Siemens AX Frame Sets Storage",
+ "storage_sop_class_other.private_siemens_csa_non_image": "Private Siemens CSA Non Image Storage",
+ "storage_sop_class_other.private_siemens_ct_mr_volume": "Private Siemens CT MR Volume Storage",
+ "storage_sop_class_other.private_tomtec_annotation": "Private TomTec Annotation Storage",
+ "storage_sop_class_sr.acquisition_context": "Acquisition Context SR Storage",
+ "storage_sop_class_sr.basic_text": "Basic Text SR Storage",
+ "storage_sop_class_sr.chest_cad": "Chest CAD SR Storage",
+ "storage_sop_class_sr.colon_cad": "Colon CAD SR Storage",
+ "storage_sop_class_sr.comprehensive": "Comprehensive SR Storage",
+ "storage_sop_class_sr.comprehensive_3d": "Comprehensive 3D SR Storage",
+ "storage_sop_class_sr.enhanced": "Enhanced SR Storage",
+ "storage_sop_class_sr.enhanced_xray_radiation_dose": "Enhanced X-Ray Radiation Dose SR Storage",
+ "storage_sop_class_sr.extensible": "Extensible SR Storage",
+ "storage_sop_class_sr.implantation_plan": "Implantation Plan SR Storage",
+ "storage_sop_class_sr.key_object_selection_document": "Key Object Selection Document Storage",
+ "storage_sop_class_sr.macular_grid_thickness_volume_report": "Macular Grid Thickness and Volume Report Storage",
+ "storage_sop_class_sr.mammography_cad": "Mammography CAD SR Storage",
+ "storage_sop_class_sr.patient_radiation_dose": "Patient Radiation Dose SR Storage",
+ "storage_sop_class_sr.performed_imaging_agent_administration": "Performed Imaging Agent Administration SR Storage",
+ "storage_sop_class_sr.planned_imaging_agent_administration": "Planned Imaging Agent Administration SR Storage",
+ "storage_sop_class_sr.procedure_log": "Procedure Log Storage",
+ "storage_sop_class_sr.radiopharmaceutical_radiation_dose": "Radiopharmaceutical Radiation Dose SR Storage",
+ "storage_sop_class_sr.simplified_adult_echo": "Simplified Adult Echo SR Storage",
+ "storage_sop_class_sr.spectacle_prescription_report": "Spectacle Prescription Report Storage",
+ "storage_sop_class_sr.xray_radiation_dose": "X-Ray Radiation Dose SR Storage",
+ "storage_sop_class_video.endoscopic": "Video Endoscopic Image Storage",
+ "storage_sop_class_video.microscopic": "Video Microscopic Image Storage",
+ "storage_sop_class_video.photographic": "Video Photographic Image Storage",
+ "storage_systems": "Storage systems",
+ "storage_uri": "Storage URI",
+ "storage_verification": "Storage Verification",
+ "storage_verification_failed": "Storage Verification Failed",
+ "storage_verification_scheduled": "Storage Verification scheduled successfully!",
+ "storage_verification_selected": "Storage Verification of selected objects executed successfully!",
+ "storage_verification_selected_objects": "Storage Verification for selected objects",
+ "storage_verification_selections": "Storage Verification for selections",
+ "storage_verification_studies": "Storage Verification Studies",
+ "storage_verification_series": "Storage Verification Series",
+ "studies": "Studies",
+ "studies-stored.amount_of_studies": "Amount of Studies",
+ "studies-stored.calculation_of_rest_of_modalitiesinstudy_may_be_wrong": "Calculation of Rest of ModalitiesInStudy may be wrong due to the fact that some Studies may have more than one Modalities!",
+ "studies-stored.date_range_is_missing": "Date range is missing!",
+ "studies-stored.date_range_mode": "Date Range Mode",
+ "studies-stored.invalid_range": "Invalid Range!",
+ "studies-stored.quantity_mode": "Quantity Mode",
+ "studies-stored.range_cannot_be_open_interval": "Range cannot be open interval!",
+ "studies-stored.range_to_big_for_this_unit": "Range to big for this unit!",
+ "studies-stored.range_too_small": "Range too small",
+ "studies-stored.rest_params": "Rest ( {$@@rest} ){$@@modalitiesinstudy}",
+ "studies-stored.select_filters_for_grouping": "Select filters for grouping",
+ "studies-stored.select_the_quantity_mode": "Select the quantity mode",
+ "studies-stored.size_of_studies": "Size of Studies",
+ "studies-stored.split_unit": "Split Unit",
+ "studies-stored.station_name_is_missing_pleas_check_the_configuration_of_the_application__clusters": "Station Name is missing. Pleas check the configuration of the application clusters!",
+ "studies-stored.study_received_date": "Study Received Date",
+ "studies-stored.subtitle": "Select main filters",
+ "studies-stored.title": "Stored Study Statistics",
+ "studies.patient_id_changed_successfully": "Patient ID changed successfully!",
+ "studies.set_exporter_if_you_want_to_export_on_expiration_date_too": "
Set exporter if you want to export on expiration date too.",
+ "studies_count": "Studies Count",
+ "studies_exported_successfully": "Studies exported successfully!",
+ "studies_rejected_successfully": "Studies rejected successfully",
+ "studies_stored_count": "Studies Stored Count",
+ "studies_total_count": "Studies Total Count",
+ "study-transferring-overview.studuid_from_patient_report": "Study instance UID: {$START_BOLD_TEXT}{$INTERPOLATION}{$CLOSE_BOLD_TEXT} from the patient {$START_BOLD_TEXT}{$INTERPOLATION_1}{$CLOSE_BOLD_TEXT} with the Patient ID {$START_BOLD_TEXT}{$INTERPOLATION_2}{$CLOSE_BOLD_TEXT}",
+ "study-transferring_overview.an_empty_study_will_be_automatically_created": "An empty study will be automatically created, so it can be used as target study!",
+ "study.add_new_mwl": "Add new MWL",
+ "study.all_failed": "all ({$PH}) failed!",
+ "study.apply_retention_multiple_series": "Apply retention policy to matching series",
+ "study.apply_retention_policy_all_matching_series": "Apply retention policy to all matching series",
+ "study.cant_delete_with_empty_id": "Cannot delete patient with empty Patient ID!",
+ "study.check_size_in_storage_system": "Check size of object on Storage System",
+ "study.check_storage_system": "Check if object exists on Storage System",
+ "study.command_executed": "Command executed successfully!",
+ "study.content_description": "Content Description",
+ "study.content_time": "Content Time",
+ "study.create_mwl": "Create new MWL",
+ "study.create_new_patient": "Create new patient",
+ "study.create_patient": "Create patient",
+ "study.delete_mwl": "Delete MWL",
+ "study.delete_object": "Delete selected studies, series or instances permanently",
+ "study.delete_study_permanently": "Delete study permanently",
+ "study.delete_this_mwl": "Are you sure you want to delete this MWL?",
+ "study.delete_this_patient": "Delete this Patient",
+ "study.difference": "Difference",
+ "study.download_as_csv": "Download as CSV",
+ "study.download_dicom_object": "Download DICOM Object",
+ "study.download_mwl": "Download MWL as CSV",
+ "study.download_patients": "Download patients as CSV",
+ "study.download_series": "Download series as CSV",
+ "study.download_studies": "Download studies as CSV",
+ "study.download_uncompressed_dicom_object": "Download DICOM Object",
+ "study.e._completion_time": "E. Completion Time",
+ "study.edit_mwl": "Edit MWL of patient ",
+ "study.edit_patient": "Edit patient",
+ "study.edit_series": "Edit series of study of patient ",
+ "study.edit_study": "Edit study of patient ",
+ "study.edit_this_patient": "Edit this Patient",
+ "study.edit_this_series": "Edit this series",
+ "study.edit_this_study": "Edit this study",
+ "study.error_getting": "_aets:Error getting AETs!",
+ "study.error_on_getting_the_webapp_url": "Error on getting the WebApp URL",
+ "study.export_all_matching_series": "Export all matching series",
+ "study.export_all_matching_studies": "Export all matching studies",
+ "study.export_multiple": "Export matching studies",
+ "study.export_multiple_series": "Export matching series",
+ "study.export_object": "Export selected studies, series or instances",
+ "study.export_selected_object": "Export selected objects",
+ "study.export_study": "Export study",
+ "study.hide_instances": "Hide Instances",
+ "study.hide_series": "Hide Series",
+ "study.input_readiness": "Input Readiness",
+ "study.instance_rejected": "Instance rejected successfully",
+ "study.instance_restored": "Instance restored successfully!",
+ "study.more_than_one_source_patient_selected": "More than one source patient selected for merge!",
+ "study.more_than_one_target_selected": "More than one target selected!",
+ "study.mwl_create": "MWL created successfully!",
+ "study.mwl_saved": "MWL saved successfully!",
+ "study.no_matching_instances": "No matching Instances found!",
+ "study.no_matching_mpps": "No matching Modality Performed Procedure Step entries found!",
+ "study.no_matching_mwl": "No matching Modality Worklist Entries found!",
+ "study.no_matching_series": "No matching series found!",
+ "study.no_matching_uwl": "No matching Unified Worklist Entries found!",
+ "study.no_patients_found": "No matching Patients found!",
+ "study.no_role_found_in_the_property_dcmproperty_of_webapp": "No role found in the property dcmProperty of WebApp",
+ "study.no_studies": "No matching Studies found!",
+ "study.no_target_selected": "No target object was selected!",
+ "study.no_webapp_selected": "No Web Application Service was selected!",
+ "study.objects_rejected": "Objects rejected successfully!",
+ "study.objects_restored": "Objects restored successfully!",
+ "study.open_patient_in_the_viewer": "Open patient in the viewer",
+ "study.open_study_in_the_viewer": "Open study in the viewer",
+ "study.order_by": "Order By",
+ "study.patient_comments": "Patient Comments",
+ "study.patient_created_successfully": "Patient created successfully",
+ "study.patient_deleted": "Patient deleted successfully!",
+ "study.patient_updated_successfully": "Patient updated successfully",
+ "study.patients_merged_successfully": "Patients merged successfully!",
+ "study.performed_procedure_step_end_date": "Performed Procedure Step End Date",
+ "study.performed_procedure_step_end_time": "Performed Procedure Step End Time",
+ "study.performed_procedure_step_id": "Performed Procedure Step ID",
+ "study.performed_procedure_step_start_date": "Performed Procedure Step Start Date",
+ "study.performed_procedure_step_start_time": "Performed Procedure Step Start Time",
+ "study.permanent_delete": "Delete rejected Instances permanently",
+ "study.pps_end_date": "PPS End Date",
+ "study.pps_end_time": "PPS End Time",
+ "study.pps_id": "PPS ID",
+ "study.pps_start_date": "PPS Start Date",
+ "study.pps_start_time": "PPS Start Time",
+ "study.procedure_step": "Procedure Step",
+ "study.process_executed_all_failed_detail": "{$@@action} process executed - all failed:
\nErrors: {$@@error}",
+ "study.process_executed_successfully_detailed": "{$@@action} process executed successfully:
\nErrors: {$@@error}
\nSuccessful: {$@@successfull}",
+ "study.query_patient_demographics_service": "Query Patient Demographics Service",
+ "study.r._physicians_name": "R. Physician's Name",
+ "study.reject_instance": "Reject instance",
+ "study.reject_multiple": "Reject matching studies",
+ "study.reject_multiple_series": "Reject matching series",
+ "study.reject_object": "Reject selected studies, series or instances",
+ "study.reject_series": "Reject series",
+ "study.reject_study": "Reject study",
+ "study.requested_procedure_desc": "Requested Procedure Desc",
+ "study.requested_procedure_description": "Requested Procedure Description",
+ "study.requested_procedure_id": "Requested Procedure ID",
+ "study.restore_instance": "Restore instance",
+ "study.restore_object": "Restore selected studies, series or instances",
+ "study.restore_series": "Restore series",
+ "study.restore_study": "Restore study",
+ "study.retrieve_matching_studies_depending": "Retrieve matching studies depending on selected filters, from external C-MOVE SCP",
+ "study.retrieve_multiple": "Retrieve matching studies",
+ "study.retrieve_series": "Retrieve Series",
+ "study.retrieve_series_as_stored_at_the_archive": "Retrieve Series as stored at the archive",
+ "study.retrieve_study": "Retrieve Study",
+ "study.retrieve_study_as_stored_at_the_archive": "Retrieve Study as stored at the archive",
+ "study.schedule_storage_verification": "Schedule Storage Verification",
+ "study.scheduled_procedure_step_description": "Scheduled Procedure Step Description",
+ "study.send_storage_commitment_request_for_series": "Send Storage Commitment Request for this series",
+ "study.send_storage_commitment_request_for_study": "Send Storage Commitment Request for this instance",
+ "study.series_rejected": "Series rejected successfully",
+ "study.series_restored": "Series restored successfully!",
+ "study.short_delete_object": "Delete selections",
+ "study.short_export_object": "Export selections",
+ "study.short_permanent_delete": "Permanent delete",
+ "study.short_reject_object": "Reject selections",
+ "study.short_restore_object": "Restore selections",
+ "study.short_update_access_control_id_to_selections": "Access Control ID to selections",
+ "study.show_attributes": "Show attributes",
+ "study.show_attributes_from_file": "Show attributes from file",
+ "study.show_diffs": "Show DIFFs",
+ "study.show_instances": "Show Instances",
+ "study.show_series": "Show Series",
+ "study.show_studies": "Show studies",
+ "study.something_went_wrong_on_extracting_roles_from_dcmproperty_of_webapp": "Something went wrong on extracting roles from dcmProperty of WebApp",
+ "study.sps_desc": "SPS Description",
+ "study.sps_start": "SPS Start",
+ "study.ss_aet": "SS AET",
+ "study.start_date_and_time": "Start Date and Time",
+ "study.step_m._date_and_time": "Step M. Date and Time",
+ "study.step_priority": "Step Priority",
+ "study.studies_will_not_be_send": "Studies will not be sent!",
+ "study.study_and_mwl_linked_successfully": "Study and MWL linked successfully!",
+ "study.study_deleted": "Study deleted successfully!",
+ "study.study_or_scheduled_missing": "Study Instance UID or Scheduled Procedure Step ID is missing!",
+ "study.study_restored": "Study restored successfully!",
+ "study.study_time": "Study Time",
+ "study.study_will_not_be_sent": "Study will not be sent!",
+ "study.target_object_can_not_be_in_clipboard": "Target object can not be in the clipboard",
+ "study.toggle_attributes": "Toggle Attributes",
+ "study.update_access_control_id_to_matching": "Update access Control ID",
+ "study.update_access_control_id_to_selections": "Updated Access Control ID to selected studies",
+ "study.update_study_access_control_id": "Update Study Access Control ID",
+ "study.update_study_access_control_id_param": "Update Study Access Control ID {$@@innerText}",
+ "study.upload_dicom_object": "Upload DICOM Object",
+ "study.verified_successfully_0_failed": "{$PH} verified successfully\n 0 failed!",
+ "study.verify_storage_commitment": "Verify storage commitment",
+ "study.view_dicom_object": "View DICOM Object",
+ "study.want_to_delete_study": "Are you sure you want to delete this study?",
+ "study_access": "Study Access",
+ "study_created_date": "Study Created Date",
+ "study_date": "Study date",
+ "study_desc": "Study Desc",
+ "study_description": "Study Description",
+ "study_error_on_opening_viewer": "Something went wrong while opening the Viewer open the inspect to see more details",
+ "study_exported_successfully": "Study exported successfully!",
+ "study_id": "Study ID",
+ "study_instance_uid": "Study Instance UID",
+ "study_instance_uid_0020000d": "Study Instance UID (0020,000D)",
+ "study_instance_uid_is_empty": "StudyInstanceUID is empty",
+ "study_participant_object_id": "Study ParticipantObjectID",
+ "study_queue_reject": "Study queued for rejection successfully",
+ "study_received": "Study Received",
+ "study_received_in_the_last_24h": "Study Received in the last 24 h",
+ "study_rejected_successfully": "Study rejected successfully!",
+ "study_saved": "Study saved successfully!",
+ "study_status": "Study Status",
+ "study_status_id_agfa": "Study Status ID - AGFA",
+ "study_study_rejected": "Study rejected successfully",
+ "study_time": "Study time",
+ "study_uid": "Study UID",
+ "study_uid_field": "Study UID Field",
+ "study_uploaded_successfully": "Study uploaded successfully!",
+ "sunday": "Sunday",
+ "supplement_issuer": "Supplement Issuer",
+ "supplement_issuer_test_only": "Only test, without actually supplementing",
+ "supplement_new_issuer": "Supplement new Issuer",
+ "supportive": "Supportive",
+ "synchronised_dicom_exporter": "Synchronised DICOM C-STORE exporter",
+ "synchronised_stow_exporter": "Synchronised DICOM STOW-RS exporter",
+ "task_canceled": "Task canceled successfully!",
+ "task_created": "Tasks created successfully!",
+ "task_delete_question": "Are you sure you want to delete all tasks to this batch?",
+ "task_deleted": "{$PH} tasks deleted successfully!",
+ "task_deleted_param": "{$@@deleted} tasks deleted successfully!",
+ "task_id": "Task ID",
+ "task_marked_for_export": "Task marked for export successfully!",
+ "task_marked_for_export_param": "Task {$@@taskid} marked for export successfully!",
+ "task_marked_for_retrieve": "Task marked for retrieve successfully!",
+ "task_marked_for_retrieve_param": "Task {$@@taskid} marked for retrieve successfully!",
+ "task_not_found": "Task not found!",
+ "task_rescheduled": "Task rescheduled successfully!",
+ "task_rescheduled_param": "Task {$@@taskid} rescheduled successfully!",
+ "tasks": "Tasks",
+ "tasks_canceled": "Tasks canceled successfully!",
+ "tasks_canceled_param": "{$PH} tasks canceled successfully!",
+ "tasks_created": "{$@@count} tasks created successfully!",
+ "tasks_deleted": "Tasks deleted successfully!",
+ "tasks_marked_for_export": "Tasks marked for export successfully!",
+ "tasks_marked_for_export_param": "{$@@count} tasks marked for export successfully!",
+ "tasks_marked_for_retrieve": "Tasks marked for retrieve successfully!",
+ "tasks_marked_for_retrieve_param": "{$@@count} tasks marked for retrieve successfully!",
+ "tasks_queue_canceled": "{$PH} tasks in queue canceled successfully!",
+ "tasks_queue_deleted": "{$PH} tasks in queue deleted successfully!",
+ "tasks_queue_rescheduled": "{$PH} tasks in queue rescheduled successfully!",
+ "tasks_rescheduled": "Tasks rescheduled successfully!",
+ "tasks_rescheduled_param": "{$@@count} tasks rescheduled successfully!",
+ "tcp_hit_count": "Hits",
+ "tcp_miss_count": "Miss",
+ "tcp_refresh_hit_count": "Refresh hits",
+ "tcp_refresh_miss_count": "Refresh miss",
+ "tcp_response_documents": "Documents",
+ "tcp_rest_cache": "Rest cache",
+ "tcp_size_100": "100 documents",
+ "tcp_size_10K": "10K documents",
+ "tcp_size_1K": "1K documents",
+ "tcp_size_1M": "1M documents",
+ "tcp_size_3K": "3K documents",
+ "tcp_size_5K": "5K documents",
+ "tcp_size_inf": "inf documents",
+ "tcp_used_cache": "Used cache",
+ "template": "Template",
+ "template_description": "Template description",
+ "template_name": "Template name",
+ "test": "Test",
+ "this_element_is_referenced": "This element is referenced, remove references first then you can delete this element!",
+ "this_field_is_required": "This field is required!",
+ "this_month": "This Month",
+ "this_period_will_last_week": "This period will last {$@@week} {$@@word_for_week}",
+ "this_quarter": "This Quarter",
+ "this_week": "This Week",
+ "this_year": "This Year",
+ "thursday": "Thursday",
+ "time": "Time",
+ "time-picker.now": "Now",
+ "time-picker.title": "Select time (hh:mm:ss)",
+ "timer_sec": "Timer (sec)",
+ "timestamp_per_2_min": "@timestamp per 2 min",
+ "timestamp_per_30_seconds": "@timestamp per 30 seconds",
+ "title": "Title",
+ "title.ae-list.delete_from_device_the_ae": "Delete from device the AE",
+ "title.ae-list.register_new_application_entity": "Register new application entity",
+ "title.app.go_to_wildfly_admin": "Go to Wildfly Administration Console",
+ "title.app.server_time_param": "Server time: {$INTERPOLATION}",
+ "title.associations.download_copy_as_csv": "Download copy of the table as csv-file",
+ "title.associations.get_associations": "Get associations",
+ "title.associations.sort_by_connection_time_local": "Sort by Connection time (Local)",
+ "title.associations.sort_by_connection_time_server": "Sort by Connection time (Server)",
+ "title.associations.sort_by_duration": "Sort by Duration",
+ "title.associations.sort_by_initiated": "Sort by initiated",
+ "title.associations.sort_by_invoked_ops": "Sort by Invoked Ops.",
+ "title.associations.sort_by_local_ae_title": "Sort by Local AE Title",
+ "title.associations.sort_by_other_attributes": "Sort by Other attributes",
+ "title.associations.sort_by_performed_ops": "Sort by Performed Ops.",
+ "title.associations.sort_by_remote_ae_title": "Sort by Remote AE Title",
+ "title.associations.start_getting_associations": "Start getting associations",
+ "title.associations.with_a_dot_you_can_set_milliseconds": "With a dot '.' you can set milliseconds for example: '0.6' = 600 milliseconds",
+ "title.cancel": "Cancel",
+ "title.cancel_selected": "Cancel selected",
+ "title.completed_remaining_failed": "Completed / Remaining / Failed",
+ "title.control.fetch_status": "Fetch status",
+ "title.control.reload_archive": "Reload archive",
+ "title.create-ae.add_the_new_connection_to_the_selected_device": "Add the new connection to the selected device",
+ "title.dashboard.study_participantobjectid": "Study ParticipantObjectID",
+ "title.delete": "Delete",
+ "title.delete_selected": "Delete selected",
+ "title.delete_task_with_this_batchid": "Delete Task with this BatchID",
+ "title.devices.clone_device": "Clone device",
+ "title.devices.delete_device": "Delete device",
+ "title.devices.edit_param": "Edit {$INTERPOLATION}",
+ "title.dicom_network_connection": "Dicom network connection",
+ "title.dynamic-form-element.add_new_label": "Add new {$INTERPOLATION}",
+ "title.dynamic-form-element.clone_this_param": "Clone this {$INTERPOLATION} part",
+ "title.dynamic-form-element.delete_file": "Delete File",
+ "title.dynamic-form-element.delete_this_label": "Delete this {$INTERPOLATION} part",
+ "title.dynamic-form-element.remove_this_value_from_the_array": "Remove this value from the array",
+ "title.dynamic-form-element.replace_file": "Replace File",
+ "title.export.export_task_id": "Export Task ID",
+ "title.export.number_of_instances": "Number of instances",
+ "title.export.processing_duration": "Processing duration",
+ "title.export.show_tasks_detail": "Show Tasks Detail",
+ "title.filter-generator.clear_current_filters": "Clear current filters",
+ "title.filter-generator.save_current_filters_as_template": "Save current filters as template",
+ "title.filter-generator.select_saved_filters_template": "Select saved filters-template",
+ "title.lifecycle-management.delete_retention_policy": "Delete retention policy",
+ "title.lifecycle-management.edit_retention_policy": "Edit retention policy",
+ "title.lifecycle-management.lock_the_study_by_adding_as_expired_date_31129999": "Lock the study by adding as expired date 31.12.9999",
+ "title.lifecycle-management.set_expired_date": "Set expired date",
+ "title.next_page": "Next page",
+ "title.permission-configurator.add_new_role": "Add New Role",
+ "title.permission-configurator.add_role": "Add Role",
+ "title.permission-configurator.show_help_on_click": "Show help on click",
+ "title.preview_page": "Preview page",
+ "title.queue-dashboard.refresh_export_counts": "Refresh Export counts",
+ "title.queue-dashboard.refresh_retrieve_counts": "Refresh Retrieve counts",
+ "title.reschedule": "Reschedule",
+ "title.reschedule_selected": "Reschedule selected",
+ "title.retrieve-monitoring.show_tasks_detail": "Show tasks detail",
+ "title.search_the_list": "Search the list",
+ "title.select_archive": "Select archive",
+ "title.size-range-picker.study_size_range_in_kb": "Study Size Range in KB",
+ "title.studies-stored.vertical_format": "Vertical Format",
+ "title.study.clear_clipboard": "Clear clipboard",
+ "title.study.mark_selected_patient_for_merge": "Mark selected patient for merge",
+ "title.study.mark_selected_study_for_copy": "Mark selected study for copy",
+ "title.study.mark_selected_study_for_linking_with_mwl": "Mark selected study for linking with MWL",
+ "title.study.mark_selected_study_for_move": "Mark selected study for move",
+ "title.study.search_current_list": "Search current local list ( That's NOT searching in the Server! )",
+ "title.study.start_the_process_of_copieng_moving_linked_or_merge": "Start the process of copying/moving/linking or merging",
+ "title.use_duration_format": "Use duration format (ISO 8601) ((P)nYnMnDTnHnMnS or (P)nW) to set first date/time of the range subtracted from today/now (Format is not case sensitive and P on start is optional). For Example 1y => one year back, 2y3m => 2 years and 3 months back, t2h12m => 2 hours and 12 minutes from now etc.",
+ "title.verify_aet_host_port": "Verify AET, host and port before saving",
+ "title.xds.search_the_table_local": "Search the table local",
+ "today": "Today",
+ "toggle_checkboxes": "Toggle checkboxes",
+ "toggle_checkboxes_for_selection": "Toggle checkboxes for selection",
+ "toggle_dark_design": "Toggle dark design",
+ "toggle_hide_forward_retrieve_tasks": "Toggle forward retrieve tasks",
+ "toggle_retrieve_tasks": "Toggle retrieve tasks",
+ "too_much_data": "Too much data!",
+ "tooltip.copy_text_to_clipboard": "Copy text to clipboard",
+ "tooltip.text_copied_successfully_in_the_clipboard": "Text copied successfully in the clipboard",
+ "transaction_uid": "Transaction UID",
+ "trigger_diff": "Trigger Diff",
+ "trigger_migration": "Trigger Migration",
+ "trigger_storage_verification": "Trigger storage verification",
+ "true": "true",
+ "tuesday": "Tuesday",
+ "type": "Type",
+ "ui_permission": "UI Permission",
+ "uid_of_new_created_workitem": "UID of new created Workitem",
+ "unable_to_connect_to_elasticsearch": "Unable to connect to Elasticsearch!",
+ "unfreeze_unprotect_expiration_date_of_the_study": "Unfreeze/Unprotect Expiration Date of the Study",
+ "unique_identifier_of_the_study_to_filter_by": "Unique Identifier of the Study to filter by",
+ "unit": "Unit",
+ "universal_entity_id": "Universal Entity ID",
+ "universal_entity_id_type": "Universal Entity ID Type",
+ "unknown_action_param": "Unknown action:{$@@action}",
+ "unmerge_patient_ask_confirmation": "Are you sure you want to unmerge this patient?",
+ "unmerge_this_patient": "Unmerge this Patient",
+ "unmerge_with_empty_id_not_allowed": "Cannot unmerge patient with empty Patient ID!",
+ "unmerged_patient_successfully": "Patient unmerged successfully!",
+ "unscheduled": "Unscheduled",
+ "unscheduled_series": "(Un-)Scheduled Series",
+ "unscheduled_series_desc": "Query Series with(-out) Request Attributes Sequence (0040,0275) in it",
+ "unscheduled_series_requested_desc": "Series having Request Attributes Sequence (0040,0275) in it",
+ "unscheduled_series_unscheduled_desc": "Series not having Request Attributes Sequence (0040,0275) in it",
+ "unscheduled_studies": "(Un-)Scheduled Studies",
+ "unscheduled_studies_desc": "Query Studies with(-out) Series having Request Attributes Sequence (0040,0275) in it",
+ "unscheduled_studies_requested_desc": "Studies with at least one Series having Request Attributes Sequence (0040,0275) in it",
+ "unscheduled_studies_unscheduled_desc": "Studies with no Series having Request Attributes Sequence (0040,0275) in it",
+ "unselect": "Unselect",
+ "unselect_all_patients": "Unselect all patients",
+ "unselect_all_studies": "Unselect all studies",
+ "update_charset": "Update Character Set",
+ "update_charset_test_only": "Only test, without actually updating charset",
+ "update_location_db": "Update Location DB",
+ "update_policy": "Update Policy",
+ "update_policy_desc": "Update Policy for modification of original attributes",
+ "update_u": "Update (U)",
+ "updated": "Updated",
+ "updated_before": "Updated before",
+ "updated_before_not_set": "\"Updated before\"-date was not set",
+ "updated_date": "Updated Date",
+ "updated_time": "Updated time",
+ "upload": "Upload",
+ "upload-dicom.chose_dicom_files_to_upload": "Choose DICOM Files to upload:",
+ "upload-dicom.select_the_ae_title": "Select the ae title:",
+ "upload-dicom.title": "Upload DICOM data",
+ "upload-file.title": "Upload image, video, PDF, CDA, MTL, STL, OBJ or Genozip files to study",
+ "upload-files.gif_with_multi_frames_in_it": "Gif with multi frames in it",
+ "upload-files.imported_": "Imported ",
+ "upload-files.no_web_application_with_the_web_service_class_stow_rs_found_in_this_device": "No Web Application with the Web Service Class \"STOW_RS\" found in this device",
+ "upload-files.secondary_capture_image_storage": "Secondary Capture Image Storage",
+ "upload-files.vl_photographic_image_storage": "VL Photographic Image Storage",
+ "upload-vendor.title": "Upload vendor device data",
+ "upload_csv": "Upload CSV",
+ "upload_failed_please_try_again_later": "Upload failed, please try again later!",
+ "upload_file": "Upload file",
+ "ups_template_cloning_failed": "UPS template cloning failed with status ",
+ "ups_template_created_successfully": "UPS template created successfully at ",
+ "ups_template_creation_failed": "UPS template creation failed with status ",
+ "ups_workitem_cloned_successfully": "UPS Workitem cloned successfully at ",
+ "ups_workitem_cloning_failed": "UPS workitem cloning failed with status ",
+ "ups_workitem_created_successfully": "UPS Workitem created successfully at ",
+ "ups_workitem_creation_failed": "UPS workitem creation failed with status ",
+ "ups_workitem_rescheduled_successfully": "UPS Workitem rescheduled successfully!",
+ "ups_workitem_update_failed": "UPS workitem update failed with status ",
+ "ups_workitem_updated_successfully": "UPS Workitem updated successfully",
+ "url_to_device_not_configured": "URL to this device was not configured in the UI Config!",
+ "urls": "URLs",
+ "usage": "Usage",
+ "use_semicolon_as_delimiter": "Use semicolon as delimiter",
+ "use_semicolon_delimiter": "Do you want to use semicolon as delimiter?",
+ "used": "Used",
+ "uwl": "Work Items",
+ "value_not_valid_string": "The given value is not a valid string!",
+ "verification_failed": "Verification Failed",
+ "verification_policy": "Verification Policy",
+ "verification_status": "Verification Status",
+ "verify_storage_of_instance": "Verify Storage of Instance",
+ "verify_storage_of_selected": "Verify Storage of selected entities",
+ "verify_storage_of_series": "Verify Storage of Series",
+ "verify_storage_of_study": "Verify Storage of Study",
+ "vpn_key": "vpn_key",
+ "want_to_cancel_this_task": "Are you sure you want to cancel this task?",
+ "want_to_delete_question": "Are you sure you want to delete?",
+ "want_to_delete_task_from_group": "Are you sure you want to delete all tasks from this group?",
+ "want_to_reschedule_this_task": "Are you sure you want to reschedule this task?",
+ "warning": "Warning",
+ "warnings": "Warnings",
+ "web-apps-list.application_entity_title": "Application Entity Title",
+ "web-apps-list.get_web_apps": "Get Web Apps",
+ "web-apps-list.keycloak_client_id": "Keycloak Client ID",
+ "web-apps-list.web_application_name": "Web Application Name",
+ "web-apps-list.web_applications": "Web Applications",
+ "web-apps-list.web_service_class": "Web Service Class",
+ "web-apps-list.web_service_path": "Web Service Path",
+ "web_app_service": "Web App Service",
+ "web_application_service": "Web Application Service",
+ "web_apps_list": "Web Apps list",
+ "webapp_couldnt_be_found": "Web Application couldn't be found",
+ "webapp_with_MOVE_MATCHING_not_found": "Web Application Service with the web service class 'MOVE_MATCHING' not found!",
+ "webapp_with_service_class_not_found": "Web Application Service with the web service class {$@@webServiceClass} not found!",
+ "wednesday": "Wednesday",
+ "week": "week:",
+ "week_plural": "weeks",
+ "week_singular": "week",
+ "without_scheduling": "Without Scheduling",
+ "worker_threads": "Worker Threads",
+ "worklist_label": "Worklist Label",
+ "xds": "XDS",
+ "xds.action_executed_successfully": "Action executed successfully!",
+ "xds.affinity_domain": "Affinity Domain",
+ "xds.creation_time": "Creation Time",
+ "xds.delete_process_executed_param": "Delete process executed successfully:
\nErrors: {$@@errors}
\nSuccessful: {$@@successful}",
+ "xds.document_deleted": "Document deleted successfully!",
+ "xds.document_uploader": "Document Uploader",
+ "xds.entry_uuid": "Entry UUID",
+ "xds.export_selected_documents": "Export selected Documents",
+ "xds.import": "Import",
+ "xds.mime_type": "Mime Type",
+ "xds.no_documents_fond": "No documents fond!",
+ "xds.patient_id_and_affinity_domain_filters_are_required": "Patient ID and Affinity Domain filters are required!",
+ "xds.show_file": "Show file",
+ "xds.unique_id": "Unique ID",
+ "xds.you_want_to_delete_selected_document": "Are you sure you want to delete selected documents?",
+ "xds.you_want_to_delete_this_document": "Are you sure you want to delete this document?",
+ "year": "year:",
+ "year_plural": "years",
+ "year_singular": "year",
+ "yes": "yes",
+ "yesterday": "Yesterday",
+ "you_are_about_to_mode_studies_without_specifying_a_study_date_range": "You are about to {$@@mode_text} studies without specifying a StudyDate range, are you sure you want to continue?",
+ "you_dont_have_access_permission": "You don't have permission to access {$PH}",
+ "your_browser_dose_not_support_audio": "Your browser does not support the audio element.",
+ "your_browser_dose_not_support_video": "Your browser does not support the video element."
+ }
+}
\ No newline at end of file
diff --git a/src/main/webapp/assets/schema/es/agfaMigrationConfig.schema.json b/src/main/webapp/assets/schema/es/agfaMigrationConfig.schema.json
new file mode 100644
index 00000000..27c496f9
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/agfaMigrationConfig.schema.json
@@ -0,0 +1,61 @@
+{
+ "title": "AGFA Migration Configuration Name",
+ "description": "AGFA Migration Configuration Name",
+ "type": "object",
+ "required": [
+ "agfaMigrationDcm4cheeURL",
+ "agfaMigrationExtractionPath",
+ "agfaMigrationMigrationPath",
+ "agfaMigrationPathPattern",
+ "agfaMigrationQueueName",
+ "agfaMigrationKeycloakClientID",
+ "agfaMigrationDeleteOnImport",
+ "agfaMigrationContinueOnStartup"
+ ],
+ "properties": {
+ "agfaMigrationDcm4cheeURL": {
+ "title": "DCM4CHEE Import-RS URL",
+ "description": "REST Endpoint URL for Import RS",
+ "type": "string"
+ },
+ "agfaMigrationExtractionPath": {
+ "title": "Extraction Path",
+ "description": "Path to extract Blob files - must match the Filesystem configruation of the filesystem descriptor used in the DCM4CHEE URL",
+ "type": "string"
+ },
+ "agfaMigrationMigrationPath": {
+ "title": "Migration Path",
+ "description": "Path where Blob files are located",
+ "type": "string"
+ },
+ "agfaMigrationPathPattern": {
+ "title": "Path Pattern",
+ "description": "Path Pattern to extract Blob files (f.e. 2021/01/23/{00100020,hash}/{0020000D,hash}/{0020000E,hash}/{00080018,hash})",
+ "type": "string"
+ },
+ "agfaMigrationQueueName": {
+ "title": "JMS Queue Name",
+ "description": "JMS Queue Name where Migration Orders are stored",
+ "type": "string",
+ "default": "AgfaMigrate"
+ },
+ "agfaMigrationKeycloakClientID": {
+ "title": "Keycloak Client ID",
+ "description": "Keycloak Client ID",
+ "type": "string"
+ },
+ "agfaMigrationDeleteOnImport": {
+ "title": "Delete on Import",
+ "description": "Delete on Import",
+ "type": "boolean",
+ "default": false
+ },
+ "agfaMigrationContinueOnStartup": {
+ "title": "Continue On Startup",
+ "description": "Automatically start the next scheduled batch on startup",
+ "type": "boolean",
+ "default": false
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/src/main/webapp/assets/schema/es/archiveAttributeCoercion.schema.json b/src/main/webapp/assets/schema/es/archiveAttributeCoercion.schema.json
new file mode 100644
index 00000000..e6303f7e
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/archiveAttributeCoercion.schema.json
@@ -0,0 +1,236 @@
+{
+ "title": "Archive Attribute Coercion - Legacy",
+ "description": "Archive Attribute Coercion of received/sent DIMSE",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmDIMSE",
+ "dicomTransferRole",
+ "dcmRulePriority",
+ "dcmRetrieveAsReceived",
+ "dcmNoKeywords",
+ "dcmMWLImportFilterBySCU",
+ "dcmAttributeUpdatePolicy",
+ "dcmTrimISO2022CharacterSet"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the Archive Attribute Coercion",
+ "type": "string"
+ },
+ "dcmRulePriority": {
+ "title": "Rule Priority",
+ "description": "Rule Priority. Higher priority rule applied.",
+ "type": "integer",
+ "default" : 0,
+ "minimum": 0
+ },
+ "dcmDIMSE": {
+ "title": "DIMSE",
+ "description": "DICOM Message Element on which this Attribute Coercion shall be applied. Also applicable if the requests are received over web.",
+ "type": "string",
+ "enum": [
+ "N_CREATE_RQ",
+ "C_STORE_RQ",
+ "C_FIND_RQ",
+ "C_FIND_RSP"
+ ]
+ },
+ "dicomTransferRole": {
+ "title": "DICOM Transfer Role",
+ "description": "DICOM Transfer Role of peer DICOM AE.",
+ "type": "string",
+ "enum": [
+ "SCU",
+ "SCP"
+ ]
+ },
+ "dcmSOPClass": {
+ "title": "SOP Class UID",
+ "description": "UID of SOP Class for which this Attribute Coercion shall be applied. Apply on any if absent.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmSOPClass"
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format {key}[!]={value}. Refer applicability, format and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmProperty"
+ },
+ "dcmRetrieveAsReceived": {
+ "title": "Retrieve as Received",
+ "description": "Disables merge of DB information into the retrieved Composite Object, returning the objects as received. Only effective with DIMSE = C_STORE_RQ and DICOM Transfer Role = SCP.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmDeIdentification": {
+ "title": "De-identification",
+ "description": "De-identify objects according the Basic Application Level Confidentiality Profile specified in DICOM PS3.15. Selecting any Option implicitly includes the Basic Application Level Confidentiality Profile.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "BasicApplicationConfidentialityProfile",
+ "RetainLongitudinalTemporalInformationFullDatesOption",
+ "RetainDeviceIdentityOption",
+ "RetainInstitutionIdentityOption",
+ "RetainUIDsOption",
+ "RetainPatientIDHashOption"
+ ]
+ }
+ },
+ "dcmURI": {
+ "title": "XSL Stylesheet URI",
+ "description": "Specifies URI of the XSL style sheet for Attribute Coercion",
+ "type": "string"
+ },
+ "dcmNoKeywords": {
+ "title": "No Attribute Keyword",
+ "description": "Indicates if attribute keywords shall be omitted in DICOM XML passed to XSLT",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmMergeMWLMatchingKey": {
+ "title": "Merge MWL Matching Key",
+ "description": "Specifies attribute of received object to lookup MWL Item used to coerce request attributes. If absent, request attributes of received objects will not be coerced. Refer applicability of merge MWL matching keys.",
+ "type": "string",
+ "enum": [
+ "PatientID",
+ "PatientIDOnly",
+ "PatientIDAccessionNumber",
+ "AccessionNumber",
+ "StudyInstanceUID",
+ "ScheduledProcedureStepID"
+ ]
+ },
+ "dcmMergeMWLTemplateURI": {
+ "title": "Merge MWL Template URI",
+ "description": "Specifies URI for the style sheet to coerce request attributes of received objects from matching DICOM MWL items. Only effective, if dcmMergeMWLMatchingKey is specified.",
+ "type": "string"
+ },
+ "dcmMergeMWLSCP": {
+ "title": "Merge MWL SCP",
+ "description": "AE Title of External MWL SCP used to lookup MWL Item to coerce request attributes of received objects. If configured, external MWL SCP is queried by invoking a C-FIND RQ of the DICOM MWL Service and Merge Local MWL SCP is ignored.",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmMergeLocalMWLWorklistLabel": {
+ "title": "Merge Local MWL Worklist Label",
+ "description": "Only consider MWL items with one of the specified values of its Worklist Label (0074,1202) in the Archive DB to coerce request attributes of received objects. If absent, the Archive DB is queried for matching MWL items with any Worklist Label (0074,1202).",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ },
+ "format": "dcmMWLWorklistLabel"
+ },
+ "dcmMergeLocalMWLWithStatus" : {
+ "title": "Merge Local MWL With Status",
+ "description": "Only consider MWL items with one of the specified Scheduled Procedure Step Status codes. If absent, MWL items with any Scheduled Procedure Step Status are considered.",
+ "type": "array",
+ "items" : {
+ "type": "string",
+ "enum": [
+ "SCHEDULED",
+ "ARRIVED",
+ "READY",
+ "STARTED",
+ "DEPARTED",
+ "CANCELED",
+ "DISCONTINUED",
+ "COMPLETED"
+ ]
+ }
+ },
+ "dcmMWLImportFilterBySCU": {
+ "title": "Merge MWL Filter by SCU",
+ "description": "Indicates to apply specified filter on matches returned by external MWL SCP.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmLeadingCFindSCP": {
+ "title": "Leading C-FIND SCP",
+ "description": "AE Title of external C-FIND SCP for Attribute Coercion with Patient and Study attributes fetched from this AE. If no particular Attribute Set is specified for the C-FIND SCP, all Attributes of the configured Patient and Study Attribute Filter will be fetched.",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmAttributeUpdatePolicy": {
+ "title": "Attribute Update Policy",
+ "description": "Specifies how attributes shall be updated with attributes fetched from Leading C-FIND SCP. Refer Attribute Update Policies meanings.",
+ "type": "string",
+ "default": "MERGE",
+ "enum": [
+ "PRESERVE",
+ "SUPPLEMENT",
+ "MERGE",
+ "OVERWRITE"
+ ]
+ },
+ "dcmTrimISO2022CharacterSet": {
+ "title": "Trim ISO 2022 Character Set",
+ "description": "Replace single code for Single-Byte Character Sets with Code Extensions by code for Single-Byte Character Sets without Code Extensions. Refer character sets to which this coercion applies.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmUseCallingAETitleAs": {
+ "title": "Use Calling AE Title as",
+ "description": "Identifies the attribute which is set to the value of the Calling AET if it is absent or empty. ScheduledStationAETitle (= Scheduled Station AE Title (0040,0001) in item of Scheduled Procedure Step Sequence (0040,0100)), SendingApplicationEntityTitleOfSeries (= Sending Application Entity Title of Series (7777,xx37)).",
+ "type": "string",
+ "enum": [
+ "ScheduledStationAETitle",
+ "SendingApplicationEntityTitleOfSeries"
+ ]
+ },
+ "dcmNullifyTag": {
+ "title": "Nullify Attribute Tag",
+ "description": "DICOM Tag of Attribute to be nullified as hex string",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmTag"
+ },
+ "dcmMergeAttribute": {
+ "title": "Merge Attribute",
+ "description": "Merge DICOM Attribute in format {attributeID}={value}. {attributeID} inside {value} will be replaced by the value of that attribute in the original dataset. Refer applicability, formats and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmProperty"
+ },
+ "dcmNullifyIssuerOfPatientID": {
+ "title": "Nullify Issuer of Patient ID",
+ "description": "Conditionally nullify Issuer of Patient ID (0010,0021) and Issuer of Patient ID Qualifiers Sequence (0010,0024) from received objects",
+ "type": "string",
+ "enum": [
+ "ALWAYS",
+ "MATCHING",
+ "NOT_MATCHING"
+ ]
+ },
+ "dcmIssuerOfPatientID": {
+ "title": "Issuer of Patient ID",
+ "description": "Issuer of Patient ID (0010,0021), and optionally also values for the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) against values in received objects are matched, if Nullify Issuer of Patient ID is set to MATCHING or NOT_MATCHING. Specify values in format: {IssuerOfPatientID}[&{UniversalEntityID&UniversalEntityIDType}].",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmIssuerOfPatientIDFormat": {
+ "title": "Issuer Of Patient ID Format",
+ "description": "Format of Issuer of Patient ID (0010,0021) derived from other attributes. E.g. \"{00100010,hash}-{00100030}\": use hash value of Patient Name and Birth Date separated by \"-\". Refer applicability of this field and some examples.",
+ "type": "string"
+ },
+ "dcmSupplementFromDeviceReference": {
+ "title": "Supplement from Device",
+ "description": "Name of Device from which Assigning Authorities and other information is supplemented. Refer applicability to entities and information supplemented from device.",
+ "type": "string",
+ "format": "dicomDeviceName"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/archiveAttributeCoercion2.schema.json b/src/main/webapp/assets/schema/es/archiveAttributeCoercion2.schema.json
new file mode 100644
index 00000000..1389e1c9
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/archiveAttributeCoercion2.schema.json
@@ -0,0 +1,130 @@
+{
+ "title": "Archive Attribute Coercion - New",
+ "description": "Archive Attribute Coercion of received/sent DIMSE",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmDIMSE",
+ "dicomTransferRole",
+ "dcmURI",
+ "dcmCoercionSufficient",
+ "dcmCoercionOnFailure",
+ "dcmRulePriority",
+ "dcmAttributeUpdatePolicy"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the Archive Attribute Coercion",
+ "type": "string"
+ },
+ "dicomDescription": {
+ "title": "Attribute Coercion Description",
+ "description": "Unconstrained text description of the Attribute Coercion",
+ "type": "string"
+ },
+ "dcmURI": {
+ "title": "Attribute Coercion URI",
+ "description": "Identifies Attribute Coercion by Uniform Resource Identifier. Refer values you can set for Attribute Coercion URI field depending on the coercion type.",
+ "type": "string"
+ },
+ "dcmCoercionSufficient": {
+ "title": "Attribute Coercion Sufficient",
+ "description": "Do not apply other matching Attribute Coercions of lesser priority, if this Attribute Coercion was applied effectively.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmCoercionOnFailure": {
+ "title": "Attribute Coercion on Failure",
+ "description": "Behavior on failure applying this Attribute Coercion. Refer Attribute Coercion on Failure meanings.",
+ "type": "string",
+ "default": "RETHROW",
+ "enum": [
+ "RETHROW",
+ "CONTINUE",
+ "SUFFICIENT"
+ ]
+ },
+ "dcmRulePriority": {
+ "title": "Attribute Coercion Priority",
+ "description": "Rule Priority. Higher priority rule takes precedence.",
+ "type": "integer",
+ "default" : 0,
+ "minimum": 0
+ },
+ "dcmDIMSE": {
+ "title": "DIMSE",
+ "description": "DICOM Message Element on which this Attribute Coercion shall be applied. Also applicable if the requests are received over web.",
+ "type": "string",
+ "enum": [
+ "N_CREATE_RQ",
+ "C_STORE_RQ",
+ "C_FIND_RQ",
+ "C_FIND_RSP"
+ ]
+ },
+ "dicomTransferRole": {
+ "title": "DICOM Transfer Role",
+ "description": "DICOM Transfer Role of peer DICOM AE.",
+ "type": "string",
+ "enum": [
+ "SCU",
+ "SCP"
+ ]
+ },
+ "dcmSOPClass": {
+ "title": "SOP Class UID",
+ "description": "UID of SOP Class for which this Attribute Coercion shall be applied. Apply on any if absent.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmSOPClass"
+ },
+ "dcmProperty": {
+ "title": "Condition",
+ "description": "Conditions in format {key}[!]={value}. Refer applicability, format and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmProperty"
+ },
+ "dcmAttributeUpdatePolicy": {
+ "title": "Attribute Update Policy",
+ "description": "Applied Attribute Update Policy. Only effective for coerce from Leading C-FIND SCP coercion type. Refer Attribute Update Policies' meanings.",
+ "type": "string",
+ "default": "MERGE",
+ "enum": [
+ "PRESERVE",
+ "SUPPLEMENT",
+ "MERGE",
+ "OVERWRITE"
+ ]
+ },
+ "dcmSupplementFromDeviceReference": {
+ "title": "Device Name Coercion Parameter",
+ "description": "Device Name Coercion Parameter. Only effective for supplementing from device coercion type.",
+ "type": "string",
+ "format": "dicomDeviceName"
+ },
+ "dcmMergeAttribute": {
+ "title": "DICOM Attribute Coercion Parameters",
+ "description": "DICOM Attribute Coercion Parameters in format {attributeID}={value}. {attributeID} inside of {value} may be replaced by the value of that attribute in the original dataset. Only effective for merging attributes coercion type. Refer formatting options and examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmProperty"
+ },
+ "dcmCoercionParam": {
+ "title": "Other Coercion Parameters",
+ "description": "Refer applicability to coercion types and examples in Other Attribute Coercion specific Parameters",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmProperty"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/archiveCompressionRule.schema.json b/src/main/webapp/assets/schema/es/archiveCompressionRule.schema.json
new file mode 100644
index 00000000..fc167100
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/archiveCompressionRule.schema.json
@@ -0,0 +1,52 @@
+{
+ "title": "Archive Compression rule",
+ "description": "Archive Compression rule",
+ "type": "object",
+ "required": [
+ "cn",
+ "dicomTransferSyntax",
+ "dcmRulePriority"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the Archive Compression Rule",
+ "type": "string"
+ },
+ "dicomTransferSyntax": {
+ "title": "DICOM Transfer Syntax UID",
+ "description": "Transfer Syntax to which received images shall be compressed",
+ "type": "string",
+ "format": "dcmTransferSyntax"
+ },
+ "dcmRulePriority": {
+ "title": "Rule Priority",
+ "description": "If the condition of several Compression rules matches for a received image, the rule with the highest priority will get applied. If there are several matching rules with equal priority it is undefined which rule get applied.",
+ "type": "integer",
+ "default" : 0,
+ "minimum": 0
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format {key}[!]={value}. Refer applicability, format and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmImageWriteParam": {
+ "title": "Image Write Param",
+ "description": "Image Write Parameter(s) (name=value) set at on Image Writer before compression",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmCompressionDelay": {
+ "title": "Compression Delay",
+ "description": "Compression delay in ISO-8601 duration format PnDTnHnMn.nS. Compress on receive if absent.",
+ "type": "string",
+ "format": "dcmDuration"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/archiveDevice.schema.json b/src/main/webapp/assets/schema/es/archiveDevice.schema.json
new file mode 100644
index 00000000..68db64e4
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/archiveDevice.schema.json
@@ -0,0 +1,2180 @@
+{
+ "title": "Archive Device",
+ "description": "DICOM Archive Device related information",
+ "type": "object",
+ "required": [
+ "dcmFuzzyAlgorithmClass",
+ "dcmStoreImplementationVersionName",
+ "dcmCalculateStudySizeFetchSize",
+ "dcmCalculateQueryAttributes",
+ "dcmSeriesMetadataFetchSize",
+ "dcmSeriesMetadataThreads",
+ "dcmSeriesMetadataMaxRetries",
+ "dcmPurgeInstanceRecords",
+ "dcmPurgeInstanceRecordsFetchSize",
+ "dcmDeleteUPSFetchSize",
+ "dcmMWLFetchSize",
+ "dcmOverwritePolicy",
+ "dcmRecordAttributeModification",
+ "dcmIdentifyPatientByAllAttributes",
+ "dcmAcceptMissingPatientID",
+ "dcmAcceptConflictingPatientID",
+ "dcmValidateCallingAEHostname",
+ "dcmUserIdentityNegotiation",
+ "dcmPersonNameComponentOrderInsensitiveMatching",
+ "dcmSendPendingCGet",
+ "dcmQueryFetchSize",
+ "dcmQueryMaxNumberOfResults",
+ "dcmQidoMaxNumberOfResults",
+ "dcmQidoETag",
+ "dcmWadoThumbnailViewport",
+ "dcmWadoZIPEntryNameFormat",
+ "dcmIanOnTimeout",
+ "dcmIanTaskFetchSize",
+ "dcmSpanningCFindSCPPolicy",
+ "dcmFallbackCMoveSCPRetries",
+ "dcmFallbackWadoURIHttpStatusCode",
+ "dcmTaskFetchSize",
+ "dcmUPSProcessingFetchSize",
+ "dcmRetrieveTaskWarningOnNoMatch",
+ "dcmRetrieveTaskWarningOnWarnings",
+ "dcmPurgeStorageFetchSize",
+ "dcmFailedToDeleteFetchSize",
+ "dcmDeleteStudyBatchSize",
+ "dcmDeleteStudyChunkSize",
+ "dcmDeletePatientOnDeleteLastStudy",
+ "dcmDeleteRejectedFetchSize",
+ "dcmLeadingCFindSCPQueryCacheSize",
+ "dcmAuditUnknownStudyInstanceUID",
+ "dcmAuditUnknownPatientID",
+ "dcmShowPatientInfoInSystemLog",
+ "dcmShowPatientInfoInAuditLog",
+ "hl7ScheduledProtocolCodeInOrder",
+ "dcmBulkDataSpoolDirectory",
+ "dcmWadoSpoolDirectory",
+ "dcmStowSpoolDirectory",
+ "dcmAuditSpoolDirectory",
+ "dcmStorePermissionCacheSize",
+ "dcmMergeMWLCacheSize",
+ "dcmStoreUpdateDBMaxRetries",
+ "dcmStoreUpdateDBMinRetryDelay",
+ "dcmStoreUpdateDBMaxRetryDelay",
+ "dcmAllowRejectionForDataRetentionPolicyExpired",
+ "dcmAllowDeleteStudyPermanently",
+ "dcmAllowDeletePatient",
+ "dcmStorageVerificationPolicy",
+ "dcmStorageVerificationUpdateLocationStatus",
+ "dcmStorageVerificationAETitle",
+ "dcmStorageVerificationFetchSize",
+ "dcmUpdateLocationStatusOnRetrieve",
+ "dcmStorageVerificationOnRetrieve",
+ "dcmCompressionThreads",
+ "dcmCompressionFetchSize",
+ "dcmPatientVerificationFetchSize",
+ "dcmPatientVerificationAdjustIssuerOfPatientID",
+ "dcmPatientVerificationMaxRetries",
+ "dcmQueueTasksFetchSize",
+ "dcmSupplementIssuerFetchSize",
+ "dcmUpdateCharsetFetchSize",
+ "dcmCopyMoveUpdatePolicy",
+ "dcmLinkMWLEntryUpdatePolicy",
+ "dcmCSVUploadChunkSize",
+ "dcmValidateUID",
+ "dcmRelationalQueryNegotiationLenient",
+ "dcmRelationalRetrieveNegotiationLenient",
+ "dcmRestrictRetrieveSilently",
+ "dcmSchedulerMinStartDelay",
+ "dcmStowRetiredTransferSyntax",
+ "dcmAuditSoftwareConfigurationVerbose",
+ "dcmWadoIgnorePresentationLUTShape",
+ "dcmWadoMetadataExcludePrivate",
+ "dcmStowExcludeAPPMarkers",
+ "dcmStowQuicktime2MP4",
+ "dcmStowMaxFragmentLength",
+ "dcmFilterByIssuerOfPatientID",
+ "dcmMWLAccessionNumberGenerator",
+ "dcmMWLRequestedProcedureIDGenerator",
+ "dcmMWLScheduledProcedureStepIDGenerator",
+ "dcmAuditHL7MsgLimit",
+ "dcmMatchSOPClassOnInstanceLevel",
+ "dcmKeyValueRetentionFetchSize",
+ "dcmUPSUpdateWithoutTransactionUID",
+ "hl7PSUForRequestedProcedure",
+ "hl7PSUTemplateParam",
+ "hl7PSUMWL",
+ "hl7PSUMWLMatchingKey",
+ "hl7PSUOnTimeout",
+ "hl7PSUMessageType",
+ "hl7PSUPIDPV1",
+ "hl7PSUTaskFetchSize",
+ "hl7TrackChangedPatientID",
+ "hl7UseNullValue",
+ "hl7VeterinaryUsePatientName",
+ "hl7OtherPatientIDs",
+ "hl7OrderMissingStudyIUIDPolicy",
+ "hl7OrderMissingAdmissionIDPolicy",
+ "hl7ImportReportMissingStudyIUIDPolicy",
+ "hl7ImportReportMissingAdmissionIDPolicy",
+ "hl7ImportReportAdjustIUID",
+ "hl7ReferredMergedPatientPolicy"
+ ],
+ "properties": {
+ "dcmFuzzyAlgorithmClass": {
+ "title": "Fuzzy Algorithm Class",
+ "description": "Specifies Fuzzy Algorithm Implementation Class.",
+ "type": "string",
+ "enum":[
+ "org.dcm4che3.soundex.Soundex",
+ "org.dcm4che3.soundex.ESoundex",
+ "org.dcm4che3.soundex.ESoundex9",
+ "org.dcm4che3.soundex.Metaphone",
+ "org.dcm4che3.soundex.KPhonetik",
+ "org.dcm4che3.soundex.Phonem"
+ ]
+ },
+ "dcmStoreImplementationVersionName": {
+ "title": "Store Implementation Version Name",
+ "description": "Indicates to include Implementation Version Name (0002,0012) in the File Meta Information of stored DICOM objects.",
+ "type": "boolean",
+ "default" : true
+ },
+ "dcmBulkDataDescriptorID": {
+ "title": "Bulk Data Descriptor ID",
+ "description": "ID of Bulk Data Descriptor applied by all services providing Metadata of archived instances. If absent, only Attributes specified by the Composite Instance Retrieve Without Bulk Data Service Class are treated as Bulk Data. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "format": "dcmBulkDataDescriptorID"
+ },
+ "dcmCalculateStudySizeDelay": {
+ "title": "Calculate Study Size Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS for eager calculation of Study Size and Query Attributes. If absent, no (minimal) delay for eager calculation of the Study Size and Query Attributes is applied.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmCalculateStudySizePollingInterval": {
+ "title": "Calculate Study Size Polling Interval",
+ "description": "Polling Interval for Studies with unknown size in ISO-8601 duration format PnDTnHnMnS. If absent, there is no eager calculation of the Study Size and Query Attributes.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmCalculateStudySizeFetchSize": {
+ "title": "Calculate Study Size Fetch Size",
+ "description": "Limit result set of DB query for Studies with unknown size.",
+ "type": "integer",
+ "default" : 100,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmCalculateQueryAttributes": {
+ "title": "Calculate Query Attributes",
+ "description": "Indicates to eager calculate Query Attributes according configured Calculate Study Size Delay and Calculate Study Size Polling Interval.",
+ "type": "boolean",
+ "default" : false
+ },
+ "dcmSeriesMetadataStorageID": {
+ "title": "Series Metadata Storage ID",
+ "description": "ID of Storage on which ZIP archives with aggregated Metadata of all instances of a Series is stored. Multiple Storage Systems may be configured. If absent, no aggregated Series Metadata will be stored.",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ },
+ "format": "dcmStorageID"
+ },
+ "dcmSeriesMetadataDelay": {
+ "title": "Aggregate Series Metadata Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS for storing aggregated Series Metadata on storage. If absent, no aggregated Series Metadata will be stored. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmSeriesMetadataPollingInterval": {
+ "title": "Update Series Metadata Polling Interval",
+ "description": "Polling Interval for Series scheduled for Metadata update in ISO-8601 duration format PnDTnHnMnS. If absent, no aggregated Series Metadata will be stored.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmSeriesMetadataFetchSize": {
+ "title": "Update Series Metadata Fetch Size",
+ "description": "Maximal number of Series scheduled for Metadata update fetched by one query.",
+ "type": "integer",
+ "default" : 100,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmSeriesMetadataThreads": {
+ "title": "Update Series Metadata Threads",
+ "description": "Number of Threads used for creation and update of Series Metadata.",
+ "type": "integer",
+ "default" : 1,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmSeriesMetadataMaxRetries": {
+ "title": "Update Series Metadata Maximum Number of Retries",
+ "description": "Maximum number of retries to create/update aggregated Series Metadata. Only effective if Update Series Metadata Retry Interval is specified. -1 = forever.",
+ "type": "integer",
+ "default": 0,
+ "minimum": -1
+ },
+ "dcmSeriesMetadataRetryInterval": {
+ "title": "Update Series Metadata Retry Interval",
+ "description": "Interval in ISO-8601 duration format PnDTnHnMnS in which failed attempts to create/update aggregated Series Metadata will be retried. Only effective if Update Series Metadata Maximum Number of Retries != 0. If absent, failed attempts will not be retried.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmPurgeInstanceRecords": {
+ "title": "Purged Instance Records",
+ "description": "Indicates that Instance Records may have been purged from the DB.",
+ "type": "boolean",
+ "default" : false
+ },
+ "dcmPurgeInstanceRecordsDelay": {
+ "title": "Purge Instance Records Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS for purging Instance Records from the DB. May be overwritten by configured values for particular Archive Network AEs. Only effective, if Purge Instance Records = true.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmPurgeInstanceRecordsPollingInterval": {
+ "title": "Purge Instance Records Polling Interval",
+ "description": "Polling Interval for Series scheduled for purging Instance Records from the DB in ISO-8601 duration format PnDTnHnMnS. Only effective, if Purge Instance Records = true.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmPurgeInstanceRecordsFetchSize": {
+ "title": "Purge Instance Records Fetch Size",
+ "description": "Maximal number of Series scheduled for purging Instance Records from the DB fetched by one query. Only effective, if Purge Instance Records = true.",
+ "type": "integer",
+ "default" : 100,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmMWLPollingInterval": {
+ "title": "MWL Polling Interval",
+ "description": "Polling Interval for updating the status of idle MWL items and deleting MWL items in ISO-8601 duration format PnDTnHnMnS. If absent, MWL Items will not get update or deleted.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmMWLFetchSize": {
+ "title": "MWL Fetch Size",
+ "description": "Maximal number of MWL items to update or delete in one transaction.",
+ "type": "integer",
+ "default" : 100,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmMWLImportInterval": {
+ "title": "MWL Import Interval",
+ "description": "Interval for import of Scheduled Procedure Steps from external MWL SCPs in ISO-8601 duration format PnDTnHnMn.nS; disabled if absent.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmDeleteMWLDelay": {
+ "title": "Delete MWL Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMn.nS for deleting MWL items, whose updated_time is older than the specified delay. Status specific delays can be specified by prefix 'SCHEDULED:', 'ARRIVED:', 'READY:', 'STARTED:', 'DEPARTED:', 'CANCELED:', 'DISCONTINUED:', 'COMPLETED:'. Examples: PT5M or CANCELED:PT10M. If absent, MWL Items will not get deleted.",
+ "type": "array",
+ "items" : { "type": "string" }
+ },
+ "dcmDeleteUPSPollingInterval": {
+ "title": "Delete UPS Polling Interval",
+ "description": "Polling Interval for deleting Unified Procedure Steps (UPS) in ISO-8601 duration format PnDTnHnMnS. If absent, Unified Procedure Steps will not get deleted.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmDeleteUPSFetchSize": {
+ "title": "Delete UPS Fetch Size",
+ "description": "Maximal number of Unified Procedure Steps (UPS) to delete in one transaction.",
+ "type": "integer",
+ "default" : 100,
+ "minimum": 0,
+ "exclusiveMinimum": true
+ },
+ "dcmDeleteUPSCompletedDelay": {
+ "title": "Delete UPS Completed Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMn.nS for deleting completed Unified Procedure Steps without Deletion Lock. If absent, completed Unified Procedure Steps without Deletion Lock are deleted immediately.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmDeleteUPSCanceledDelay": {
+ "title": "Delete UPS Canceled Delay",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMn.nS for deleting canceled Unified Procedure Steps without Deletion Lock. If absent, canceled Unified Procedure Steps without Deletion Lock are deleted immediately.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmOverwritePolicy": {
+ "title": "Overwrite Policy",
+ "description": "Overwrite Policy. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "default": "NEVER",
+ "enum": [
+ "NEVER",
+ "ALWAYS",
+ "SAME_SOURCE",
+ "SAME_SERIES",
+ "SAME_SOURCE_AND_SERIES",
+ "EVEN_WITH_EQUAL_DIGEST"
+ ]
+ },
+ "dcmRecordAttributeModification": {
+ "title": "Record Attribute Modification",
+ "description": "Indicates if modifications of attributes of stored objects are recorded in Items of the Original Attributes Sequence. May be overwritten by configured values for particular Archive Network AE or Archive HL7 Application.",
+ "type": "boolean",
+ "default": true
+ },
+ "dcmAcceptMissingPatientID": {
+ "title": "Accept Missing Patient ID",
+ "description": "Indicates if objects without Patient IDs shall be accepted and if a Patient ID shall be created. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "default": "CREATE",
+ "enum": [
+ "YES",
+ "NO",
+ "CREATE"
+ ]
+ },
+ "dcmAcceptConflictingPatientID": {
+ "title": "Accept Conflicting Patient ID",
+ "description": "Indicates if objects with a Patient IDs which differs from the Patient ID in previous received objects of the Study shall be accepted. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "default": "MERGED",
+ "enum": [
+ "YES",
+ "NO",
+ "MERGED"
+ ]
+ },
+ "dcmIdentifyPatientByAllAttributes": {
+ "title": "Identify Patient by all Attributes",
+ "description": "Indicates if all Patient attributes in received objects shall be used for associating an already existing Patient in the archive, if the Assigning Authority of the Patient ID is not specified by an Issuer of Patient ID or Universal Entity ID. Attention: disables the coercion of stale Patient attributes in received objects and breaks Patient Management functions relying on the unambiguity of Patient IDs.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmBulkDataSpoolDirectory": {
+ "title": "Bulk Data Spool Directory",
+ "description": "Path to Bulk Data Spool Directory. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "default": "${jboss.server.temp.dir}"
+ },
+ "dcmHideSPSWithStatusFromMWL": {
+ "title": "Hide SPS with Status by MWL SCP",
+ "description": "Scheduled Procedure Step Status codes of MWL items which shall not be returned by the MWL SCP. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "array",
+ "items" : {
+ "type": "string",
+ "enum": [
+ "SCHEDULED",
+ "ARRIVED",
+ "READY",
+ "STARTED",
+ "DEPARTED",
+ "CANCELED",
+ "DISCONTINUED",
+ "COMPLETED"
+ ]
+ }
+ },
+ "dcmHideSPSWithStatusFromMWLRS": {
+ "title": "Hide SPS with Status by MWL RS",
+ "description": "Scheduled Procedure Step Status codes of MWL items which shall not be returned by the MWL RS. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "array",
+ "items" : {
+ "type": "string",
+ "enum": [
+ "SCHEDULED",
+ "ARRIVED",
+ "READY",
+ "STARTED",
+ "DEPARTED",
+ "CANCELED",
+ "DISCONTINUED",
+ "COMPLETED"
+ ]
+ }
+ },
+ "dcmEncodeAsJSONNumber": {
+ "title": "Encode as JSON Number",
+ "description": "VR encoded as JSON Number. If not listed, IS, DS, SV and UV values are encoded as JSON Strings. May be supplemented by configured values for particular Archive Network AEs.",
+ "type": "array",
+ "items" : {
+ "type": "string",
+ "enum": [
+ "DS",
+ "IS",
+ "SV",
+ "UV"
+ ]
+ }
+ },
+ "dcmValidateCallingAEHostname": {
+ "title": "Validate Calling AE Hostname",
+ "description": "Validate Calling AE Hostname or IP Address of Association requestors. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmUserIdentityNegotiation": {
+ "title": "User Identity Negotiation",
+ "description": "Specifies to ignore User Identity Negotiation Sub-Item in Association requests (=NOT_SUPPORTED), to verify passed Username and password or JSON Web Token are against a Keycloak server (=SUPPORTS), or to reject Association requests without a valid Username and password or JSON Web Token in its Identity Negotiation Sub-Item (=REQUIRED). May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "default": "SUPPORTS",
+ "enum": [
+ "NOT_SUPPORTED",
+ "SUPPORTS",
+ "REQUIRED"
+ ]
+ },
+ "dcmUserIdentityNegotiationRole": {
+ "title": "User Identity Negotiation Role",
+ "description": "Constrain accepted User Identity Negotiation requests to users with specified role. If absent, only verify passed username and password or JSON Web Token. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string"
+ },
+ "dcmUserIdentityNegotiationKeycloakClientID": {
+ "title": "User Identity Negotiation Keycloak Client ID",
+ "description": "Keycloak Client ID referring Keycloak connection configuration for verifying passed username and password or JSON Web Token. If absent, System Properties ${auth-server-url}, ${realm-name:dcm4che}, ${ui-client-id:dcm4chee-arc-ui}, ${disable-trust-manager:false}, ${allow-any-hostname:true} will be applied. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "format": "dcmKeycloakClient"
+ },
+ "dcmPersonNameComponentOrderInsensitiveMatching": {
+ "title": "Person Name Component Order Insensitive Matching",
+ "description": "Indicates if name component order insensitive matching is performed on fuzzy semantic matching of person names. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmSendPendingCGet": {
+ "title": "Send Pending C-Get",
+ "description": "Enables pending C-GET responses. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmSendPendingCMoveInterval": {
+ "title": "Send Pending C-Move Interval",
+ "description": "Interval of pending C-MOVE responses in ISO-8601 duration format PnDTnHnMnS; disabled if absent. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmWadoSupportedSRClasses": {
+ "title": "Wado Supported SR Classes",
+ "description": "Supported SR SOP classes for WADO retrieval",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmSOPClass"
+ },
+ "dcmWadoSupportedPRClasses": {
+ "title": "Wado Supported PR Classes",
+ "description": "Supported PR SOP classes for WADO retrieval",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmSOPClass"
+ },
+ "dcmWadoSR2HtmlTemplateURI": {
+ "title": "Wado SR2 Html Template URI",
+ "description": "Specifies URI for the style sheet used to render structured reports to html. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string"
+ },
+ "dcmWadoSR2TextTemplateURI": {
+ "title": "Wado SR2 Text Template URI",
+ "description": "Specifies URI for the style sheet used to render structured reports to plain text. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string"
+ },
+ "dcmWadoCDA2HtmlTemplateURI": {
+ "title": "Wado CDA to HTML Template URI",
+ "description": "URL to XSL style sheet inserted as \" > in CDA documents returned by WADO-URI service. If absent, the embedded CDI document is returned verbatim. May be overwritten by configured values for particular Archive Network AEs.",
+ "type": "string"
+ },
+ "dcmWadoThumbnailViewport": {
+ "title": "Wado Thumbnail Viewport",
+ "description": "Dimension of Thumbnails returned by WADO retrieve of Instance Thumbnails, if no Viewport is specified in the request. Format:
- DIMSE RSPs other than C-MOVE / C-GET RSPs
- responses of outgoing HL7 messages
- HTTP(S) responses
No timeout if absent",
+ "type": "integer",
+ "minimum": 100
+ },
+ "dcmRetrieveTimeout": {
+ "title": "Retrieve Timeout",
+ "description": "Timeout in ms for receive of outstanding C-GET or C-MOVE RSPs; no timeout if absent",
+ "type": "integer",
+ "minimum": 100
+ },
+ "dcmRetrieveTimeoutTotal": {
+ "title": "Retrieve Timeout Total",
+ "description": "Indicates if the timer with the specified timeout for outstanding C-GET and C-MOVE RSPs shall be restarted on receive of pending RSPs (=false) or not (=true).",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmIdleTimeout": {
+ "title": "Idle Timeout",
+ "description": "Indicates aborting of idle Associations after specified timeout in ms; no timeout if absent",
+ "type": "integer",
+ "minimum": 100
+ },
+ "dcmAATimeout": {
+ "title": "A-ABORT Timeout",
+ "description": "Timeout in ms for waiting for finishing sending any DIMSE before sending an A-ABORT PDU, triggered by the application or by expiration of a configured other timeout of this Connection. If the timeout expires, the TCP connection will be closed without sending the A-ABORT.",
+ "type": "integer",
+ "minimum": 0,
+ "default": 1000
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/dcmTransferCapability.schema.json b/src/main/webapp/assets/schema/es/dcmTransferCapability.schema.json
new file mode 100644
index 00000000..be9ac50b
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/dcmTransferCapability.schema.json
@@ -0,0 +1,78 @@
+{
+ "title": "Transfer Capability Extension",
+ "description": "dcm4che proprietary Transfer Capability Attributes",
+ "type": "object",
+ "required": [
+ "dcmRelationalQueries",
+ "dcmCombinedDateTimeMatching",
+ "dcmFuzzySemanticMatching",
+ "dcmTimezoneQueryAdjustment"
+ ],
+ "properties": {
+ "dcmPreferredTransferSyntax": {
+ "title": "PreferredTransferSyntax",
+ "description": "Preferred Transfer Syntax for selection of Transfer Syntax within a Presentation Context, ordered by priority. Overwrites values specified on AE level.",
+ "type": "array",
+ "format": "dcmTransferSyntax",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmRelationalQueries": {
+ "title": "Relational Queries",
+ "description": "Enable/disable relational queries.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmCombinedDateTimeMatching": {
+ "title": "Combined Date Time Matching",
+ "description": "Enable/disable combined date time matching.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmFuzzySemanticMatching": {
+ "title": "Fuzzy Semantic Matching",
+ "description": "Enable/disable fuzzy semantic matching of person names.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmTimezoneQueryAdjustment": {
+ "title": "Timezone Query Adjustment",
+ "description": "Enable/disable timezone query adjustment",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmStorageConformance": {
+ "title": "Storage Conformance",
+ "description": "Indicates level of Conformance of a Storage SCP",
+ "type": "integer",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ "dcmDigitalSignatureSupport": {
+ "title": "Digital Signature Support",
+ "description": "Indicates level of Digital Signature Support of a Storage SCP",
+ "type": "integer",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3
+ ]
+ },
+ "dcmDataElementCoercion": {
+ "title": "Data Element Coercion",
+ "description": "Indicates coercion of Data Elements of a Storage SCP",
+ "type": "integer",
+ "enum": [
+ 0,
+ 1,
+ 2
+ ]
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/device.schema.json b/src/main/webapp/assets/schema/es/device.schema.json
new file mode 100644
index 00000000..80172283
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/device.schema.json
@@ -0,0 +1,292 @@
+{
+ "title": "Device",
+ "description": "DICOM Device related information",
+ "type": "object",
+ "required": ["dicomDeviceName", "dicomInstalled"],
+ "groups": {
+ "Manufacturer Information": [
+ "dicomManufacturer",
+ "dicomManufacturerModelName",
+ "dicomSoftwareVersion",
+ "dicomDeviceSerialNumber"
+ ],
+ "Organisation": [
+ "dicomStationName",
+ "dicomInstitutionName",
+ "dicomInstitutionCode",
+ "dicomInstitutionAddress",
+ "dicomInstitutionDepartmentName"
+ ],
+ "Issuers": [
+ "dicomIssuerOfPatientID",
+ "dicomIssuerOfAccessionNumber",
+ "dicomOrderPlacerIdentifier",
+ "dicomOrderFillerIdentifier",
+ "dicomIssuerOfAdmissionID",
+ "dicomIssuerOfServiceEpisodeID",
+ "dicomIssuerOfContainerIdentifier",
+ "dicomIssuerOfSpecimenIdentifier"
+ ],
+ "Certificates": [
+ "dicomAuthorizedNodeCertificateReference",
+ "dicomThisNodeCertificateReference"
+ ]
+ },
+ "properties": {
+ "dicomDeviceName": {
+ "title": "Device Name",
+ "description": "A unique name for this device",
+ "type": "string",
+ "order":1
+ },
+ "dicomDescription": {
+ "title": "Device Description",
+ "description": "Unconstrained text description of the device",
+ "type": "string",
+ "order":2
+ },
+ "dicomVendorData":{
+ "title": "Vendor Device Data",
+ "description": "Device specific vendor configuration information",
+ "type": "boolean",
+ "order":2
+ },
+ "dicomDeviceUID": {
+ "title": "Device UID",
+ "description": "Unique identifier of the device",
+ "type": "string",
+ "pattern": "^[0-2]((\\.0)|(\\.[1-9][0-9]*))*$",
+ "order":3
+ },
+ "dicomManufacturer": {
+ "title": "Manufacturer",
+ "description": "Manufacturer of the device. Default value of Manufacturer (0008,0070) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device.",
+ "type": "string",
+ "order":4
+ },
+ "dicomManufacturerModelName": {
+ "title": "Manufacturer Model Name",
+ "description": "Manufacturer Model Name of the device. Default value of Manufacturer Model Name (0008,1090) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device.",
+ "type": "string",
+ "order":5
+ },
+ "dicomSoftwareVersion": {
+ "title": "Software Version",
+ "description": "Software Versions of the device. Default values of Software Versions (0018,1020) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device.",
+ "type": "array",
+ "order":6,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomStationName": {
+ "title": "Station Name",
+ "description": "Station Name of the device. Default value of Station Name (0008,1010) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device.",
+ "type": "string",
+ "order":7
+ },
+ "dicomDeviceSerialNumber": {
+ "title": "Device Serial Number",
+ "description": "Device Serial Number of the device. Default value of Device Serial Number (0018,1000) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device.",
+ "type": "string",
+ "order":8
+ },
+ "dicomPrimaryDeviceType": {
+ "title": "Primary Device Type",
+ "description": "Represents the kind of device and is most applicable for acquisition modalities",
+ "type": "array",
+ "order":9,
+ "items" : {
+ "type": "string",
+ "enum":[
+ "ARCHIVE",
+ "COMP",
+ "CAD",
+ "DSS",
+ "FILMD",
+ "M3D",
+ "MCD",
+ "PRINT",
+ "CAPTURE",
+ "LOG",
+ "RT",
+ "WSD",
+ "AR",
+ "BMD",
+ "BDUS",
+ "EPS",
+ "CR",
+ "CT",
+ "DX",
+ "ECG",
+ "ES",
+ "XC",
+ "GM",
+ "HD",
+ "IO",
+ "IVOCT",
+ "IVUS",
+ "KER",
+ "LEN",
+ "MR",
+ "MG",
+ "NM",
+ "OAM",
+ "OCT",
+ "OPM",
+ "OP",
+ "OPR",
+ "OPT",
+ "OPTBSV",
+ "OPTENF",
+ "OPV",
+ "OSS",
+ "PX",
+ "PT",
+ "RF",
+ "RG",
+ "SM",
+ "SRF",
+ "US",
+ "VA",
+ "XA"
+ ]
+ }
+ },
+ "dicomInstitutionName": {
+ "title": "Institution Name",
+ "description": "Institution Name of the device. Default value of Institution Name (0008,0080) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device. Only the first configured value gets used by supplementing coercion, as the field is single-valued according to the General Equipment Module Attributes. Multi-valued possibility for this field here is to fulfill the requirement in DICOM Part 15 - Security and System Management Profiles - LDAP Schema For Objects and Attributes.",
+ "type": "array",
+ "order":10,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomInstitutionCode": {
+ "title": "Institution Code",
+ "description": "Institution Code of the device. Default value of Institution Code Sequence (0008,0082) in format (CV, CSD, \"CM\") on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device. Only the first configured value gets used by supplementing coercion, as the field is single-valued according to the General Equipment Module Attributes. Multi-valued possibility for this field here is to fulfill the requirement in DICOM Part 15 - Security and System Management Profiles - LDAP Schema For Objects and Attributes.",
+ "type": "array",
+ "order":11,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomInstitutionAddress": {
+ "title": "Institution Address",
+ "description": "Institution Address of the device. Default value of Institution Address (0008,0081) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device. Only the first configured value gets used by supplementing coercion, as the field is single-valued according to the General Equipment Module Attributes. Multi-valued possibility for this field here is to fulfill the requirement in DICOM Part 15 - Security and System Management Profiles - LDAP Schema For Objects and Attributes.",
+ "type": "array",
+ "order":12,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomInstitutionDepartmentName": {
+ "title": "Institution Department Name",
+ "description": "Institutional Department Name of the device. Default value of Institutional Department Name (0008,1040) on invocation by archive attribute coercions on an archive device to supplement this attribute from this device when it is missing in the SOP Instances created by the invoking archive device. Only the first configured value gets used by supplementing coercion, as the field is single-valued according to the General Equipment Module Attributes. Multi-valued possibility for this field here is to fulfill the requirement in DICOM Part 15 - Security and System Management Profiles - LDAP Schema For Objects and Attributes.",
+ "type": "array",
+ "order":13,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomIssuerOfPatientID": {
+ "title": "Issuer of Patient ID",
+ "description": "Default value for the Issuer of Patient ID (0010,0021), and optionally also default values for the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Patient ID Qualifiers Sequence (0010,0024) for SOP Instances created by this device when Patient ID (0010,0020) is missing; may be overridden with values received in a worklist or other source. It is also used on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Patient ID (0010,0020) is missing :
- on receive and creation of SOP instances by the invoking archive device
- on receive and creation of MPPS by the invoking archive device
- on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
Format: {Issuer of Patient ID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":14
+ },
+ "dicomIssuerOfAccessionNumber": {
+ "title": "Issuer of Accession Number",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Accession Number Sequence (0008,0051) for Modality Worklist items created or updated by this device when Accession Number (0008,0050) is missing; may be overridden with values received in a worklist or other source. It is also used on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Accession Number (0008,0050) is missing :
- within Request Attributes Sequence (0040,0275) item and root level attributes on receive and creation of SOP instances by the invoking archive device
- within Scheduled Step Attributes Sequence (0040,0270) item and root level attributes on receive and creation of MPPS by the invoking archive device
- within Request Attributes Sequence (0040,0275) item and root level attributes on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- within Request Attributes Sequence (0040,0275) item and root level attributes on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- within Request Attributes Sequence (0040,0275) item and root level attributes on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":15
+ },
+ "dicomOrderPlacerIdentifier": {
+ "title": "Order Placer Identifier",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Order Placer Identifier Sequence (0040,0026) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Placer Order Number / Imaging Service Request (0040,2016) is missing :
- within Request Attributes Sequence (0040,0275) item on receive and creation of SOP instances by the invoking archive device
- within Scheduled Step Attributes Sequence (0040,0270) on receive and creation of MPPS by the invoking archive device
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND requests respectively, from external systems to invoking archive device
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND requests respectively, from invoking archive device to external systems
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND responses respectively, from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":16
+ },
+ "dicomOrderFillerIdentifier": {
+ "title": "Order Filler Identifier",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Order Filler Identifier Sequence (0040,0027) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Filler Order Number / Imaging Service Request (0040,2017) is missing :
- within Request Attributes Sequence (0040,0275) item on receive and creation of SOP instances by the invoking archive device
- within Scheduled Step Attributes Sequence (0040,0270) on receive and creation of MPPS by the invoking archive device
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND requests respectively, from external systems to invoking archive device
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND requests respectively, from invoking archive device to external systems
- within Request Attributes Sequence (0040,0275) item on DICOM C-FIND / root level attributes on DICOM MWL C-FIND responses respectively, from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":17
+ },
+ "dicomIssuerOfAdmissionID": {
+ "title": "Issuer of Admission ID",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Admission ID Sequence (0038,0014) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Admission ID (0038,0010) is missing :
- on receive and creation of SOP instances by the invoking archive device
- on receive and creation of MPPS by the invoking archive device
- on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":18
+ },
+ "dicomIssuerOfServiceEpisodeID": {
+ "title": "Issuer of Service Episode ID",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Service Episode ID Sequence (0038,0064) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Service Episode ID (0038,0060) is missing :
- on receive and creation of SOP instances by the invoking archive device
- on receive and creation of MPPS by the invoking archive device
- on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":19
+ },
+ "dicomIssuerOfContainerIdentifier": {
+ "title": "Issuer of Container Identifier",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Container Identifier Sequence (0040,0513) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Container Identifier (0040,0512) is missing :
- on receive and creation of SOP instances by the invoking archive device
- on receive and creation of MPPS by the invoking archive device
- on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":20
+ },
+ "dicomIssuerOfSpecimenIdentifier": {
+ "title": "Issuer of Specimen Identifier",
+ "description": "Default values for the Local Namespace Entity ID (0040,0031), the Universal Entity ID (0040,0032) and the Universal Entity ID Type (0040,0033) of the Item of the Issuer of Specimen Identifier Sequence (0040,0562) on invocation by archive attribute coercions on an archive device to supplement from this device when assigning authority of Specimen Identifier (0040,0551) is missing :
- on receive and creation of SOP instances by the invoking archive device
- on receive and creation of MPPS by the invoking archive device
- on DICOM (MWl) C-FIND requests from external systems to invoking archive device
- on DICOM (MWl) C-FIND requests from invoking archive device to external systems
- on DICOM (MWl) C-FIND responses from external systems to invoking archive device.
May be overridden by the values received in a worklist or other source. Format: {LocalNamespaceEntityID}[&{UniversalEntityID}&{UniversalEntityIDType}]",
+ "type": "string",
+ "order":21
+ },
+ "dicomAuthorizedNodeCertificateReference": {
+ "title": "Authorized Node Certificate Reference",
+ "description": "The DNs for the certificates of nodes that are authorized to connect to this device",
+ "type": "array",
+ "order":22,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomThisNodeCertificateReference": {
+ "title": "This Node Certificate Reference",
+ "description": "The DNs of the public certificate(s) for this node",
+ "type": "array",
+ "order":23,
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomInstalled": {
+ "title": "installed",
+ "description": "Boolean to indicate whether this device is presently installed on the network",
+ "type": "boolean",
+ "order":24,
+ "default": true
+ },
+ "dicomNetworkConnection": {
+ "title": "Network Connections",
+ "description": "network connections of the device",
+ "type": "array",
+ "order":25,
+ "titleKey":"{dicomHostname}:{dicomPort} {cn}",
+ "items": {
+ "$ref": "networkConnection.schema.json"
+ }
+ },
+ "dicomNetworkAE": {
+ "title": "Network AEs",
+ "description": "Application entity provided by the device",
+ "type": "array",
+ "titleKey":"{dicomAETitle}",
+ "order":26,
+ "items": {
+ "$ref": "networkAE.schema.json"
+ }
+ },
+ "dcmDevice": {
+ "title": "Device Extension",
+ "description": "dcm4che proprietary Device Attributes",
+ "$ref": "dcmDevice.schema.json",
+ "order":27
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/dicomRouterConfig.schema.json b/src/main/webapp/assets/schema/es/dicomRouterConfig.schema.json
new file mode 100644
index 00000000..fe637c40
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/dicomRouterConfig.schema.json
@@ -0,0 +1,63 @@
+{
+ "title": "DICOM Router Configuration",
+ "description": "DICOM Router Configuration",
+ "type": "object",
+ "required": [
+ "dicomRouterRoutingScriptsDirectory",
+ "dicomRouterDcm4cheeAET",
+ "dicomRouterDcm4cheeURL",
+ "dicomRouterKeycloakURL",
+ "dicomRouterKeycloakClient",
+ "dicomRouterKeycloakSecret"
+ ],
+ "properties": {
+ "dicomRouterRoutingScriptsDirectory": {
+ "title": "Routing Scripts Directory",
+ "description": "Base Directory for Routing Scripts as seen from the container",
+ "type": "string"
+ },
+ "dicomRouterDcm4cheeAET": {
+ "title": "DCM4CHEE AET",
+ "description": "DCM4CHEE AET for Router Transactions - this AET is used to instruct DCM4CHEE to perform the necessary Tasks (c-find,c-move,...)",
+ "type": "string"
+ },
+ "dicomRouterDcm4cheeURL": {
+ "title": "DCM4CHEE URL",
+ "description": "DCM4CHEE URL for Router Transactions (e.g. https://dcm4chee.server:8443/dcm4chee-arc)",
+ "type": "string"
+ },
+ "dicomRouterKeycloakURL": {
+ "title": "Keycloak URL",
+ "description": "Keycloak URL for Authentication (e.g. https://keycloak.server:8843/realms/dcm4che/protocol/openid-connect/token)",
+ "type": "string"
+ },
+ "dicomRouterKeycloakClient": {
+ "title": "Keycloak Client",
+ "description": "Keyclock Client for Authentication",
+ "type": "string"
+ },
+ "dicomRouterKeycloakSecret": {
+ "title": "Keycloak Secret",
+ "description": "Keycloak Secret for Authentication",
+ "type": "string"
+ },
+ "dicomRouterModalityImageSizeMap": {
+ "title": "Modality Image Size Map",
+ "description": "Standard Mapping for estimating Study Sizes in kb (f.e. MR=250 will map MR with 250kb for each image) ",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfiguration":{
+ "title": "Route Configurations",
+ "description": "Route Configurations",
+ "titleKey":"{dicomRouterRouteConfiguration}",
+ "type": "array",
+ "items" : {
+ "$ref": "dicomRouterRouteConfiguration.schema.json"
+ }
+ }
+ }
+}
+
\ No newline at end of file
diff --git a/src/main/webapp/assets/schema/es/dicomRouterRouteConfiguration.schema.json b/src/main/webapp/assets/schema/es/dicomRouterRouteConfiguration.schema.json
new file mode 100644
index 00000000..3867c7c3
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/dicomRouterRouteConfiguration.schema.json
@@ -0,0 +1,188 @@
+{
+ "title": "Route Configuration",
+ "description": "Route Configuration",
+ "type": "object",
+ "required": [
+ "dicomRouterRouteConfiguration",
+ "dicomRouterRouteConfigurationDisplayName",
+ "dicomRouterRouteConfigurationQueueName",
+ "dicomRouterRouteConfigurationSourceFindAET",
+ "dicomRouterRouteConfigurationSourceRetrieveAET",
+ "dicomRouterRouteConfigurationSourceURL",
+ "dicomRouterRouteConfigurationRouteType",
+ "dicomRouterRouteConfigurationWorkerThreads",
+ "dicomRouterRouteConfigurationDestinationAETs",
+ "dicomRouterRouteConfigurationAET2AssigningAuthority"
+ ],
+ "properties": {
+ "dicomRouterRouteConfiguration": {
+ "title": "Route Configuration Name (internal)",
+ "description": "Route Configuration Name (internal)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationDisplayName": {
+ "title": "Route Configuration Name (UI)",
+ "description": "Route Configuration Name (UI)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationQueueName": {
+ "title": "Queue Name",
+ "description": "DCM4CHEE Queue Name used for Jobs",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationSourceFindAET": {
+ "title": "Source Find AET",
+ "description": "AET to Query when retrieving Input Data (HL7,IAN,...) to search for up2date study information (only used if Input Dataset contains StudyInstanceUID)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationSourceRetrieveAET": {
+ "title": "Source Retrieve AET",
+ "description": "AET to Retrieve Source Study from (only used if Input Dataset contains StudyInstanceUID)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationSourceURL": {
+ "title": "Source URL",
+ "description": "Listening Source URL (e.g. ORM: orm-route1://0.0.0.0:4713?audit=false, ORU: oru-route1://0.0.0.0:4711?audit=false, IAN: dicomDevice:dicom?sopClasses=1.2.840.10008.5.1.4.33,REST: rest:dummy)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationRouteType": {
+ "title": "Route Type",
+ "description": "Route Type",
+ "default": "ORU",
+ "type": "string",
+ "enum": [
+ "IAN",
+ "ORU",
+ "ORM",
+ "REST"
+ ]
+ },
+ "dicomRouterRouteConfigurationWorkerThreads": {
+ "title": "Worker Threads",
+ "description": "Number of Worker Threads that will work on queued Routing Orders",
+ "type": "integer",
+ "default": 2,
+ "minimum": 1
+ },
+ "dicomRouterRouteConfigurationNextVerificationDelay": {
+ "title": "Next Verification Delay",
+ "description": "Number of Minutes that should be added to Next Verificaton Date to synchronize the Routing Tasks",
+ "type": "integer",
+ "default": 1,
+ "minimum": 1
+ },
+ "dicomRouterRouteConfigurationDestinationAETs": {
+ "title": "Destination AETs",
+ "description": "List of Destination AETs where studies should be sent to",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfigurationAET2AssigningAuthority": {
+ "title": "AET - Assigning Authority Mapping",
+ "description": "List of AETs that should be searched for corresponding studies in the form AET=NamespaceID&UniversalID&UniversalIDType (e.g. MED1=IHERED&1.3.6.1.4.1.21367.13.20.1000&ISO)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfigurationAET2ForwardCronExpression": {
+ "title": "AET - Forward Cron Expression",
+ "description": "AET - Forward Cron Expression in the Form of AET=Cron Expression (e.g MED4=0 * 10-17 ? * MON-FRI)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfigurationBodyPartMap": {
+ "title": "Body Part Mapping",
+ "description": "Map Body Parts to make them compareable (e.g. HEAD=HEAD,SKULL,HEADNECK)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfigurationBodyPartScore": {
+ "title": "Body Part Score",
+ "description": "Score that should be used if a body part was matched translated via the configured Body Part Map - 0 will deactivate the body part matching",
+ "type": "integer",
+ "default": 0
+ },
+ "dicomRouterRouteConfigurationMaxRetrieveTasks": {
+ "title": "Maximum Retrieve Tasks",
+ "description": "The maximum number of Retrieve Tasks that should be created based on the found datasets ordered by score - 0 will deactivate the feature",
+ "type": "integer",
+ "default": 0
+ },
+ "dicomRouterRouteConfigurationMinScore": {
+ "title": "Minimum Score",
+ "description": "The minimum score a study needs to reach to be considered for Routing - 0 will deactivate the feature",
+ "type": "integer",
+ "default": 0
+ },
+ "dicomRouterRouteConfigurationCronExpression": {
+ "title": "Cron Expression",
+ "description": "Cron Expression to determine the next available Schedule Time for the Routing Order to be processed",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPurgingDelayCanceledTasks": {
+ "title": "Purging Delay Canceled Tasks",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS after which canceled tasks are purged. If absent, there is no deletion for that particular route.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dicomRouterRouteConfigurationPurgingDelayCompletedTasks": {
+ "title": "Purging Delay Completed Tasks",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS after which completed tasks are purged. If absent, there is no deletion for that particular route.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dicomRouterRouteConfigurationPurgingDelayFailedTasks": {
+ "title": "Purging Delay Failed Tasks",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS after which failed tasks are purged. If absent, there is no deletion for that particular route.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dicomRouterRouteConfigurationPurgingDelayWarningTasks": {
+ "title": "Purging Delay Warning Tasks",
+ "description": "Delay in ISO-8601 duration format PnDTnHnMnS after which warning tasks are purged. If absent, there is no deletion for that particular route.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dicomRouterRouteConfigurationHL7ConfigurationReceivingApplication": {
+ "title": "HL7 Configuration Receiving Application",
+ "description": "HL7 Configuration Receiving Application",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationHL7ConfigurationReceivingFacility": {
+ "title": "HL7 Configuration Receiving Facility",
+ "description": "HL7 Configuration Receiving Facility",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationHL7ConfigurationSendingApplication": {
+ "title": "HL7 Configuration Sending Application",
+ "description": "HL7 Configuration Sending Application",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationHL7ConfigurationSendingFacility": {
+ "title": "HL7 Configuration Sending Facility",
+ "description": "HL7 Configuration Sending Facility",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationHL7ConfigurationURIPrefix": {
+ "title": "HL7 Configuration URI Prefix",
+ "description": "URI Prefix to setup the HL7 Listener (e.g orm-route1)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfiguration":{
+ "title": "PIX Configurations",
+ "description": "PIX Configurations",
+ "titleKey":"{dicomRouterRouteConfigurationPixConfiguration}",
+ "type": "array",
+ "items" : {
+ "$ref": "dicomRouterRouteConfigurationPixConfiguration.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/dicomRouterRouteConfigurationPixConfiguration.schema.json b/src/main/webapp/assets/schema/es/dicomRouterRouteConfigurationPixConfiguration.schema.json
new file mode 100644
index 00000000..517c67cb
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/dicomRouterRouteConfigurationPixConfiguration.schema.json
@@ -0,0 +1,69 @@
+{
+ "title": "PIX Configuration",
+ "description": "PIX Configuration",
+ "type": "object",
+ "required": [
+ "dicomRouterRouteConfigurationPixConfiguration",
+ "dicomRouterRouteConfigurationPixConfigurationDisplayName",
+ "dicomRouterRouteConfigurationPixConfigurationDomainsReturned",
+ "dicomRouterRouteConfigurationPixConfigurationIssuer2AssigningAuthority",
+ "dicomRouterRouteConfigurationPixConfigurationITI9EndpointURI",
+ "dicomRouterRouteConfigurationPixConfigurationReceivingApplication",
+ "dicomRouterRouteConfigurationPixConfigurationReceivingFacility",
+ "dicomRouterRouteConfigurationPixConfigurationSendingApplication",
+ "dicomRouterRouteConfigurationPixConfigurationSendingFacility"
+ ],
+ "properties": {
+ "dicomRouterRouteConfigurationPixConfiguration": {
+ "title": "PIX Configuration Name (internal)",
+ "description": "PIX Configuration Name (internal)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationDisplayName": {
+ "title": "PIX Configuration Name (UI)",
+ "description": "PIX Configuration Name (UI)",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationDomainsReturned": {
+ "title": "Domains Return",
+ "description": "List of Domains to return in the PIX Query in the form NamespaceID&UniversalID&UniversalIDType (e.g FOREIGN&5.6.7.8&ISO)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomRouterRouteConfigurationPixConfigurationITI9EndpointURI": {
+ "title": "ITI-9 Endpoint URI",
+ "description": "ITI-9 URI - f.e pix-iti9://localhost:3600?audit=false",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationReceivingApplication": {
+ "title": "Receiving Application",
+ "description": "Receiving Application",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationReceivingFacility": {
+ "title": "Receiving Facility",
+ "description": "Receiving Facility",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationSendingApplication": {
+ "title": "Sending Application",
+ "description": "Sending Application",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationSendingFacility": {
+ "title": "Sending Facility",
+ "description": "Sending Facility",
+ "type": "string"
+ },
+ "dicomRouterRouteConfigurationPixConfigurationIssuer2AssigningAuthority": {
+ "title": "Issuer - Assigning Authority Mapping",
+ "description": "Issuer - Assigning Authority Mapping in the form AET=NamespaceID&UniversalID&UniversalIDType (e.g FOREIGN=FOREIGN&5.6.7.8&ISO)",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/exportPriorsRule.schema.json b/src/main/webapp/assets/schema/es/exportPriorsRule.schema.json
new file mode 100644
index 00000000..f351e2d5
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/exportPriorsRule.schema.json
@@ -0,0 +1,66 @@
+{
+ "title": "Export Priors Rule",
+ "description": "Export Priors Rule",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmExporterID",
+ "dcmDuration",
+ "dcmExportReoccurredInstances"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the Export Priors Rule",
+ "type": "string"
+ },
+ "dcmExporterID": {
+ "title": "Exporter ID",
+ "description": "Exporter ID",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmExporterID"
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format {key}[!]={value}. Refer applicability, format and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmSchedule": {
+ "title": "Time Conditions",
+ "description": "Apply this rule only within specified time ranges.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmSchedule"
+ },
+ "dcmEntitySelector": {
+ "title": "Entity Selector",
+ "description": "Specifies matching keys used to select prior Studies to export. Format: {key}={value}[&{key}={value}]..., with {key} = 'priors' | 'StudyAge' | {attributeID}. {value} in the format '$'{attributeID} are replaced by the value of the specified attribute from the received object which triggered the export. If no Entity Selector is specified, all prior Studies for the Patient will be exported. Example: 'priors=2&StudyAge=-5Y&ModalitiesInStudy=CT' => select at most 2 prior Studies not older than 5 years containing at least one CT Series.",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmEntitySelector"
+ },
+ "dcmDuration": {
+ "title": "Suppress Duplicate Export Interval",
+ "description": "Suppress Export of Studies already exported not earlier than the specified interval to avoid duplicate exports.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmExportReoccurredInstances": {
+ "title": "Export Reoccurred Instances",
+ "description": "Indicates if the entity shall be exported on subsequent occurrence of instances",
+ "type": "string",
+ "default": "REPLACE",
+ "enum": [
+ "NEVER",
+ "ALWAYS",
+ "REPLACE"
+ ]
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/exportRule.schema.json b/src/main/webapp/assets/schema/es/exportRule.schema.json
new file mode 100644
index 00000000..70976f85
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/exportRule.schema.json
@@ -0,0 +1,82 @@
+{
+ "title": "Export Rule",
+ "description": "Export Rule",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmEntity",
+ "dcmExporterID",
+ "dcmExportPreviousEntity",
+ "dcmExportReoccurredInstances"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the Export Rule",
+ "type": "string"
+ },
+ "dcmEntity": {
+ "title": "Export Entity",
+ "description": "Entity of Export",
+ "type": "string",
+ "enum": [
+ "Study",
+ "Series",
+ "Instance"
+ ]
+ },
+ "dcmExporterID": {
+ "title": "Exporter ID",
+ "description": "Exporter ID",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmExporterID"
+ },
+ "dicomDeviceName": {
+ "title": "Exporter Device Name",
+ "description": "Specifies Device on which the Export Task(s) shall be scheduled. If not specified, the Export Task(s) is/are scheduled on the Device which received the objects. Attention: the specified Device must (also) have Exporters with the specified IDs configured!",
+ "type": "string",
+ "format": "dicomDeviceName"
+ },
+ "dcmExportPreviousEntity": {
+ "title": "Export Previous Entity",
+ "description": "Specifies if the previous Entity of a replaced Instance shall be also exported.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format {key}[!]={value}. Refer applicability, format and some examples.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dcmSchedule": {
+ "title": "Time Conditions",
+ "description": "Apply this rule only within specified time ranges.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "format": "dcmSchedule"
+ },
+ "dcmDuration": {
+ "title": "Export Delay",
+ "description": "Delay export of entities to accumulate multiple trigger events to one export task.",
+ "type": "string",
+ "format": "dcmDuration"
+ },
+ "dcmExportReoccurredInstances": {
+ "title": "Export Reoccurred Instances",
+ "description": "Indicates if the entity shall be exported on subsequent occurrence of instances",
+ "type": "string",
+ "default": "REPLACE",
+ "enum": [
+ "NEVER",
+ "ALWAYS",
+ "REPLACE"
+ ]
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/exporter.schema.json b/src/main/webapp/assets/schema/es/exporter.schema.json
new file mode 100644
index 00000000..49b036d1
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/exporter.schema.json
@@ -0,0 +1,125 @@
+{
+ "title": "Exporter Descriptor",
+ "description": "Exporter Descriptor",
+ "type": "object",
+ "required": [
+ "dcmExporterID",
+ "dcmURI",
+ "dcmQueueName",
+ "dcmExportPriority",
+ "dcmInstanceAvailability",
+ "dicomAETitle",
+ "dcmExportAsSourceAE",
+ "dcmRejectForDataRetentionExpiry"
+ ],
+ "properties": {
+ "dcmExporterID": {
+ "title": "Exporter ID",
+ "description": "Exporter ID",
+ "type": "string",
+ "use": [
+ "$.dcmDevice.dcmArchiveDevice.dcmExportPriorsRule[*].dcmExporterID[*]",
+ "$.dcmDevice.dcmArchiveDevice.dcmExportRule[*].dcmExporterID[*]",
+ "$.dcmDevice.dcmArchiveDevice.hl7ExportRule[*].dcmExporterID[*]",
+ "$.dcmDevice.dcmArchiveDevice.dcmStudyRetentionPolicy[*].dcmExporterID",
+ "$.dcmDevice.dcmArchiveDevice.hl7StudyRetentionPolicy[*].dcmExporterID",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.dcmExportPriorsRule[*].dcmExporterID[*]",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.dcmExportRule[*].dcmExporterID[*]",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.dcmStudyRetentionPolicy[*].dcmExporterID",
+ "$.dcmDevice.hl7Application[*].dcmArchiveHL7Application.hl7ExportRule[*].dcmExporterID[*]",
+ "$.dcmDevice.hl7Application[*].dcmArchiveHL7Application.hl7StudyRetentionPolicy[*].dcmExporterID",
+ "$.dcmDevice.dcmuiConfig[*].dcmuiDashboardConfig[*].dcmuiExportName[*]"
+ ]
+ },
+ "dcmURI": {
+ "title": "Exporter URI",
+ "description": "RFC2079: Uniform Resource Identifier. Refer various Exporter URI that can be configured based on the exporter type.",
+ "type": "string"
+ },
+ "dcmQueueName": {
+ "title": "Queue Name",
+ "description": "Task Queue Name",
+ "type": "string",
+ "format":"dcmQueueName"
+ },
+ "dicomDescription": {
+ "title": "Exporter Description",
+ "description": "Unconstrained text description of the exporter",
+ "type": "string"
+ },
+ "dicomAETitle": {
+ "title": "Archive Application Entity (AE) title",
+ "description": "Archive Application Entity (AE) title",
+ "type": "string",
+ "format": "dcmArchiveAETitle"
+ },
+ "dcmExportAsSourceAE": {
+ "title": "Export as Source Application Entity (AE)",
+ "description": "Mask the Archive Application Entity (AE) title by the title of the Application Entity (AE) from which a Series was received on establishing the Association to the Destination Application Entity (AE).",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmDeleteStudyFromStorageID": {
+ "title": "Delete Study From Storage ID",
+ "description": "ID of Storage System from which the objects of the exported Study shall be deleted. Only effective for Export Tasks on Study level.",
+ "type": "string",
+ "format": "dcmStorageID"
+ },
+ "dcmRejectForDataRetentionExpiry": {
+ "title": "Reject Entity for Data Retention Expiry",
+ "description": "Reject entity for Data Retention Expiry after export on completion of Export Task.",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmStgCmtSCP": {
+ "title": "Storage Commitment SCP AE Title",
+ "description": "AE Title of external Storage Commitment SCP used to verify export to another archive.",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmIanDestination": {
+ "title": "Ian Destination",
+ "description": "Destination to send IAN N-CREATE RQ",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmAETitle"
+ },
+ "dcmRetrieveAET": {
+ "title": "Retrieve AE Title",
+ "description": "AE Title associated with Network AE",
+ "type": "array",
+ "items": { "type": "string" },
+ "format": "dcmArchiveAETitle"
+ },
+ "dcmRetrieveLocationUID": {
+ "title": "Retrieve Location UID",
+ "description": "Retrieve Location UID.",
+ "type": "string",
+ "pattern": "^[0-2]((\\.0)|(\\.[1-9][0-9]*))*$"
+ },
+ "dcmInstanceAvailability": {
+ "title": "Instance Availability",
+ "description": "Instance Availability.",
+ "type": "string",
+ "default": "ONLINE",
+ "enum": [
+ "ONLINE",
+ "NEARLINE",
+ "OFFLINE"
+ ]
+ },
+ "dcmSchedule": {
+ "title": "Export Schedule",
+ "description": "Delay export to specified time periods. If no Export Schedule is specified, queue the export task for processing immediately. Format: 'hour=[0-23] dayOfWeek=[0-6]' (0=Sunday)",
+ "type": "array",
+ "items": { "type": "string" },
+ "format": "dcmSchedule"
+ },
+ "dcmProperty": {
+ "title": "Exporter Property",
+ "description": "Specify exporter properties in format {name}={value}. Refer various Exporter Properties that can be configured based on the exporter type.",
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/hl7Application.schema.json b/src/main/webapp/assets/schema/es/hl7Application.schema.json
new file mode 100644
index 00000000..4cf30ee0
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/hl7Application.schema.json
@@ -0,0 +1,116 @@
+{
+ "title": "HL7 Application",
+ "description": "HL7 Application information",
+ "type": "object",
+ "required": [
+ "hl7ApplicationName",
+ "dicomNetworkConnectionReference",
+ "hl7DefaultCharacterSet",
+ "hl7SendingCharacterSet"
+ ],
+ "properties": {
+ "hl7ApplicationName": {
+ "title": "HL7 Application name",
+ "description": "HL7 Application and Facility name (Application|Facility)",
+ "type": "string",
+ "use": [
+ "$.dcmDevice.dcmArchiveDevice.hl7ADTSendingApplication",
+ "$.dcmDevice.dcmArchiveDevice.hl7ADTReceivingApplication[*]",
+ "$.dcmDevice.dcmArchiveDevice.hl7PSUSendingApplication",
+ "$.dcmDevice.dcmArchiveDevice.hl7PSUReceivingApplication[*]",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.hl7PSUSendingApplication",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.hl7PSUReceivingApplication[*]",
+ "$.dicomNetworkAE[*].dcmNetworkAE.hl7ApplicationName",
+ "$.dcmDevice.dcmArchiveDevice.hl7ForwardRule[*].hl7FwdApplicationName[*]",
+ "$.dcmDevice.hl7Application[*].dcmArchiveHL7Application.hl7ForwardRule[*].hl7FwdApplicationName[*]"
+ ]
+ },
+ "dicomNetworkConnectionReference": {
+ "title": "Network Connection Reference",
+ "description": "The JSON Pointers to the Network Connection objects for this HL7 Application",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hl7AcceptedSendingApplication": {
+ "title": "Accepted Sending Application",
+ "description": "Application|Facility name of accepted Sending Application(s); any if absent",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hl7OtherApplicationName": {
+ "title": "Other HL7 Application Name",
+ "description": "Additional HL7 Application and Facility name (Application|Facility) - will also accept HL7 messages with such Receiving Application and Facility name",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hl7AcceptedMessageType": {
+ "title": "Accepted Message Type",
+ "description": "Message Type(s) (MessageType^TriggerEvent) of accepted messages",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hl7DefaultCharacterSet": {
+ "title": "Default Character Set",
+ "description": "Character Set used to decode received messages if not specified by MSH-18.",
+ "type": "string",
+ "default": "ASCII",
+ "format": "hl7Charset"
+ },
+ "hl7SendingCharacterSet": {
+ "title": "Sending Character Set",
+ "description": "Character Set used to encode HL7 messages sent from archive.",
+ "type": "string",
+ "default": "ASCII",
+ "format": "hl7Charset"
+ },
+ "hl7OptionalMSHField": {
+ "title": "Optional MSH Field",
+ "description": "Accept HL7 Messages with missing values for specified MSH fields, even they are required according to IHE RAD TF Vol 2 Message Control requirements.",
+ "type": "array",
+ "items": {
+ "type": "integer",
+ "enum": [
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 11,
+ 12
+ ]
+ }
+ },
+ "dicomDescription": {
+ "title": "HL7 Description",
+ "description": "Unconstrained text description of the HL7 Application",
+ "type": "string"
+ },
+ "dicomApplicationCluster": {
+ "title": "Application Cluster",
+ "description": "Locally defined names for a subset of related applications",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "dicomInstalled": {
+ "title": "installed",
+ "description": "True if the HL7 Application is installed on network. If not present, information about the installed status of the HL7 Application is inherited from the device",
+ "type": "boolean"
+ },
+ "dcmArchiveHL7Application": {
+ "title": "Archive HL7 Application",
+ "description": "DICOM Archive HL7 Application related information",
+ "$ref": "archiveHL7Application.schema.json"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/hl7ExportRule.schema.json b/src/main/webapp/assets/schema/es/hl7ExportRule.schema.json
new file mode 100644
index 00000000..d623194a
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/hl7ExportRule.schema.json
@@ -0,0 +1,73 @@
+{
+ "title": "HL7 Export Rule",
+ "description": "HL7 Export Rule",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmExporterID",
+ "dcmDuration",
+ "dcmHistorySize"
+ ],
+ "properties": {
+ "cn": {
+ "title": "Name",
+ "description": "Arbitrary/Meaningful name of the HL7 Export Rule",
+ "type": "string"
+ },
+ "dcmExporterID": {
+ "title": "Exporter ID",
+ "description": "Exporter ID",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmExporterID"
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format {SEG}-{Seq#}[.{Comp#}[.{SubComp#}]][!]={regEx}. Example: MSH-4=FORWARD or MSH-9=ORM\\^O01 or PID-3[.3]=PIDIssuer or PID-3[.3[.2]]=PIDIssuerUniversalEntityIDType",
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "dcmEntitySelector": {
+ "title": "Entity Selector",
+ "description": "Specifies matching keys used to select Studies to export. Format: {key}={value}[&{key}={value)]..., with {key} = 'StudyAge' | {attributeID}. {value} in the format '$'{SEG}-{Seq#}[.{Comp#}[.{SubComp#}]] are replaced by the value of the specified HL7 field from the received HL7 message which triggered the export. If no Entity Selector is specified, all Studies for the Patient will be exported. Example: 'priors=2&StudyAge=-5Y&ModalitiesInStudy=CT' => select at most 2 prior Studies not older than 5 years containing at least one CT Series.",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmEntitySelector"
+ },
+ "dcmNullifyIssuerOfPatientID": {
+ "title": "Ignore Assigning Authority of Patient ID",
+ "description": "Conditionally ignore Assigning Authority of Patient ID (PID-3.4) in received HL7 message which triggered the export for selecting Studies of the Patient.",
+ "type": "string",
+ "enum": [
+ "ALWAYS",
+ "MATCHING",
+ "NOT_MATCHING"
+ ]
+ },
+ "dcmIssuerOfPatientID": {
+ "title": "Assigning Authority of Patient ID",
+ "description": "Assigning Authority of Patient ID against values in received HL7 message are matched, if Assigning Authority of Patient ID is set to MATCHING or NOT_MATCHING. Format: title=\"J4Care\", subtitle=\"SMooTH Archive\", company_name=\"J4Care GmbH\", street=\"Enzersdorfer Strasse 7\", postal_code=\"A-2340\", town=\"Mödling\"
",
+ "type": "string"
+ },
+ "dcmuiDateTimeFormat": {
+ "title": "Format Date Time",
+ "description": "Here you can format the date time in the UI by using 'yyyy' for the year, 'MM' for the Month, 'dd' for the date, 'HH' for the hour 'mm' for the minutes, 'ss' for the seconds and 'SSS' for milliseconds. To format Date, Time and Date-Time you should use `DATE`, `TIME` and `DATE-TIME` for example like this: `DATE=yyyy-MM-dd, TIME=HH:mm, DATE-TIME=yyyy-MM-dd HH:mm`",
+ "type": "string"
+ },
+ "dcmuiHideClock": {
+ "title": "Hide Clock",
+ "description": "Set to true if you want to hide the clock in the UI",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmuiPageTitle": {
+ "title": "Page Title",
+ "description": "If set, it will be used as UI page Title ( The Text shown in the Tab of the Browser ) ",
+ "type": "string"
+ },
+ "dcmuiPersonNameFormat": {
+ "title": "Format Person Name",
+ "description": "Here you can format the person Name in the UI by using:{FAMILY-NAME}, {GIVEN-NAME}, {MIDDLE-NAME}, {NAME-PREFIX}, {NAME-SUFFIX} for Alphabetic, or by appending 'I_' for the Ideographic and 'P_' for the Phonetic version like {P_FAMILY-NAME}, {I_NAME-SUFFIX}",
+ "type": "string"
+ },
+ "dcmuiDefaultWidgetAets": {
+ "title": "Default Widget AETs",
+ "description": "Select the AETs that should be preselected on Widget AETs",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ },
+ "format": "dcmAETitle"
+ },
+ "dcmuiMWLWorklistLabel": {
+ "title": "MWL Worklist Label",
+ "description": "Selectable values for MWL Worklist Label",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ },
+ "use": [
+ "$.dcmDevice.dcmArchiveDevice.dcmMWLImport.dcmMWLWorklistLabel",
+ "$.dicomNetworkAE[*].dcmNetworkAE.dcmArchiveNetworkAE.dcmMWLWorklistLabel",
+ "$.dcmDevice.hl7Application[*].dcmArchiveHL7Application.dcmMWLWorklistLabel",
+ "$.dcmDevice.dcmArchiveDevice.dcmArchiveAttributeCoercion[*].dcmMergeLocalMWLWorklistLabel[*]"
+ ]
+ },
+ "dcmuiAetConfig": {
+ "title": "AET drop-down list",
+ "description": "Define which AETs should be visible in the drop-down lists in the UI",
+ "titleKey":"{dcmuiAetListName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiAet.schema.json"
+ }
+ },
+ "dcmuiWebAppConfig": {
+ "title": "Web App drop-down list",
+ "description": "Define which WebApps should be visible on the top of the drop-down list in the UI",
+ "titleKey":"{dcmuiWebAppListName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiWebApp.schema.json"
+ }
+ },
+ "dcmuiPermission": {
+ "title": "Permission",
+ "description": "Permission",
+ "titleKey":"{dcmuiPermissionName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiPermission.schema.json"
+ }
+ },
+ "dcmuiFilterTemplateObject": {
+ "title": "UI Filter Template",
+ "description": "Defined filter template",
+ "titleKey":"{dcmuiFilterTemplateGroupName} ( {dcmuiFilterTemplateID} )",
+ "type": "array",
+ "items" : {
+ "$ref": "uiFilterTemplate.schema.json"
+ }
+ },
+ "dcmuiDiffConfig": {
+ "title": "Study Diff Configuration",
+ "description": "Study Diff Configuration",
+ "titleKey":"{dcmuiDiffConfigName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiDiffConfig.schema.json"
+ }
+ },
+ "dcmuiTableConfig": {
+ "title": "UI Table Configuration",
+ "description": "Configuration of table",
+ "titleKey":"{dcmuiTableConfigName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiTable.schema.json"
+ }
+ },
+ "dcmuiElasticsearchConfig": {
+ "title": "UI Elasticsearch Configuration",
+ "description": "Elasticsearch Configuration for the pro version",
+ "titleKey":"{dcmuiElasticsearchConfigName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiElasticsearch.schema.json"
+ }
+ },
+ "dcmuiDeviceClusterObject": {
+ "title": "UI Cluster Configuration",
+ "description": "Group Devices in Clusters",
+ "titleKey":"{dcmuiDeviceClusterName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiDeviceCluster.schema.json"
+ }
+ },
+ "dcmuiDashboardConfig": {
+ "title": "UI Dashboard Configuration",
+ "description": "UI Dashboard Configuration",
+ "titleKey":"{dcmuiDashboardConfigName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiDashboard.schema.json"
+ }
+ },
+ "dcmuiCreateDialogTemplate": {
+ "title": "UI Dialog Template",
+ "description": "UI Create Dialog Templates Configuration",
+ "titleKey":"{dcmuiTemplateName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiDialogTemplate.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiDashboard.schema.json b/src/main/webapp/assets/schema/es/uiDashboard.schema.json
new file mode 100644
index 00000000..d5b465de
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiDashboard.schema.json
@@ -0,0 +1,70 @@
+{
+ "title": "UI Dashboard Configuration",
+ "description": "UI Dashboard Configuration",
+ "type": "object",
+ "required": [
+ "dcmuiDashboardConfigName",
+ "dcmuiCountWebApp"
+ ],
+ "properties": {
+ "dcmuiDashboardConfigName": {
+ "title": "UI Dashboard Configuration Name",
+ "description": "UI Dashboard Configuration Name",
+ "type": "string"
+ },
+ "dcmuiShowStarBlock":{
+ "title": "Show Star Block",
+ "description": "Show Star Block - tasks without defined deviceName",
+ "type": "boolean",
+ "default" : true
+ },
+ "dcmuiQueueName": {
+ "title": "Queues",
+ "description": "Queue Names for UI Dashboard Configuration used in queue block",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format" : "dcmQueueName"
+ },
+ "dcmuiExportName": {
+ "title": "Exporter IDs",
+ "description": "Exporter ID-s for UI Dashboard Configuration used in queue and compare block",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format" : "dcmExporterID"
+ },
+ "dicomuiDeviceName": {
+ "title": "Device Names",
+ "description": "Device Names for UI Dashboard Configuration used for generating the Retrieve and Export block",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dicomDeviceName"
+ },
+ "dicomuiIgnoreParams": {
+ "title": "Audit Events Ignore Parameters",
+ "description": "Set Elasticsearch parameters that should be ignored in the Audit Events. E.g. Source.UserID=TESTVALUE",
+ "type": "array",
+ "items" : { "type": "string" }
+ },
+ "dcmuiCountWebApp": {
+ "title": "Count Web App",
+ "description": "Selected Web App, It will be used to get the count of studies in the dashboard",
+ "type": "string",
+ "format": "webApp"
+ },
+ "dcmuiCompareSideObjects": {
+ "title": "Compare Sides",
+ "description": "Compare Sides",
+ "titleKey":"{dcmuiCompareSideName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiCompareSide.schema.json"
+ }
+ },
+ "dicomuiDockerContainer": {
+ "title": "Archive Docker Containers",
+ "description": "Names of the archive docker containers used in the hardware page",
+ "type": "array",
+ "items" : { "type": "string" }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiDeviceCluster.schema.json b/src/main/webapp/assets/schema/es/uiDeviceCluster.schema.json
new file mode 100644
index 00000000..8cb79c93
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiDeviceCluster.schema.json
@@ -0,0 +1,41 @@
+{
+ "title": "UI Cluster Configuration",
+ "description": "Configuration of Device URL to use beside the main UI URL",
+ "type": "object",
+ "required": [
+ "dcmuiDeviceClusterName",
+ "dcmuiDeviceClusterDevices",
+ "dcmuiDeviceClusterInstalled"
+ ],
+ "properties": {
+ "dcmuiDeviceClusterName": {
+ "title": "Name",
+ "description": "Cluster Name",
+ "type": "string"
+ },
+ "dcmuiDeviceClusterDescription": {
+ "title": "Description",
+ "description": "Cluster Description",
+ "type": "string"
+ },
+ "dcmuiDeviceClusterDevices": {
+ "title": "Web Application for Devices",
+ "description": "Select configured WebApps to used to access the corresponding devices",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "webApp"
+ },
+ "dcmuiClusterWebApp": {
+ "title": "Web Application",
+ "description": "Web Application with the class QIDO-RS",
+ "type": "string",
+ "format": "webApp"
+ },
+ "dcmuiDeviceClusterInstalled": {
+ "title": "Installed",
+ "description": "Use this URL in the UI",
+ "type": "boolean",
+ "default": true
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiDialogTemplate.schema.json b/src/main/webapp/assets/schema/es/uiDialogTemplate.schema.json
new file mode 100644
index 00000000..c8aa3171
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiDialogTemplate.schema.json
@@ -0,0 +1,38 @@
+{
+ "title": "UI Dialog Template",
+ "description": "Define Create Dialog Template",
+ "type": "object",
+ "required": [
+ "dcmuiTemplateName",
+ "dcmTag"
+ ],
+ "properties": {
+ "dcmuiTemplateName": {
+ "title": "Name",
+ "description": "Name of the dialog template",
+ "type": "string"
+ },
+ "dcmTag": {
+ "title": "Attribute Tag",
+ "description": "DICOM Tag as hex string which shall be included in this dialog template",
+ "type": "array",
+ "items" : { "type": "string" },
+ "format": "dcmTag"
+ },
+ "dicomDescription": {
+ "title": "Description",
+ "description": "Dialog template description",
+ "type": "string"
+ },
+ "dcmuiDialog": {
+ "title": "Dialog Function",
+ "description": "Specifies the function where this Dialog Template shall get applied",
+ "type": "string",
+ "enum": [
+ "mwl",
+ "patient"
+ ],
+ "default": "mwl"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiDiffConfig.schema.json b/src/main/webapp/assets/schema/es/uiDiffConfig.schema.json
new file mode 100644
index 00000000..dd5098f1
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiDiffConfig.schema.json
@@ -0,0 +1,66 @@
+{
+ "title": "UI Diff Configuration",
+ "description": "UI Diff Configuration",
+ "type": "object",
+ "required": [
+ "dcmuiDiffConfigName"
+ ],
+ "properties": {
+ "dcmuiDiffConfigName": {
+ "title": "UI Diff Configuration Name",
+ "description": "UI Diff Configuration Name",
+ "type": "string"
+ },
+ "dcmuiDiffCallingAET": {
+ "title": "Diff Calling AET",
+ "description": "Diff Calling AET",
+ "type": "string",
+ "format": "dcmArchiveAETitle"
+ },
+ "dcmuiDiffPrimaryCFindSCP": {
+ "title": "UI Diff Primary C-FIND SCP",
+ "description": "UI Diff Primary C-FIND SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffPrimaryCMoveSCP": {
+ "title": "UI Diff Primary C-MOVE SCP",
+ "description": "UI Diff Primary C-MOVE SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffPrimaryCStoreSCP": {
+ "title": "UI Diff Primary C-STORE SCP",
+ "description": "UI Diff Primary C-STORE SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffSecondaryCFindSCP": {
+ "title": "UI Diff Secondary C-FIND SCP",
+ "description": "UI Diff Secondary C-FIND SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffSecondaryCMoveSCP": {
+ "title": "UI Diff Secondary C-MOVE SCP",
+ "description": "UI Diff Secondary C-MOVE SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffSecondaryCStoreSCP": {
+ "title": "UI Diff Secondary C-STORE SCP",
+ "description": "UI Diff Secondary C-STORE SCP",
+ "type": "string",
+ "format": "dcmAETitle"
+ },
+ "dcmuiDiffCriteria": {
+ "title": "UI Diff Criteria",
+ "description": "UI Diff Criteria",
+ "titleKey":"{dcmuiDiffCriteriaTitle}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiDiffCriteria.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiDiffCriteria.schema.json b/src/main/webapp/assets/schema/es/uiDiffCriteria.schema.json
new file mode 100644
index 00000000..aaf0357c
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiDiffCriteria.schema.json
@@ -0,0 +1,66 @@
+{
+ "title": "UI Diff Criteria",
+ "description": "UI Diff Criteria",
+ "type": "object",
+ "required": [
+ "dcmuiDiffCriteriaTitle",
+ "dcmuiDiffIncludeMissing"
+ ],
+ "properties": {
+ "dcmuiDiffCriteriaTitle": {
+ "title": "UI Diff Criteria Title",
+ "description": "Title of Diff Criteria",
+ "type": "string"
+ },
+ "dicomDescription": {
+ "title": "UI Diff Criteria Description",
+ "description": "Unconstrained text description of this UI Diff Criteria",
+ "type": "string"
+ },
+ "dcmuiDiffCriteriaNumber": {
+ "title": "UI Diff Criteria Number",
+ "description": "Attribute Set Number used to order Attribute Sets.",
+ "type": "integer",
+ "minimum": 1
+ },
+ "dcmuiDiffIncludeMissing": {
+ "title": "UI Including Missing",
+ "description": "Indicate if missing Studies shall be included",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmAttributeSetID": {
+ "title": "Attribute Set ID",
+ "description": "ID of Attribute Set specifying compared attributes",
+ "type": "string",
+ "format": "dcmAttributeSetID"
+ },
+ "dcmuiDiffGroupButton": {
+ "title": "UI Diff Group Button",
+ "description": "UI Diff Group Button",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "synchronize",
+ "export",
+ "reject"
+ ]
+ }
+ },
+ "dcmuiDiffAction": {
+ "title": "UI Diff Action",
+ "description": "UI Diff Action",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "patient-update",
+ "study-reject-export",
+ "study-reject",
+ "study-export"
+ ]
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiElasticsearch.schema.json b/src/main/webapp/assets/schema/es/uiElasticsearch.schema.json
new file mode 100644
index 00000000..689d8937
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiElasticsearch.schema.json
@@ -0,0 +1,24 @@
+{
+ "title": "UI Elasticsearch Configuration",
+ "description": "Elasticsearch Configuration for the pro version",
+ "type": "object",
+ "required": [
+ "dcmuiElasticsearchConfigName"
+ ],
+ "properties": {
+ "dcmuiElasticsearchConfigName": {
+ "title": "UI Elasticsearch Configuration Name",
+ "description": "UI Elasticsearch Configuration Name",
+ "type": "string"
+ },
+ "dcmuiElasticsearchURLObjects": {
+ "title": "UI Elasticsearch URL",
+ "description": "UI Elasticsearch URL",
+ "titleKey":"{dcmuiElasticsearchURLName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiElasticsearchURL.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiElasticsearchURL.schema.json b/src/main/webapp/assets/schema/es/uiElasticsearchURL.schema.json
new file mode 100644
index 00000000..724ee239
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiElasticsearchURL.schema.json
@@ -0,0 +1,41 @@
+{
+ "title": "UI Elasticsearch URL Configuration",
+ "description": "Elasticsearch URL",
+ "type": "object",
+ "required": [
+ "dcmuiElasticsearchURLName",
+ "dcmuiElasticsearchURL",
+ "dcmuiElasticsearchIsDefault",
+ "dcmuiElasticsearchInstalled"
+ ],
+ "properties": {
+ "dcmuiElasticsearchURLName": {
+ "title": "Elasticsearch URL Name",
+ "description": "UI Elasticsearch URL Name",
+ "type": "string"
+ },
+ "dcmuiElasticsearchWebApp": {
+ "title": "Elasticsearch WebApp",
+ "description": "Web Application that will be used te extract the Elasticsearch URL and access Elasticsearch",
+ "type": "string",
+ "format": "webApp"
+ },
+ "dcmuiAuditEnterpriseSiteID": {
+ "title": "Audit Enterprise SiteID",
+ "description": "Set Audit Enterprise SiteID which should be used on Elasticsearch queries",
+ "type": "string"
+ },
+ "dcmuiElasticsearchIsDefault": {
+ "title": "Is Default",
+ "description": "Set this URL to the default one. (Make sure that only one of the urls - siblings child is set to default).",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmuiElasticsearchInstalled": {
+ "title": "Installed",
+ "description": "Use this URL in the UI",
+ "type": "boolean",
+ "default": true
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiFilterTemplate.schema.json b/src/main/webapp/assets/schema/es/uiFilterTemplate.schema.json
new file mode 100644
index 00000000..88b04315
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiFilterTemplate.schema.json
@@ -0,0 +1,51 @@
+{
+ "title": "UI Filter Template",
+ "description": "Defined filter template",
+ "type": "object",
+ "required": [
+ "dcmuiFilterTemplateGroupName",
+ "dcmuiFilterTemplateID",
+ "dcmuiFilterTemplateFilters"
+ ],
+ "properties": {
+ "dcmuiFilterTemplateGroupName": {
+ "title": "Name",
+ "description": "Name of the template",
+ "type": "string"
+ },
+ "dcmuiFilterTemplateID": {
+ "title": "ID",
+ "description": "ID of the filter where this template can apply",
+ "type": "string"
+ },
+ "dcmuiFilterTemplateDescription": {
+ "title": "Description",
+ "description": "Filter template description",
+ "type": "string"
+ },
+ "dcmuiFilterTemplateUsername": {
+ "title": "Username",
+ "description": "Username that can use this template",
+ "type": "string"
+ },
+ "dcmuiFilterTemplateRole": {
+ "title": "Role",
+ "description": "Username role that can use this template",
+ "type": "string"
+ },
+ "dcmuiFilterTemplateFilters": {
+ "title": "Filters",
+ "description": "Default filters in this template, filter pare key=value (example LocalAET=DCM4CHEE). For date filter you can use the predefined keywords (today, yesterday, this_week, this_month, last_week, last_month, this_quarter, last_quarter, this_year, last_year) so the dynamic values of the filters can be generated.",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmuiFilterTemplateDefault": {
+ "title": "Default",
+ "description": "Use this template as default",
+ "type": "boolean",
+ "default": false
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiLanguage.schema.json b/src/main/webapp/assets/schema/es/uiLanguage.schema.json
new file mode 100644
index 00000000..a8e728ff
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiLanguage.schema.json
@@ -0,0 +1,34 @@
+{
+ "title": "UI Language Config",
+ "description": "UI Language Config",
+ "type": "object",
+ "required": [
+ "dcmLanguages",
+ "dcmuiLanguageConfigName"
+ ],
+ "properties": {
+ "dcmuiLanguageConfigName": {
+ "title": "Language Config Name",
+ "description": "Name of the Language Config",
+ "type": "string"
+ },
+ "dcmLanguages":{
+ "title": "Available languages",
+ "description": "Set languages that should be available in the UI (The JSON-files to those language must exist in the code, if they don't exist open an Issue in github",
+ "type": "array",
+ "items":{
+ "type": "string"
+ },
+ "format": "dcmLanguageChooser"
+ },
+ "dcmuiLanguageProfileObjects": {
+ "title": "Language Profile",
+ "description": "Language profile for username, role or everyone",
+ "titleKey":"{dcmuiLanguageProfileName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiLanguageProfile.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiLanguageProfile.schema.json b/src/main/webapp/assets/schema/es/uiLanguageProfile.schema.json
new file mode 100644
index 00000000..05e9bb25
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiLanguageProfile.schema.json
@@ -0,0 +1,38 @@
+{
+ "title": "UI Elasticsearch URL Configuration",
+ "description": "Elasticsearch URL",
+ "type": "object",
+ "required": [
+ "dcmuiLanguageProfileName",
+ "dcmuiDefaultLanguage"
+ ],
+ "properties": {
+ "dcmuiLanguageProfileName": {
+ "title": "Name",
+ "description": "Language profile name",
+ "type": "string"
+ },
+ "dcmDefaultLanguage": {
+ "title": "Default language",
+ "description": "Select default language for the UI",
+ "type": "string",
+ "items" : {
+ "type": "string"
+ },
+ "format": "dcmDefaultLanguage"
+ },
+ "dcmuiLanguageProfileRole": {
+ "title": "Role",
+ "description": "Username role that this language profile should apply to",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmuiLanguageProfileUsername": {
+ "title": "Username",
+ "description": "Username for the language profile",
+ "type": "string"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiPermission.schema.json b/src/main/webapp/assets/schema/es/uiPermission.schema.json
new file mode 100644
index 00000000..8c685068
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiPermission.schema.json
@@ -0,0 +1,116 @@
+{
+ "title": "UI Permission",
+ "description": "UI Permission",
+ "type": "object",
+ "required": [
+ "dcmuiPermissionName",
+ "dcmuiAction"
+ ],
+ "properties": {
+ "dcmuiPermissionName": {
+ "title": "UI Permission Name",
+ "description": "Name of Permission for UI Action",
+ "type": "string"
+ },
+ "dcmuiAction": {
+ "title": "UI Action",
+ "description": "UI Action",
+ "type": "string",
+ "enum": [
+ "menu-studies",
+ "menu-dashboard",
+ "menu-correct_data",
+ "menu-lifecycle_management",
+ "menu-audit_record_repository",
+ "menu-configuration",
+ "menu-move_data",
+ "menu-statistics",
+ "menu-monitoring",
+ "menu-study",
+ "menu-xds",
+ "tab-monitoring->queues",
+ "tab-monitoring->export",
+ "tab-monitoring->external_retrieve",
+ "tab-monitoring->control",
+ "tab-monitoring->associations",
+ "tab-monitoring->storage_commitments",
+ "tab-monitoring->storage_systems",
+ "tab-monitoring->diff",
+ "tab-statistics->statistics",
+ "tab-statistics->studies-stored",
+ "tab-configuration->devices",
+ "tab-configuration->ae_list",
+ "tab-configuration->hl7_applications",
+ "tab-configuration->permission",
+ "tab-correct_data->diff",
+ "tab-correct_data->patient_data",
+ "tab-move_data->retrieve",
+ "tab-move_data->export",
+ "tab-audit-record-repository->all",
+ "tab-audit-record-repository->audit_errors",
+ "tab-audit-record-repository->app_errors",
+ "tab-audit-record-repository->authentication",
+ "tab-audit-record-repository->software_configuration",
+ "tab-audit-record-repository->patients",
+ "tab-audit-record-repository->rejections",
+ "tab-audit-record-repository->hl7",
+ "tab-study-study",
+ "tab-study-patient",
+ "tab-study-mwl",
+ "tab-study-diff",
+ "action-devicelist-device_configuration",
+ "action-studies-patient",
+ "action-studies-mwl",
+ "action-studies-uwl",
+ "action-studies-study",
+ "action-studies-serie",
+ "action-studies-instance",
+ "action-studies-copy_merge_move",
+ "action-studies-more_function",
+ "action-studies-diff",
+ "action-studies-count",
+ "action-studies-show-attributes",
+ "action-studies-size",
+ "action-studies-viewer",
+ "action-studies-verify_storage_commitment",
+ "action-studies-download",
+ "action-monitoring->queues-all_action",
+ "action-monitoring->export-all_action",
+ "action-monitoring->external_retrieve-all_action",
+ "action-monitoring->queues-single_action",
+ "action-monitoring->export-single_action",
+ "action-monitoring->diff_monitor-all_action",
+ "action-monitoring->external_retrieve-single_action"
+ ]
+ },
+ "dcmuiActionParam": {
+ "title": "UI Action Parameter",
+ "description": "UI Action Parameter",
+ "type": "array",
+ "items" : {
+ "type": "string",
+ "enum":[
+ "edit",
+ "create",
+ "delete",
+ "export",
+ "accessible",
+ "visible",
+ "merge",
+ "upload",
+ "reject",
+ "restore",
+ "recreate"
+ ]
+ }
+ },
+ "dcmAcceptedUserRole": {
+ "title": "Accepted User Role",
+ "description": "Accepted User Role",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiTable.schema.json b/src/main/webapp/assets/schema/es/uiTable.schema.json
new file mode 100644
index 00000000..3e496403
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiTable.schema.json
@@ -0,0 +1,51 @@
+{
+ "title": "UI Table Configuration",
+ "description": "Study Table configuration for the pro version",
+ "type": "object",
+ "required": [
+ "dcmuiTableConfigName"
+ ],
+ "properties": {
+ "dcmuiTableConfigName": {
+ "title": "Configuration Name",
+ "description": "UI Table Configuration Name",
+ "type": "string"
+ },
+ "dcmuiTableConfigUsername": {
+ "title": "Username",
+ "description": "Username to which this set should be available",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmuiTableConfigRoles": {
+ "title": "Role",
+ "description": "Username role that can use this Set ( If you set the username, the role will be ignored )",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmuiTableID": {
+ "title": "Table ID",
+ "description": "The ID of the Table in the UI for which the config should be effective",
+ "type": "string"
+ },
+ "dcmuiTableConfigIsDefault": {
+ "title": "Is Default",
+ "description": "Set this Column-Set to the default one. (Make sure that only one of the Set - siblings child is set to default).",
+ "type": "boolean",
+ "default": false
+ },
+ "dcmuiTableColumnConfigObjects": {
+ "title": "Table Columns",
+ "description": "Define Table Columns",
+ "titleKey":"{dcmuiColumnName}",
+ "type": "array",
+ "items" : {
+ "$ref": "uiTableColumns.schema.json"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiTableColumns.schema.json b/src/main/webapp/assets/schema/es/uiTableColumns.schema.json
new file mode 100644
index 00000000..9a30565a
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiTableColumns.schema.json
@@ -0,0 +1,51 @@
+{
+ "title": "UI Study Table Columns Configuration",
+ "description": "Study Table Columns",
+ "type": "object",
+ "required": [
+ "dcmuiColumnName",
+ "dcmuiValuePath",
+ "dcmuiValueType"
+ ],
+ "properties": {
+ "dcmuiColumnName": {
+ "title": "Column Name",
+ "description": "The Name of the Column in the Study Table",
+ "type": "string"
+ },
+ "dcmuiColumnId": {
+ "title": "Column ID",
+ "description": "Every possible column that is used in the UI, has and ID, by using the ID you can change some of the properties of that Column, like Name, Description, Order or width",
+ "type": "string"
+ },
+ "dcmuiColumnTitle": {
+ "title": "Column Description",
+ "description": "Description of the Column, shown on hover",
+ "type": "string"
+ },
+ "dcmuiValuePath": {
+ "title": "Value path",
+ "description": "Value (json-Object) Path of the column (for Example: '00100010.Value[0].Alphabetic' for Patient's Name or '00100020.Value[0]' for Patient ID",
+ "type": "string"
+ },
+ "dcmuiValueType": {
+ "title": "Type of the value",
+ "description": "Type of the column how to get the value, default should be 'value'",
+ "type": "string",
+ "enum": [
+ "value",
+ "pipe"
+ ]
+ },
+ "dcmuiColumnWidth": {
+ "title": "Column width in weight",
+ "description": "Width of the column in weight ( x > 0.1 - x < infinite ) default 1",
+ "type": "string"
+ },
+ "dcmuiColumnOrder": {
+ "title": "Order of the Column",
+ "description": "Order of the Column",
+ "type": "number"
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/uiWebApp.schema.json b/src/main/webapp/assets/schema/es/uiWebApp.schema.json
new file mode 100644
index 00000000..729c02ea
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/uiWebApp.schema.json
@@ -0,0 +1,57 @@
+{
+ "title": "Web App drop-down list",
+ "description": "Web App drop-down list",
+ "type": "object",
+ "required": [
+ "dcmuiWebAppListName",
+ "dcmuiWebApps",
+ "dcmuiMode"
+ ],
+ "properties": {
+ "dcmuiWebAppListName": {
+ "title": "List Name",
+ "description": "Define a name for this config",
+ "type": "string"
+ },
+ "dcmuiWebAppListDescription": {
+ "title": "Description",
+ "description": "Web Application List description",
+ "type": "string"
+ },
+ "dcmuiMode": {
+ "title": "List mode",
+ "description": "You have two possibilities how to show the defined list: 1.) On top on the rest of list 'separated' with a line, 2.) Show only those hir defined ( 'exclusive' ).",
+ "type": "string",
+ "default":"separated",
+ "enum": [
+ "separated",
+ "exclusive"
+ ]
+ },
+ "dcmuiWebApps": {
+ "title": "WebApps",
+ "description": "Web Application",
+ "format": "webApp",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmAcceptedUserRole": {
+ "title": "Accepted User Role",
+ "description": "Define the roles for which this config should be available, use 'user' to be available for all roles ( You should either define a username ( following attribute ) or user role ( this attribute ))",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ },
+ "dcmAcceptedUserName": {
+ "title": "Accepted User Name",
+ "description": "Define the Username for which this config should be available ( You should either define a username ( this attribute ) or user role ( previous attribute ))",
+ "type": "array",
+ "items" : {
+ "type": "string"
+ }
+ }
+ }
+}
diff --git a/src/main/webapp/assets/schema/es/upsOnHL7.schema.json b/src/main/webapp/assets/schema/es/upsOnHL7.schema.json
new file mode 100644
index 00000000..a7900376
--- /dev/null
+++ b/src/main/webapp/assets/schema/es/upsOnHL7.schema.json
@@ -0,0 +1,204 @@
+{
+ "title": "UPS on HL7",
+ "description": "Create/Update Workitem in unified Worklist on receive of HL7v2 message",
+ "type": "object",
+ "required": [
+ "cn",
+ "dcmUPSLabel",
+ "dcmUPSPriority",
+ "dcmUPSInputReadinessState",
+ "dcmUPSIncludeStudyInstanceUID",
+ "dcmUPSIncludeReferencedRequest",
+ "dcmURI"
+ ],
+ "properties": {
+ "hl7UPSOnHL7ID": {
+ "title": "UPS on HL7 ID",
+ "description": "ID of UPS on HL7 Rule",
+ "type": "string"
+ },
+ "dcmProperty": {
+ "title": "Conditions",
+ "description": "Conditions in format