├── .gitignore ├── .gitmodules ├── README.md ├── build.sh ├── build ├── pom.xml └── src │ ├── izpack │ ├── 3.2-export-users.sh │ ├── ProcessPanel.Spec.xml │ ├── bootstrap.properties │ ├── database.properties │ ├── download-prep.sh │ ├── edge-config.sh │ ├── edge-cron │ ├── edge-db-install.sh │ ├── edge-server │ ├── edge-server.conf │ ├── enable-db-users.sh │ ├── gdoc-key.p12 │ ├── gdoc.properties │ ├── import-cert.sh │ ├── install-options │ ├── install.sh │ ├── install.xml │ ├── jboss-deployment-structure.xml │ ├── jvm-opts │ ├── keygen.sh │ ├── mirth-1.8.2-fix.sh │ ├── mirth-setup.sh │ ├── openam.config │ ├── prep-log4j.properties │ ├── retrieve-log4j.properties │ ├── retrieve-prep.sh │ ├── rsna.conf │ ├── send-email-log4j.properties │ ├── token-log4j.properties │ ├── torquebox-setup.sh │ ├── transfer-log4j.properties │ ├── truststore.jks │ ├── user-import.sh │ ├── userInputSpec.xml │ ├── utilization-config.sh │ ├── utilization-report-log4j.properties │ ├── utilization-report.sh │ ├── version-cleanup.sh │ └── wrapper.conf │ └── main │ └── assembly │ ├── build.xml │ └── zip.xml ├── docker-build.sh ├── inits ├── opendj.service └── torquebox.service ├── monitor-scripts ├── .gitkeep ├── edgeserver_monitor.crontab ├── edgeserver_monitor.sh └── readme.txt ├── openam-token-app-auth ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── rsna │ │ └── isn │ │ ├── TokenAppHash.java │ │ └── openam │ │ └── TokenAppAuth.java │ └── resources │ ├── amAuthTokenAppAuth.properties │ ├── amAuthTokenAppAuth.xml │ └── config │ └── auth │ └── default │ └── TokenAppAuth.xml └── verif_valid ├── External-Tools ├── HL7Receiver │ ├── HL7Receiver.jar │ ├── lib │ │ ├── commons-cli-1.0.jar │ │ ├── commons-lang-1.0.jar │ │ ├── commons-logging-1.0.4.jar │ │ ├── ebxmlrr-common.jar │ │ ├── hapi-base-1.0.jar │ │ ├── hapi-examples-1.0.jar │ │ ├── hapi-structures-v21-1.0.jar │ │ ├── hapi-structures-v22-1.0.jar │ │ ├── hapi-structures-v23-1.0.jar │ │ ├── hapi-structures-v231-1.0.jar │ │ ├── hapi-structures-v24-1.0.jar │ │ ├── hapi-structures-v25-1.0.jar │ │ ├── hapi-structures-v251-1.0.jar │ │ ├── hapi-structures-v26-1.0.jar │ │ ├── jboss-j2ee-4.0.2.jar │ │ ├── jdom-1.1.jar │ │ ├── junit-3.7.jar │ │ ├── log4j-1.2.9.jar │ │ ├── postgresql-8.2dev-503.jdbc3.jar │ │ ├── postgresql.jar │ │ ├── xalan-2.7.0.jar │ │ ├── xds-common.jar │ │ ├── xdsLog.jar │ │ ├── xercesImpl-2.4.0.jar │ │ └── xml-apis-1.0.b2.jar │ └── log4j.properties ├── XDSbManager.jar ├── apache-tomcat-7.0.62.zip ├── ez_setup.py └── xdstools2.201a.war ├── config ├── CTP │ └── config.xml-test-clearinghouse-email └── xdstools │ ├── ExternalCache.zip │ └── codes.xml ├── data ├── 1001.pl ├── 1001_1.txt ├── 1001_1.var ├── 1001_2.txt ├── 1001_2.var ├── 1002_1.var ├── 105.pl ├── A-2001 │ ├── 2.1_schema │ │ ├── configurations.schema.txt │ │ ├── devices.schema.txt │ │ ├── exams.schema.txt │ │ ├── hipaa_audit_accession_numbers.schema.txt │ │ ├── hipaa_audit_mrns.schema.txt │ │ ├── hipaa_audit_views.schema.txt │ │ ├── job_sets.schema.txt │ │ ├── jobs.schema.txt │ │ ├── patient_merge_events.schema.txt │ │ ├── patients.schema.txt │ │ ├── reports.schema.txt │ │ ├── roles.schema.txt │ │ ├── schema_version.schema.txt │ │ ├── status_codes.schema.txt │ │ ├── studies.schema.txt │ │ ├── transactions.schema.txt │ │ ├── users.schema.txt │ │ ├── v_exam_status.schema.txt │ │ └── v_job_status.schema.txt │ ├── 3.1_schema │ │ └── README.txt │ ├── A-2001-04 │ │ └── extract_2.1.txt │ ├── A-2001-09 │ │ └── 3.1_schema │ │ │ ├── configurations.schema.txt │ │ │ ├── devices.schema.txt │ │ │ ├── devices_device_id_seq.schema.txt │ │ │ ├── exams.schema.txt │ │ │ ├── exams_exam_id_seq.schema.txt │ │ │ ├── hipaa_audit_accession_numbers.schema.txt │ │ │ ├── hipaa_audit_accession_numbers_id_seq.schema.txt │ │ │ ├── hipaa_audit_mrns.schema.txt │ │ │ ├── hipaa_audit_mrns_id_seq.schema.txt │ │ │ ├── hipaa_audit_views.schema.txt │ │ │ ├── hipaa_audit_views_id_seq.schema.txt │ │ │ ├── job_sets.schema.txt │ │ │ ├── job_sets_job_set_id_seq.schema.txt │ │ │ ├── jobs.schema.txt │ │ │ ├── jobs_job_id_seq.schema.txt │ │ │ ├── patient_merge_events.schema.txt │ │ │ ├── patient_merge_events_event_id_seq.schema.txt │ │ │ ├── patients.schema.txt │ │ │ ├── patients_patient_id_seq.schema.txt │ │ │ ├── reports.schema.txt │ │ │ ├── reports_report_id_seq.schema.txt │ │ │ ├── roles.schema.txt │ │ │ ├── schema_version.schema.txt │ │ │ ├── schema_version_id_seq.schema.txt │ │ │ ├── status_codes.schema.txt │ │ │ ├── studies.schema.txt │ │ │ ├── studies_study_id_seq.schema.txt │ │ │ ├── transactions.schema.txt │ │ │ ├── transactions_transaction_id_seq.schema.txt │ │ │ ├── users.schema.txt │ │ │ ├── users_user_id_seq.schema.txt │ │ │ ├── v_exam_status.schema.txt │ │ │ └── v_job_status.schema.txt │ └── schemas_full │ │ ├── 3.0_full.txt │ │ └── 3.1_full.txt ├── A-3001 │ ├── A-3001-01.var │ ├── A-3001-02.var │ ├── A-3001-03.var │ ├── A-3001-04.var │ └── A-3001.pl ├── A-4001 │ └── A-4001.pl ├── A-5001 │ ├── A-5001-04-1.var │ ├── A-5001-04-2.var │ ├── A-5001-04-3.var │ ├── A-5001-04-4.var │ ├── A-5001-04-5.var │ ├── A-5001-04-6.var │ ├── A-5001-04.var │ ├── A-5001-08-1.var │ ├── A-5001-14-1.var │ ├── A-5001-14-2.var │ └── A-5001.pl ├── A-5005 │ ├── A-5005-04-1.var │ ├── A-5005-04-2a.var │ ├── A-5005-04-2b.var │ ├── A-5005-04-3a.var │ ├── A-5005-04-3b.var │ ├── A-5005-04-3c.var │ ├── A-5005-04-4.var │ ├── A-5005.pl │ ├── cancel.var │ └── complete.var ├── A-5006 │ ├── A-5006-xx-1.var │ ├── A-5006-xx-2.var │ ├── A-5006-xx-3.var │ ├── A-5006-xx-4.var │ ├── A-5006-yy-1.var │ ├── A-5006-yy-2.var │ ├── A-5006-yy-3.var │ ├── A-5006-yy-4.var │ ├── A-5006.pl │ ├── README.txt │ └── complete.var ├── ihe_oru.tpl ├── ihe_sched.tpl ├── mesa_msgs.pm └── xdstoolkit │ └── environment │ ├── EU2015 │ ├── codes.xml │ └── keystore │ │ ├── keystore │ │ └── keystore.properties │ └── NA2015 │ ├── codes.xml │ └── keystore │ ├── keystore │ └── keystore.properties ├── db ├── clear_db.sql ├── configuration_production_3.1.sql ├── configuration_test_3.1.sql ├── configuration_xdstools2_3.2.sql ├── configuration_xdstools2_5.0.sql ├── delay_in_hrs.sql ├── mirthdb_schema_defs.sql ├── rsnadb_dump-3.2.sql ├── rsnadb_dump.sql └── rsnadb_schema_defs.sql ├── runs └── t1002_x.csh ├── scripts ├── clear_database.pl ├── db_backup.csh ├── delta_terse.csh ├── dicom_rcvr.csh ├── git_list_untracked.csh ├── harvest_transactions.pl ├── image_sharing.pm ├── list_tables.csh ├── load_dicom_images.pl ├── load_dicom_images_only.pl ├── load_orm_oru_1001.pl ├── new_folder.csh ├── prep_xfer ├── t1002.csh ├── test_orm_oru_1001.pl ├── v4-openam │ ├── openam-export.sh │ ├── openam-import.sh │ └── pwd.txt └── v4-postgres │ ├── grep-for-postgres-passwords.sh │ ├── postgres-password-change.sh │ ├── postgres-password-files.sh │ └── postgres-password-test.sh └── test-cases ├── A-1001 ├── A-1001-03 │ └── A-1001-03.csh ├── A-1001-04 │ └── A-1001-04.csh ├── A-1001-05 │ └── A-1001-05.csh ├── A-1001-06 │ └── A-1001-06.csh ├── A-1001-33 │ ├── extract_2.1.csh │ ├── extract_3.0.csh │ └── sample_rsnadb_records.sql ├── A-1001-35 │ └── A-1001-35.csh └── A-1001-42 │ ├── 3.2_deployed_files.csh │ ├── A-1001-42.csh │ ├── compare_new_install_to_upgrade_files.csh │ ├── extract_3.1.csh │ ├── extract_3.2-new-install.csh │ ├── extract_3.2.csh │ ├── rsnadb_dump_3.1.txt │ ├── rsnadb_dump_3.2-new-install.txt │ ├── rsnadb_schema_3.1.txt │ ├── rsnadb_schema_3.2-new-install.txt │ └── sample_rsnadb_records.sql ├── A-2001 ├── A-2001-03a.pl ├── A-2001-03b.csh ├── A-2001-04 │ ├── extract_3.1.csh │ ├── extract_db_records.sql │ ├── load_and_extract_2.1.csh │ └── sample_rsnadb_records.sql ├── A-2001-07 │ └── sample_rsnadb_records.sql ├── A-2001-08 │ ├── extract_3.2.csh │ ├── extract_db_records.sql │ ├── load_and_extract_3.1.csh │ └── sample_rsnadb_records.sql ├── A-2001-09 │ ├── A-2001-09a.pl │ ├── A-2001-09b.csh │ └── setup.csh ├── A-2001-18 │ ├── A-2001-18.c.txt │ ├── A-2001-18a.sh │ ├── A-2001-18b.sh │ ├── A-2001-18c.sh │ ├── A-2001-18d.sh │ ├── A-2001-18e.sh │ ├── A-2001-18f.sh │ ├── rsnadb-3.2.sql │ ├── rsnadb-4.0-system.sql │ ├── rsnadb.sql │ └── schema.sql ├── A-2001-extract-schema.pl ├── A-2001-setup.csh ├── schema_2.1.csh ├── schema_3.0.csh ├── schema_3.1.csh └── schema_upgrade_3.1.csh ├── A-3001 ├── A-3001-01.pl ├── A-3001-02.pl ├── A-3001-03.pl ├── A-3001-04.pl └── A-3001.csh ├── A-4001 ├── A-4001-01.pl ├── A-4001-02.pl ├── A-4001-03.pl ├── A-4001-04.pl ├── A-4001-05.pl ├── A-4001-06.pl ├── A-4001-07.pl ├── A-4001-12.pl ├── A-4001-20.pl ├── A-4001-21.pl ├── A-4001-22.pl ├── A-4001-23.pl └── A-4001.csh ├── A-5001 ├── A-5001-03.pl ├── A-5001-04.pl ├── A-5001-05-no-consent.pl ├── A-5001-05-track-jobs.pl ├── A-5001-05-with-consent.pl ├── A-5001-08.pl └── A-5001-14.pl ├── A-5005 ├── A-5005-04-reports.pl └── A-5005-04.pl ├── A-5006 ├── A-5006-01.pl └── A-5006-03.pl ├── A-7001 ├── A_11001_1.py ├── A_11001_CompareDirectories.py ├── A_5001_X8.py ├── A_7001_01_BaseFlow.py ├── A_7001_02.py ├── A_7001_03.py ├── A_7001_04.py ├── A_7001_05.py ├── A_7001_06.py ├── A_7001_12.py ├── A_7001_13.py ├── A_7001_14.py ├── A_7001_15.py ├── A_7001_16.py ├── A_7001_17.py ├── A_7001_21.py ├── ClearinghouseManager.py ├── DicomCompare.py ├── DicomManager.py ├── DicomReader.py ├── EdgeDbManager.py ├── HL7ReceiverManager.py ├── NistRepositoryManager.py ├── RemoteValidation.py └── load_hl7.py ├── A-7002 ├── A_7002_01_BaseFlow.py ├── A_7002_02.py ├── ClearinghouseManager.py ├── ConfigManager.py ├── DicomCompare.py ├── DicomManager.py ├── DicomReader.py ├── EdgeDbManager.py ├── HL7ReceiverManager.py ├── NistRepositoryManager.py ├── id_file └── setEnvironmet.sh └── F-1004 └── F-1004-01.pl /.gitignore: -------------------------------------------------------------------------------- 1 | build/target 2 | openam-token-app-auth/target 3 | torquebox-* -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "documentation"] 2 | path = documentation 3 | url = git://github.com/RSNA/isn-edge-server-documentation.git 4 | [submodule "hl7-receiver-app"] 5 | path = hl7-receiver-app 6 | url = git://github.com/RSNA/isn-edge-server-hl7-receiver.git 7 | [submodule "prepare-content-app"] 8 | path = prepare-content-app 9 | url = git://github.com/RSNA/isn-edge-server-prepare-content.git 10 | [submodule "token-app"] 11 | path = token-app 12 | url = git://github.com/RSNA/isn-edge-server-token.git 13 | [submodule "transfer-content-app"] 14 | path = transfer-content-app 15 | url = git://github.com/RSNA/isn-edge-server-transfer-content.git 16 | [submodule "database"] 17 | path = database 18 | url = git://github.com/RSNA/isn-edge-server-database.git 19 | [submodule "rsna"] 20 | path = rsna 21 | url = git://github.com/RSNA/isn-edge-server-rsna.git 22 | [submodule "core"] 23 | path = core 24 | url = git://github.com/RSNA/isn-edge-server-core.git 25 | [submodule "receive-content-app"] 26 | path = receive-content-app 27 | url = git://github.com/RSNA/isn-edge-server-receive-content.git 28 | [submodule "CTP"] 29 | path = CTP 30 | url = git://github.com/RSNA/CTP-ISN-Installer.git 31 | [submodule "send-email-app"] 32 | path = send-email-app 33 | url = https://github.com/RSNA/isn-send-email.git 34 | [submodule "utilization-report-app"] 35 | path = utilization-report-app 36 | url = https://github.com/RSNA/isn-utilization-report.git 37 | [submodule "oht"] 38 | path = oht 39 | url = https://github.com/RSNA/isn-edge-server-oht 40 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | The [RSNA Image Share project](http://www.rsna.org/Image_Share.aspx) has developed tools that enable any radiology site with an HL7 2.x compliant radiology information system (RIS) and picture archive and communication system (PACS) to link to the RSNA Image Share network. The Edge Server gathers images and reports and places them in secure digital package. It gives site staff a simple browser-based user interface to select patient studies and send them to the Image Clearinghouse (provided by lifeIMAGE, Inc.). It generates a unique security key patients use to retrieve this information from the Clearinghouse into their personal health record (PHR) accounts. We encourage radiology sites and vendors of radiology systems to implement edge server capabilities and link to the Image Share network. This source repository hosts all the components that are needed to build the Edge Server application via source code. 2 | 3 | Packaged downloads and documentation are available at [RSNA Image Share for Developers](http://www.rsna.org/image_share_developers/). 4 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mvn -f build/pom.xml clean && 4 | mvn -Dmaven.test.skip.exec=true -f core/pom.xml install && 5 | mvn -Dmaven.test.skip.exec=true -f prepare-content-app/pom.xml install && 6 | mvn -f build/pom.xml -Dmaven.test.skip.exec=true process-resources && 7 | mvn -f build/pom.xml -Dmaven.test.skip.exec=true package 8 | -------------------------------------------------------------------------------- /build/src/izpack/3.2-export-users.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . /etc/rsna.conf 4 | 5 | $RSNA_ROOT/openam-cfg/opends/bin/export-ldif --port 4444 --hostname 127.0.0.1 --bindDN "cn=Directory Manager" --bindPassword chang3me --includeBranch ou=people,o=openam --includeBranch ou=groups,o=openam --backendID userRoot --ldifFile /tmp/user-export.ldif --start 0 --trustAll 6 | -------------------------------------------------------------------------------- /build/src/izpack/ProcessPanel.Spec.xml: -------------------------------------------------------------------------------- 1 | 2 | $INSTALL_PATH 3 | 4 | 5 | 6 | 7 | DBPASSWD=$database.password 8 | DBSUPERPASSWD=$database.superpassword 9 | INSTALL_PATH=$INSTALL_PATH 10 | $database.host 11 | $database.port 12 | $database.superuser 13 | $INSTALL_PATH/rsna.sql 14 | $INSTALL_PATH/tmp 15 | $APP_VER 16 | $upgrade 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | INSTALL_PATH=$INSTALL_PATH 26 | DBPASS=$database.password 27 | JAVA_HOME=$java.home 28 | $database.host 29 | $database.port 30 | $upgrade 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /build/src/izpack/bootstrap.properties: -------------------------------------------------------------------------------- 1 | configuration.dir=$rsna.root/openam-cfg 2 | -------------------------------------------------------------------------------- /build/src/izpack/database.properties: -------------------------------------------------------------------------------- 1 | rsnadb.url=jdbc:postgresql://$database.host:$database.port/rsnadb 2 | rsnadb.user=edge 3 | rsnadb.password=$database.password 4 | -------------------------------------------------------------------------------- /build/src/izpack/download-prep.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "executing download-prep.sh" 4 | 5 | mkdir -p $INSTALL_PATH/client_downloads 6 | cp -v $INSTALL_PATH/conf/keystore.jks $INSTALL_PATH/client_downloads/ 7 | cp -v $INSTALL_PATH/conf/truststore.jks $INSTALL_PATH/client_downloads/ 8 | 9 | echo "completing download-prep.sh" 10 | 11 | -------------------------------------------------------------------------------- /build/src/izpack/edge-cron: -------------------------------------------------------------------------------- 1 | 0 0 * * 0 edge $JAVA_HOME/bin/java -jar $RSNA_ROOT/utilization-report-*.jar > /dev/null 2>&1 2 | -------------------------------------------------------------------------------- /build/src/izpack/edge-db-install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "executing edge-db-install.sh" 3 | 4 | export PGPASSWORD=$DBSUPERPASSWD 5 | DBHOST=$1 6 | DBPORT=$2 7 | SUPERUSER=$3 8 | SQLFILE=$4 9 | TMPPATH=$5 10 | INSTALLER_DBVERSION=${6%-*} 11 | UPGRADE=$7 12 | 13 | CURVERSION=`/usr/bin/env psql -w -h $DBHOST -p $DBPORT -U $SUPERUSER rsnadb -At -c "SELECT version FROM schema_version ORDER BY modified_date DESC LIMIT 1"` 14 | 15 | export PGOPTIONS='--client-min-messages=warning' 16 | 17 | if [ "$UPGRADE" == "1" ] && [ "x$CURVERSION" != "x$INSTALLER_DBVERSION" ]; then # upgrade from previous version 18 | OLDIFS=$IFS 19 | IFS=$'\n' 20 | SQLUPDFILES=$(ls $INSTALL_PATH/RSNADB?rollout*.sql | sort | grep -A100 "$CURVERSION" | sed '/^--$/d' | tail -n +2) 21 | if [[ -n "$SQLUPDFILES" ]]; then 22 | echo "updating schema" $SQLUPDFILES 23 | sed -e 's/\xef\xbb\xbf//g' $SQLUPDFILES | /usr/bin/env psql -v ON_ERROR_STOP=1 --pset pager=off -q -X -1 -w -h $DBHOST -p $DBPORT -U $SUPERUSER rsnadb || exit 1 24 | fi 25 | IFS=$OLDIFS 26 | exit 0 27 | fi 28 | 29 | if [ "x$UPGRADE" != 'x1' ]; then 30 | /usr/bin/env dropuser -w -h $DBHOST -p $DBPORT -U $SUPERUSER edge 31 | /usr/bin/env dropdb -w -h $DBHOST -p $DBPORT -U $SUPERUSER rsnadb 32 | echo "creating edge user" 33 | /usr/bin/env psql -v ON_ERROR_STOP=0 --pset pager=off -X -q -w -h $DBHOST -p $DBPORT -U $SUPERUSER postgres -c "CREATE ROLE edge WITH NOSUPERUSER NOCREATEDB NOCREATEROLE LOGIN ENCRYPTED PASSWORD '$DBPASSWD'" && 34 | /usr/bin/env psql -v ON_ERROR_STOP=0 --pset pager=off -X -q -w -h $DBHOST -p $DBPORT -U $SUPERUSER postgres < $SQLFILE || exit 1 35 | /usr/bin/env psql -v ON_ERROR_STOP=0 --pset pager=off -X -q -w -h $DBHOST -p $DBPORT -U $SUPERUSER rsnadb < /dev/null 2>&1 18 | EOF 19 | end script 20 | -------------------------------------------------------------------------------- /build/src/izpack/enable-db-users.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . /etc/rsna.conf 4 | SSOADM=$RSNA_ROOT/ssoadm/openam/ssoadm 5 | 6 | $SSOADM set-svc-attrs -u amAdmin -f $RSNA_ROOT/conf/ampwd.txt -e / -s iPlanetAMAuthService -a "iplanet-am-auth-dynamic-profile-creation=true" 7 | $SSOADM create-svc -u amAdmin -f $RSNA_ROOT/conf/ampwd.txt --xmlfile $RSNA_ROOT/amAuthTokenAppAuth.xml 8 | $SSOADM register-auth-module -u amAdmin -f $RSNA_ROOT/conf/ampwd.txt --authmodule org.rsna.isn.openam.TokenAppAuth 9 | sleep 5 10 | $SSOADM create-auth-instance -u amAdmin -f $RSNA_ROOT/conf/ampwd.txt -e / -t TokenAppAuth -m TokenAppAuth 11 | sleep 5 12 | $SSOADM update-auth-cfg-entr -u amAdmin -f $RSNA_ROOT/conf/ampwd.txt -e / --name ldapService -a "TokenAppAuth|SUFFICIENT|" "DataStore|REQUIRED|iplanet-am-auth-shared-state-enabled=true shared-state-enabled=true iplanet-am-auth-shared-state-behavior-pattern=useFirstPass" 13 | -------------------------------------------------------------------------------- /build/src/izpack/gdoc-key.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/build/src/izpack/gdoc-key.p12 -------------------------------------------------------------------------------- /build/src/izpack/gdoc.properties: -------------------------------------------------------------------------------- 1 | gdoc.spreadsheet=RSNA Image Sharing Network Utilization Report 2 | gdoc.worksheet=Sheet1 3 | gdoc.clientid=546867043836-elgff9922qko54thhs3fpqrl71ei5rb4@developer.gserviceaccount.com 4 | gdoc.proxyset=true 5 | gdoc.proxyhost=192.203.117.40 6 | gdoc.proxyport=3128 7 | -------------------------------------------------------------------------------- /build/src/izpack/import-cert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . /etc/rsna.conf 4 | 5 | $JAVA_HOME/bin/keytool -printcert -file $1 && 6 | $JAVA_HOME/bin/keytool -import -alias edge -storepass edge1234 -keypass edge1234 -keystore $RSNA_ROOT/conf/keystore.jks -file $1 7 | -------------------------------------------------------------------------------- /build/src/izpack/install-options: -------------------------------------------------------------------------------- 1 | INSTALL_PATH= 2 | java.home= 3 | database.host= 4 | database.port= 5 | database.superuser= 6 | database.password= 7 | -------------------------------------------------------------------------------- /build/src/izpack/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CTP_DIR=/usr/local/ctp 4 | INSTALL_SCRIPT=$(readlink -f $0) 5 | INSTALL_SCRIPT_DIR=$(cd ${INSTALL_SCRIPT%/*} && pwd) 6 | 7 | A=$(ps aux | grep [e]dgeserver | awk '{print $2}') 8 | 9 | if [ -n "$A" ]; then 10 | sudo service edge-server stop 11 | fi 12 | 13 | export RSNA_ES_HOST=$(hostname -f) 14 | java -jar "$INSTALL_SCRIPT_DIR/${app.subpath}-${app.version}-standard.jar" 15 | 16 | . /etc/rsna.conf 17 | export RSNA_ROOT 18 | 19 | mkdir -p $CTP_DIR && 20 | cp -v $INSTALL_SCRIPT_DIR/ISN-installer.jar $CTP_DIR && 21 | cd $CTP_DIR && 22 | java -jar ISN-installer.jar && 23 | chown -R edge:edge $CTP_DIR 24 | 25 | update-rc.d edge-server defaults 26 | /etc/init.d/edge-server start 27 | service edge-server start 28 | 29 | -------------------------------------------------------------------------------- /build/src/izpack/jboss-deployment-structure.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /build/src/izpack/jvm-opts: -------------------------------------------------------------------------------- 1 | PREPARE_JVM_OPTS="-Xmx256M -Djava.awt.headless=true" 2 | TRANSFER_JVM_OPTS="-Xmx1024M -Djava.awt.headless=true" 3 | -------------------------------------------------------------------------------- /build/src/izpack/keygen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "executing keygen.sh" 4 | 5 | DN_SERVER_NAME=$1 6 | DN_OU=$2 7 | DN_O=$3 8 | DN_L=$4 9 | DN_ST=$5 10 | DN_C=$6 11 | VALID_DAYS=$7 12 | UPGRADE=$8 13 | TEST=$9 14 | 15 | DN="CN=$DN_SERVER_NAME, OU=${DN_OU/,/\\,}, O=${DN_O/,/\\,}, L=${DN_L/,/\\,}, ST=${DN_ST/,/\\,}, C=$DN_C" 16 | 17 | echo "UPGRADE is $UPGRADE" 18 | 19 | echo "Generating client certificate..." 20 | 21 | if [ "$UPGRADE" == '1' ] || [ -f $INSTALL_PATH/conf/keystore.jks ] 22 | then 23 | echo "client certificate exists, skipping" 24 | exit 0 25 | fi 26 | keytool -genkey -keyalg RSA -dname "$DN" -storepass edge1234 -keypass edge1234 -keysize 2048 -alias edge -validity $VALID_DAYS -keystore $INSTALL_PATH/conf/keystore.jks && 27 | keytool -export -v -rfc -alias edge -storepass edge1234 -keypass edge1234 -keystore $INSTALL_PATH/conf/keystore.jks > $INSTALL_PATH/client.pem && 28 | echo "Done, exported certificate: $INSTALL_PATH/client.pem" 29 | 30 | echo "completing keygen.sh" 31 | 32 | -------------------------------------------------------------------------------- /build/src/izpack/mirth-1.8.2-fix.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | check_hash() 4 | { 5 | echo "$2 *$3" | sha256sum -c - || (echo "$1 hash mismatch, exiting" && return 1) 6 | } 7 | 8 | apt-get -y install zip unzip 9 | 10 | MIRTHROOT=$1 11 | 12 | mkdir -p $MIRTHROOT/patch_tmp 13 | pushd $MIRTHROOT/patch_tmp 14 | 15 | cp $MIRTHROOT/lib/xstream-1.2.2.jar $MIRTHROOT/patch_tmp/xstream-1.2.2.jar.bak 16 | unzip -o $MIRTHROOT/lib/xstream-1.2.2.jar com/thoughtworks/xstream/core/JVM.class 17 | check_hash "Source class file" \ 18 | "0b5fbf12505e87455138a4a3e1a510b45d9ce332d4305d1d920efbe754489211" \ 19 | "com/thoughtworks/xstream/core/JVM.class" || exit 1 20 | 21 | echo "00006a7: 4f 72 61" | xxd -r -g 1 - com/thoughtworks/xstream/core/JVM.class 22 | 23 | check_hash "Patched class file" \ 24 | "d0b0b210925672a7d1e32066a90e036a3d47eca8158ef8817b2e0dcb6c2b78bd" \ 25 | "com/thoughtworks/xstream/core/JVM.class" || exit 1 26 | 27 | zip $MIRTHROOT/lib/xstream-1.2.2.jar com/thoughtworks/xstream/core/JVM.class 28 | rm com/thoughtworks/xstream/core/JVM.class 29 | popd 30 | -------------------------------------------------------------------------------- /build/src/izpack/mirth-setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "executing mirth-setup.sh" 4 | 5 | export PGPASSWORD=$DBSUPERPASSWD 6 | DBHOST=$1 7 | DBPORT=$2 8 | DBNAME=$3 9 | DBUSER=$4 10 | SUPERUSER=$5 11 | MIRTHROOT=$6 12 | UPGRADE=$7 13 | 14 | echo "UPGRADE is $UPGRADE" 15 | 16 | if [ "x$UPGRADE" == 'x1' ] && [ -d "$MIRTHROOT" ]; then 17 | echo "Patching Mirth 1.8.2..." 18 | $INSTALL_PATH/scripts/mirth-1.8.2-fix.sh "$MIRTHROOT" 19 | echo "Mirth database exists, skipping" 20 | exit 0 21 | fi 22 | 23 | echo "creating $DBUSER user" 24 | /usr/bin/env psql -w -h $DBHOST -p $DBPORT -U $SUPERUSER postgres -c "CREATE ROLE $DBUSER WITH NOSUPERUSER NOCREATEDB NOCREATEROLE LOGIN ENCRYPTED PASSWORD '$DBPASSWD'" && 25 | echo "creating $DBNAME database" 26 | /usr/bin/env createdb -w -h $DBHOST -p $DBPORT -U $SUPERUSER -O $DBUSER $DBNAME && 27 | export PGPASSWORD=$DBPASSWD 28 | /usr/bin/psql -w -h $DBHOST -p $DBPORT -U $DBUSER $DBNAME < $MIRTHROOT/postgres-database.sql 29 | cat > "$MIRTHROOT/conf/postgres-SqlMapConfig.properties" < $MIRTHROOT/conf/mirth.properties.new && 38 | mv $MIRTHROOT/conf/mirth.properties.new $MIRTHROOT/conf/mirth.properties 39 | 40 | echo "Patching Mirth 1.8.2..." 41 | $INSTALL_PATH/scripts/mirth-1.8.2-fix.sh "$MIRTHROOT" 42 | -------------------------------------------------------------------------------- /build/src/izpack/openam.config: -------------------------------------------------------------------------------- 1 | SERVER_URL=http://server.example.com:3000 2 | COOKIE_DOMAIN=.example.com 3 | DEPLOYMENT_URI=/openam 4 | BASE_DIR=/usr/local/edge-server/openam-cfg 5 | locale=en_US 6 | PLATFORM_LOCALE=en_US 7 | AM_ENC_KEY= 8 | AMLDAPUSERPASSWD=password 9 | AMLDAPUSERPASSWD_CONFIRM=password 10 | ACCEPT_LICENSES=true 11 | 12 | DATA_STORE=dirServer 13 | DIRECTORY_SSL=SIMPLE 14 | DIRECTORY_SERVER=localhost 15 | DIRECTORY_PORT=1389 16 | ROOT_SUFFIX=dc=isn,dc=rsna,dc=org 17 | DS_DIRMGRDN=cn=Directory Manager 18 | DS_DIRMGRPASSWD=Hazmiljad4 19 | 20 | USERSTORE_TYPE=LDAPv3ForOpenDS 21 | USERSTORE_SSL=SIMPLE 22 | USERSTORE_HOST=localhost 23 | USERSTORE_PORT=1389 24 | USERSTORE_SUFFIX=dc=isn,dc=rsna,dc=org 25 | USERSTORE_MGRDN=cn=Directory Manager 26 | USERSTORE_PASSWD=Hazmiljad4 27 | -------------------------------------------------------------------------------- /build/src/izpack/prep-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = info, rolling, stdout 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = $rsna.root/logs/prep-content.log 4 | log4j.appender.rolling.MaxFileSize = 10MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | log4j.appender.stdout = org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 11 | -------------------------------------------------------------------------------- /build/src/izpack/retrieve-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = info, rolling, stdout 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = $rsna.root/logs/retrieve-content.log 4 | log4j.appender.rolling.MaxFileSize = 10MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | log4j.appender.stdout = org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 11 | -------------------------------------------------------------------------------- /build/src/izpack/retrieve-prep.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "executing retrieve-prep.sh" 4 | 5 | UPGRADE=$1 6 | 7 | echo "UPGRADE is $UPGRADE" 8 | 9 | if [ "$UPGRADE" == '0' ]; then 10 | mkdir $INSTALL_PATH/images 11 | mkdir $INSTALL_PATH/report 12 | mkdir $INSTALL_PATH/temp 13 | 14 | touch $INSTALL_PATH/logs/retrieve-content.log 15 | 16 | chown -R edge:edge $INSTALL_PATH 17 | 18 | chmod 777 $INSTALL_PATH/images 19 | chmod 777 $INSTALL_PATH/report 20 | chmod 777 $INSTALL_PATH/temp 21 | chmod 777 $INSTALL_PATH/logs/retrieve-content.log 22 | 23 | exit 0 24 | fi 25 | 26 | echo "completing retrieve-prep.sh" 27 | 28 | -------------------------------------------------------------------------------- /build/src/izpack/rsna.conf: -------------------------------------------------------------------------------- 1 | RSNA_ROOT=$rsna.root 2 | JAVA_HOME=$java.home 3 | -------------------------------------------------------------------------------- /build/src/izpack/send-email-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = WARN, rolling 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = $rsna.root/logs/send-email.log 4 | log4j.appender.rolling.MaxFileSize = 100MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | log4j.appender.stdout = org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 11 | 12 | log4j.logger.org.rsna = INFO 13 | -------------------------------------------------------------------------------- /build/src/izpack/token-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = info, rolling, stdout 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = $rsna.root/logs/token-app.log 4 | log4j.appender.rolling.MaxFileSize = 10MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | log4j.appender.stdout = org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 11 | -------------------------------------------------------------------------------- /build/src/izpack/transfer-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = info, rolling 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = $rsna.root/logs/transfer-content.log 4 | log4j.appender.rolling.MaxFileSize = 10MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | -------------------------------------------------------------------------------- /build/src/izpack/truststore.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/build/src/izpack/truststore.jks -------------------------------------------------------------------------------- /build/src/izpack/user-import.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | . /etc/rsna.conf 4 | 5 | TMP=$(mktemp --suffix=ldif) 6 | 7 | sed 's/o=openam/dc=isn,dc=rsna,dc=org/g' < $1 > $TMP 8 | chmod +r $TMP 9 | 10 | $RSNA_ROOT/opendj/bin/import-ldif -h localhost -t 0 -n userRoot -a -r -D "cn=Directory Manager" --port 4444 -w Hazmiljad4 -l $TMP -X 11 | -------------------------------------------------------------------------------- /build/src/izpack/userInputSpec.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /build/src/izpack/utilization-config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cp -v "$1" "$INSTALL_PATH/conf/gdoc.properties" 4 | -------------------------------------------------------------------------------- /build/src/izpack/utilization-report-log4j.properties: -------------------------------------------------------------------------------- 1 | log4j.rootCategory = WARN, rolling 2 | log4j.appender.rolling = org.apache.log4j.RollingFileAppender 3 | log4j.appender.rolling.File = /usr/local/edgeserver/logs/utilization-report.log 4 | log4j.appender.rolling.MaxFileSize = 100MB 5 | log4j.appender.rolling.MaxBackupIndex = 1 6 | log4j.appender.rolling.layout = org.apache.log4j.PatternLayout 7 | log4j.appender.rolling.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 8 | log4j.appender.stdout = org.apache.log4j.ConsoleAppender 9 | log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 10 | log4j.appender.stdout.layout.ConversionPattern = %p [%d{MM/dd/yyyy HH:mm:ss.SSS}] %t %C.%M "%m"%n 11 | 12 | log4j.logger.org.rsna = INFO 13 | -------------------------------------------------------------------------------- /build/src/izpack/utilization-report.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ################################################ 4 | # Author: Clifton Li 4/1/2015 5 | # Purpose: service tool for utlilization-report*.jar 6 | # 7 | # Usage: utlilization-report.sh [--install|--test] 8 | # --install) Installs cron job by writing to /etc/cron.d/edge-cron. 9 | # --test) Tests connection to Google docs using conf/gdoc.propertes. 10 | # 11 | ################################################### 12 | 13 | USER=edge 14 | CRONFILE='/etc/cron.d/edge-cron' 15 | CRONJOB='0 0 * * 0 edge $JAVA_HOME/bin/java -jar $RSNA_ROOT/utilization-report*.jar > /dev/null 2>&1' 16 | 17 | # Check appropriate number of arguments are given 18 | if [ $# -gt 1 ] 19 | then 20 | echo "Usage: $0 [--test|--install]" 21 | exit 22 | fi 23 | 24 | if [ "$1" = "--install" ] ; then 25 | 26 | if [ -f $CRONFILE ] ; then 27 | #append job to file if it doesn't exist 28 | if ! grep --quiet utilization-report[*].jar $CRONFILE ; then 29 | echo "$CRONJOB" >> $CRONFILE 30 | fi 31 | else 32 | #create cron file 33 | echo "$CRONJOB" >> $CRONFILE 34 | fi 35 | 36 | echo "Done" 37 | 38 | elif [ "$1" = "--test" ] ; then 39 | su $USER -c 'java -cp $RSNA_ROOT/utilization-report*.jar org.rsna.isn.utilizationreport.util.TestConnection' 40 | 41 | elif [ $# -eq 0 ] ; then 42 | su $USER -c 'java -jar $RSNA_ROOT/utilization-report*.jar' 43 | 44 | else 45 | echo "Usage: $0 [--test|--install]" 46 | 47 | fi 48 | -------------------------------------------------------------------------------- /build/src/izpack/version-cleanup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo "executing version-cleanup.sh" 4 | 5 | UPGRADE=$1 6 | 7 | echo "UPGRADE is $UPGRADE" 8 | 9 | if [ "$UPGRADE" == '0' ] 10 | then 11 | echo "Nothing to do. Skipping." 12 | exit 0 13 | fi 14 | 15 | rm $INSTALL_PATH/conf/scp.properties 16 | find $INSTALL_PATH -maxdepth 1 -name core\*.jar | sort -n | head -n -1 | xargs -i mv {} {}.old 17 | find $INSTALL_PATH -maxdepth 1 -name prep\*.jar | sort -n | head -n -1 | xargs -i mv {} {}.old 18 | find $INSTALL_PATH -maxdepth 1 -name transfer\*.jar | sort -n | head -n -1 | xargs -i mv {} {}.old 19 | 20 | echo "completing version-cleanup.sh" 21 | -------------------------------------------------------------------------------- /build/src/main/assembly/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | install 6 | 7 | zip 8 | 9 | false 10 | 11 | 12 | 13 | org.rsna.isn:token-app 14 | 15 | 16 | false 17 | 18 | 19 | false 20 | runtime 21 | ext 22 | 23 | 24 | 25 | 26 | 27 | 28 | org.rsna.isn:token-app 29 | 30 | 31 | 32 | 33 | 34 | token-app.knob 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | false 44 | 45 | org.rsna.isn:core 46 | 47 | 48 | 49 | 50 | 51 | ../inits 52 | inits 53 | 54 | 55 | 56 | 57 | ../database/rsna.sql 58 | 59 | 60 | ../CTP/ISN-installer.jar 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /build/src/main/assembly/zip.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | zip 6 | 7 | zip 8 | 9 | 10 | 11 | src/izpack/install-options 12 | true 13 | 14 | 15 | ${project.build.directory}/${app.subpath}-${app.version}-standard.jar 16 | 17 | 18 | ../CTP/ISN-installer.jar 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docker-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | docker run -it --rm --name rsnaedge-build -v maven-repo:/root/.m2 -v "$(pwd)":/usr/src/rsnaedge -w /usr/src/rsnaedge maven /usr/src/rsnaedge/build.sh 4 | -------------------------------------------------------------------------------- /inits/opendj.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=OpenDJ 3 | 4 | 5 | [Service] 6 | User=rsna 7 | WorkingDirectory=/home/rsna/opendj 8 | ExecStart=/home/rsna/opendj/bin/start-ds -N 9 | 10 | [Install] 11 | WantedBy=multi-user.target 12 | -------------------------------------------------------------------------------- /inits/torquebox.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=TorqueBox 3 | 4 | 5 | [Service] 6 | User=rsna 7 | WorkingDirectory=/home/rsna/torquebox-3.1.2 8 | ExecStart=/home/rsna/torquebox-3.1.2/jboss/bin/standalone.sh -b 0.0.0.0 -Dhttp.port=3000 9 | 10 | [Install] 11 | WantedBy=multi-user.target 12 | -------------------------------------------------------------------------------- /monitor-scripts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/monitor-scripts/.gitkeep -------------------------------------------------------------------------------- /monitor-scripts/edgeserver_monitor.crontab: -------------------------------------------------------------------------------- 1 | # This is the crontab file used to setup the hourly running cron job - edgeserver_monitor.sh. 2 | # 3 | # Refer to the "Edge Server Installation Guide and Administration manual (version 3.2)" for details of how to setup the monitor script. 4 | 5 | # 6 | # Author: Xiaojiang Yang, Mayo Clinic Rochester 7 | # Date: Oct 6, 2013. Modified: Jan. 29, 2014. Modified: July 1, 2015. 8 | # 9 | SHELL=/bin/bash 10 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 11 | 0 0-23 * * * %{rsna.root}/monitor-scripts/edgeserver_monitor.sh 12 | 13 | -------------------------------------------------------------------------------- /monitor-scripts/readme.txt: -------------------------------------------------------------------------------- 1 | Please refer to the "Edge Server Installation Guide and Administration manual (version 3.2)" for details of how to setup the monitor script. 2 | 3 | -------------------------------------------------------------------------------- /openam-token-app-auth/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | org.rsna.isn 6 | openam-token-app-auth 7 | jar 8 | 1.0-SNAPSHOT 9 | 10 | 11 | 11.0.0 12 | UTF-8 13 | 14 | 15 | 16 | package 17 | 18 | 19 | 20 | 21 | rsna-isn-thirdparty 22 | RSNA ISN Thirdparty Repo 23 | https://raw.github.com/RSNA/isn-maven-repo/master/thirdparty/ 24 | 25 | false 26 | 27 | 28 | 29 | 30 | 31 | org.clojure 32 | clojure 33 | 1.6.0 34 | 35 | 36 | org.forgerock.openam 37 | openam-core 38 | ${openam.version} 39 | 40 | 41 | org.forgerock.openam 42 | openam-shared 43 | ${openam.version} 44 | 45 | 46 | javax.servlet 47 | servlet-api 48 | 2.5 49 | provided 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /openam-token-app-auth/src/main/resources/amAuthTokenAppAuth.properties: -------------------------------------------------------------------------------- 1 | tokenappauth-service-description=TokenApp Authentication Module 2 | a500=Authentication Level 3 | -------------------------------------------------------------------------------- /openam-token-app-auth/src/main/resources/amAuthTokenAppAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 13 | 14 | 18 | 19 | 0 20 | 21 | 22 | 23 | 24 | 28 | 29 | 0 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /openam-token-app-auth/src/main/resources/config/auth/default/TokenAppAuth.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | User Name: 9 | 10 | 11 | Password: 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/HL7Receiver.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/HL7Receiver.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/commons-cli-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/commons-cli-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/commons-lang-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/commons-lang-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/commons-logging-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/commons-logging-1.0.4.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/ebxmlrr-common.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/ebxmlrr-common.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-base-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-base-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-examples-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-examples-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v21-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v21-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v22-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v22-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v23-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v23-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v231-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v231-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v24-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v24-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v25-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v25-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v251-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v251-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v26-1.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/hapi-structures-v26-1.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/jboss-j2ee-4.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/jboss-j2ee-4.0.2.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/jdom-1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/jdom-1.1.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/junit-3.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/junit-3.7.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/log4j-1.2.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/log4j-1.2.9.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/postgresql-8.2dev-503.jdbc3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/postgresql-8.2dev-503.jdbc3.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/postgresql.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/postgresql.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/xalan-2.7.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/xalan-2.7.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/xds-common.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/xds-common.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/xdsLog.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/xdsLog.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/xercesImpl-2.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/xercesImpl-2.4.0.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/lib/xml-apis-1.0.b2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/HL7Receiver/lib/xml-apis-1.0.b2.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/HL7Receiver/log4j.properties: -------------------------------------------------------------------------------- 1 | # Logging Configuration 2 | 3 | # set root logger level to INFO and give it an appender 4 | log4j.rootLogger = INFO, RootAppender, stdout 5 | 6 | # hapi hl7 logging 7 | #log4j.logger.ca.uhn.hl7v2 = INFO, stdout 8 | 9 | # Console appender 10 | log4j.appender.stdout= org.apache.log4j.ConsoleAppender 11 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 12 | log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %p %c[%t] - %m%n 13 | 14 | # Rolling file appender 15 | log4j.appender.RootAppender = org.apache.log4j.DailyRollingFileAppender 16 | log4j.appender.RootAppender.layout = org.apache.log4j.PatternLayout 17 | log4j.appender.RootAppender.layout.ConversionPattern = %d{HH:mm:ss} %-5p [%c{1}] %m%n 18 | log4j.appender.RootAppender.File = logs/hl7Messages.log 19 | log4j.appender.RootAppender.DatePattern = '.'yyyy-MM-dd 20 | 21 | 22 | #-------------------------------- 23 | # set the starting logger levels 24 | #-------------------------------- 25 | log4j.logger.org = TRACE 26 | log4j.logger.org.hl7receiver = TRACE 27 | -------------------------------------------------------------------------------- /verif_valid/External-Tools/XDSbManager.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/XDSbManager.jar -------------------------------------------------------------------------------- /verif_valid/External-Tools/apache-tomcat-7.0.62.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/apache-tomcat-7.0.62.zip -------------------------------------------------------------------------------- /verif_valid/External-Tools/xdstools2.201a.war: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/External-Tools/xdstools2.201a.war -------------------------------------------------------------------------------- /verif_valid/config/xdstools/ExternalCache.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/config/xdstools/ExternalCache.zip -------------------------------------------------------------------------------- /verif_valid/data/1001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl -w 2 | 3 | use Env; 4 | use File::Copy; 5 | require mesa_msgs; 6 | 7 | 8 | @ files = ("1001_1", "1001_2"); 9 | foreach $f(@files) { 10 | print "$f\n"; 11 | 12 | mesa_msgs::create_text_file( 13 | "$f.var", # This is the output 14 | "ihe_sched.tpl", # Template for an O01 message 15 | "$f.txt"); # Input with order information 16 | mesa_msgs::create_hl7("$f"); 17 | print "$f ORM/ORU created\n"; 18 | } 19 | -------------------------------------------------------------------------------- /verif_valid/data/1001_1.var: -------------------------------------------------------------------------------- 1 | # 1001_1.var 2 | # Scheduling message 3 | # 4 | # MSH 5 | # 6 | $SENDING_APP$ = RSNA_OF 7 | $SENDING_FACILITY$ = XYZ_RADIOLOGY 8 | $RECEIVING_APP$ = RSNA_IM 9 | $RECEIVING_FACILITY$ = XYZ_IMAGE_MANAGER 10 | # 11 | $MESSAGE_CONTROL_ID$ = 1001001 12 | $CHARSET$ = #### 13 | # 14 | # PID 15 | # 16 | $PATIENT_ID$ = 74321^^^RSNA-Test 17 | $PATIENT_NAME$ = Clark^Wayne 18 | $DATE_TIME_BIRTH$ = 19801214 19 | $SEX$ = M 20 | $RACE$ = AP 21 | $PATIENT_ADDRESS$ = 22 | $PATIENT_ACCOUNT_NUM$ = 74321 23 | # 24 | # PV1 25 | $PATIENT_CLASS$ = E 26 | $PATIENT_LOCATION$ = #### 27 | $ATTENDING_DOCTOR$ = #### 28 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 29 | $HOSPITAL_SERVICE$ = #### 30 | $ADMITTING_DOCTOR$ = #### 31 | $VISIT_NUMBER$ = V74321-001^^^RSNA-Test 32 | $ADMIT_DATE_TIME$ = 201102011300 33 | $VISIT_INDICATOR$ = V 34 | # 35 | # ORC 36 | # 37 | $ORDER_CONTROL$ = NW 38 | $PLACER_ORDER_NUMBER$ = A1001.1Z^RSNA_ORDPLC 39 | $FILLER_ORDER_NUMBER$ = 1001.15Z^RSNA_ORDFIL 40 | $ORDER_STATUS$ = SC 41 | $QUANTITY_TIMING$ = 1^once^^^^S 42 | $DATE_TIME$ = 201102011510 43 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 44 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 45 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 46 | $ORDER_EFFECTIVE_DATE$ = 201102011510 47 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 48 | # 49 | # OBR 50 | # 51 | $SETID_OBR$ = 1 52 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 53 | $RELEVANT_CLINICAL_INFO$ = xxx 54 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 55 | $TRANSPORTATION_MODE$ = WALK 56 | $TRANSPORT_ARRANGED$ = A 57 | $DIAG_SERV_SECT$ = MR 58 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 59 | $ACCESSION_NUMBER$ = AA1001_1 60 | $REQUESTED_PROCEDURE_ID$ = RP1001_1 61 | $SCHEDULED_PROCEDURE_STEP_ID$ = SPS1001_1.1 62 | # 63 | # ZDS 64 | # 65 | $STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 66 | -------------------------------------------------------------------------------- /verif_valid/data/1001_2.var: -------------------------------------------------------------------------------- 1 | # 1001_1.var 2 | # Scheduling message 3 | # 4 | # MSH 5 | # 6 | $SENDING_APP$ = RSNA_OF 7 | $SENDING_FACILITY$ = XYZ_RADIOLOGY 8 | $RECEIVING_APP$ = RSNA_IM 9 | $RECEIVING_FACILITY$ = XYZ_IMAGE_MANAGER 10 | # 11 | $MESSAGE_CONTROL_ID$ = 1001001 12 | $CHARSET$ = #### 13 | # 14 | # PID 15 | # 16 | $PATIENT_ID$ = BC66321^^^RSNA-Test 17 | $PATIENT_NAME$ = Clark^William 18 | $DATE_TIME_BIRTH$ = 19801214 19 | $SEX$ = M 20 | $RACE$ = AP 21 | $PATIENT_ADDRESS$ = 22 | $PATIENT_ACCOUNT_NUM$ = BC66321 23 | # 24 | # PV1 25 | $PATIENT_CLASS$ = E 26 | $PATIENT_LOCATION$ = #### 27 | $ATTENDING_DOCTOR$ = #### 28 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 29 | $HOSPITAL_SERVICE$ = #### 30 | $ADMITTING_DOCTOR$ = #### 31 | $VISIT_NUMBER$ = V74321-001^^^RSNA-Test 32 | $ADMIT_DATE_TIME$ = 201102011300 33 | $VISIT_INDICATOR$ = V 34 | # 35 | # ORC 36 | # 37 | $ORDER_CONTROL$ = NW 38 | $PLACER_ORDER_NUMBER$ = A1001.1Z^RSNA_ORDPLC 39 | $FILLER_ORDER_NUMBER$ = 1001.15Z^RSNA_ORDFIL 40 | $ORDER_STATUS$ = SC 41 | $QUANTITY_TIMING$ = 1^once^^^^S 42 | $DATE_TIME$ = 201102011510 43 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 44 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 45 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 46 | $ORDER_EFFECTIVE_DATE$ = 201102011510 47 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 48 | # 49 | # OBR 50 | # 51 | $SETID_OBR$ = 1 52 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 53 | $RELEVANT_CLINICAL_INFO$ = xxx 54 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 55 | $TRANSPORTATION_MODE$ = WALK 56 | $TRANSPORT_ARRANGED$ = A 57 | $DIAG_SERV_SECT$ = MR 58 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 59 | $ACCESSION_NUMBER$ = AA1001_1 60 | $REQUESTED_PROCEDURE_ID$ = RP1001_1 61 | $SCHEDULED_PROCEDURE_STEP_ID$ = SPS1001_1.1 62 | # 63 | # ZDS 64 | # 65 | $STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 66 | -------------------------------------------------------------------------------- /verif_valid/data/1002_1.var: -------------------------------------------------------------------------------- 1 | # 1002_1.var 2 | # These are variables used for test 1002, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # No demographics are included as they will be generated 5 | # at runtime. 6 | # 7 | # MSH 8 | # 9 | $SENDING_APP$ = VALIDATION 10 | $SENDING_FACILITY$ = RSNA 11 | $RECEIVING_APP$ = EDGE-DEVICE 12 | $RECEIVING_FACILITY$ = FACILITY 13 | # 14 | $MESSAGE_CONTROL_ID$ = 1002001 15 | $CHARSET$ = #### 16 | # 17 | # PID 18 | # 19 | #$PATIENT_ID$ = 74321^^^RSNA-Test 20 | #$PATIENT_NAME$ = Clark^Wayne 21 | #$DATE_TIME_BIRTH$ = 19801214 22 | #$SEX$ = M 23 | #$RACE$ = AP 24 | #$PATIENT_ADDRESS$ = 25 | #$PATIENT_ACCOUNT_NUM$ = 74321 26 | # 27 | # PV1 28 | $PATIENT_CLASS$ = O 29 | $PATIENT_LOCATION$ = #### 30 | $ATTENDING_DOCTOR$ = #### 31 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 32 | $HOSPITAL_SERVICE$ = #### 33 | $ADMITTING_DOCTOR$ = #### 34 | #$VISIT_NUMBER$ = V74321-001^^^RSNA-Test 35 | $ADMIT_DATE_TIME$ = 201102011300 36 | $VISIT_INDICATOR$ = V 37 | # 38 | # ORC 39 | # 40 | $ORDER_CONTROL$ = NW 41 | #$PLACER_ORDER_NUMBER$ = A1001.1Z^RSNA_ORDPLC 42 | #$FILLER_ORDER_NUMBER$ = 1001.15Z^RSNA_ORDFIL 43 | $ORDER_STATUS$ = SC 44 | $QUANTITY_TIMING$ = 1^once^^^^S 45 | #$DATE_TIME$ = 201102011510 46 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 47 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 48 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 49 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 50 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 51 | # 52 | # OBR 53 | # 54 | $SETID_OBR$ = 1 55 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 56 | $RELEVANT_CLINICAL_INFO$ = xxx 57 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 58 | $TRANSPORTATION_MODE$ = WALK 59 | $TRANSPORT_ARRANGED$ = A 60 | $DIAG_SERV_SECT$ = MR 61 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 62 | #$ACCESSION_NUMBER$ = AA1001_1 63 | #$REQUESTED_PROCEDURE_ID$ = RP1001_1 64 | #$SCHEDULED_PROCEDURE_STEP_ID$ = SPS1001_1.1 65 | # 66 | # ZDS 67 | # 68 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 69 | -------------------------------------------------------------------------------- /verif_valid/data/105.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl -w 2 | 3 | use Env; 4 | use File::Copy; 5 | use lib "../../common"; 6 | require mesa_msgs; 7 | 8 | # Generate HL7 scheduling messages for Case 105 9 | 10 | if (scalar(@ARGV) == 0) { 11 | copy("105.118.o01.var", "105.118.o01.xxx"); 12 | } else { 13 | } 14 | 15 | mesa_msgs::create_text_file_2_var_files( 16 | "105.118.o01.txt", # This is the output 17 | "../templates/o01.tpl", # Template for an O01 message 18 | "../../adt/105/doe.txt", # Demographics, PV1 information 19 | "105.118.o01.xxx"); # Input with order information 20 | mesa_msgs::create_hl7("105.118.o01"); 21 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/configurations.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.configurations" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------- 4 | key | character varying | not null 5 | value | character varying | not null 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_key" PRIMARY KEY, btree (key) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/devices.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.devices" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+------------------------------------------------------------- 4 | device_id | integer | not null default nextval('devices_device_id_seq'::regclass) 5 | ae_title | character varying(256) | not null 6 | host | character varying(256) | not null 7 | port_number | character varying(10) | not null 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_device_id" PRIMARY KEY, btree (device_id) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/exams.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.exams" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+--------------------------------------------------------- 4 | exam_id | integer | not null default nextval('exams_exam_id_seq'::regclass) 5 | accession_number | character varying(50) | not null 6 | patient_id | integer | not null 7 | exam_description | character varying(256) | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_exam_id" PRIMARY KEY, btree (exam_id) 11 | "uq_exam" UNIQUE, btree (accession_number, patient_id) 12 | "exams_accession_number_idx" btree (accession_number) 13 | Foreign-key constraints: 14 | "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 15 | Referenced by: 16 | TABLE "jobs" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 17 | TABLE "studies" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 18 | TABLE "reports" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/hipaa_audit_accession_numbers.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_accession_numbers" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+---------------------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_accession_numbers_id_seq'::regclass) 5 | view_id | integer | 6 | accession_number | character varying(100) | 7 | modified_date | timestamp with time zone | default now() 8 | Indexes: 9 | "pk_hipaa_audit_accession_number_id" PRIMARY KEY, btree (id) 10 | 11 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/hipaa_audit_mrns.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_mrns" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_mrns_id_seq'::regclass) 5 | view_id | integer | 6 | mrn | character varying(100) | 7 | modified_date | timestamp with time zone | default now() 8 | Indexes: 9 | "pk_hipaa_audit_mrn_id" PRIMARY KEY, btree (id) 10 | 11 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/hipaa_audit_views.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_views" 2 | Column | Type | Modifiers 3 | ---------------------+--------------------------+---------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_views_id_seq'::regclass) 5 | requesting_ip | character varying(15) | 6 | requesting_username | character varying(100) | 7 | requesting_uri | text | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_hipaa_audit_view_id" PRIMARY KEY, btree (id) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/job_sets.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.job_sets" 2 | Column | Type | Modifiers 3 | -----------------------+--------------------------+--------------------------------------------------------------- 4 | job_set_id | integer | not null default nextval('job_sets_job_set_id_seq'::regclass) 5 | patient_id | integer | not null 6 | user_id | integer | not null 7 | email_address | character varying(255) | 8 | modified_date | timestamp with time zone | default now() 9 | delay_in_hrs | integer | default 72 10 | single_use_patient_id | character varying(64) | not null 11 | Indexes: 12 | "pk_job_set_id" PRIMARY KEY, btree (job_set_id) 13 | "uq_single_use_patient_id" UNIQUE, btree (single_use_patient_id) 14 | Foreign-key constraints: 15 | "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 16 | "fk_user_id" FOREIGN KEY (user_id) REFERENCES users(user_id) 17 | Referenced by: 18 | TABLE "jobs" CONSTRAINT "fk_job_set_id" FOREIGN KEY (job_set_id) REFERENCES job_sets(job_set_id) 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/jobs.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.jobs" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+------------------------------------------------------- 4 | job_id | integer | not null default nextval('jobs_job_id_seq'::regclass) 5 | job_set_id | integer | not null 6 | exam_id | integer | not null 7 | report_id | integer | 8 | document_id | character varying(100) | 9 | modified_date | timestamp with time zone | default now() 10 | Indexes: 11 | "pk_job_id" PRIMARY KEY, btree (job_id) 12 | Foreign-key constraints: 13 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 14 | "fk_job_set_id" FOREIGN KEY (job_set_id) REFERENCES job_sets(job_set_id) 15 | "fk_report_id" FOREIGN KEY (report_id) REFERENCES reports(report_id) 16 | Referenced by: 17 | TABLE "transactions" CONSTRAINT "fk_job_id" FOREIGN KEY (job_id) REFERENCES jobs(job_id) 18 | 19 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/patient_merge_events.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.patient_merge_events" 2 | Column | Type | Modifiers 3 | ----------------+--------------------------+------------------------------------------------------------------------- 4 | event_id | integer | not null default nextval('patient_merge_events_event_id_seq'::regclass) 5 | old_mrn | character varying(50) | not null 6 | new_mrn | character varying(50) | not null 7 | old_patient_id | integer | not null 8 | new_patient_id | integer | not null 9 | status | integer | not null default 0 10 | modified_date | timestamp with time zone | default now() 11 | Indexes: 12 | "pk_event_id" PRIMARY KEY, btree (event_id) 13 | 14 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/patients.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.patients" 2 | Column | Type | Modifiers 3 | -------------------+--------------------------+--------------------------------------------------------------- 4 | patient_id | integer | not null default nextval('patients_patient_id_seq'::regclass) 5 | mrn | character varying(50) | not null 6 | patient_name | character varying | 7 | dob | date | 8 | sex | character(1) | 9 | street | character varying | 10 | city | character varying(50) | 11 | state | character varying(30) | 12 | zip_code | character varying(30) | 13 | modified_date | timestamp with time zone | default now() 14 | consent_timestamp | timestamp with time zone | 15 | Indexes: 16 | "pk_patient_id" PRIMARY KEY, btree (patient_id) 17 | "patients_dob_idx" btree (dob) 18 | "patients_mrn_idx" btree (mrn) 19 | "patients_patient_name_idx" btree (patient_name) 20 | Referenced by: 21 | TABLE "job_sets" CONSTRAINT "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 22 | TABLE "exams" CONSTRAINT "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 23 | 24 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/reports.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.reports" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+------------------------------------------------------------- 4 | report_id | integer | not null default nextval('reports_report_id_seq'::regclass) 5 | exam_id | integer | not null 6 | proc_code | character varying | 7 | status | character varying | not null 8 | status_timestamp | timestamp with time zone | not null 9 | report_text | text | 10 | signer | character varying | 11 | dictator | character varying | 12 | transcriber | character varying | 13 | modified_date | timestamp with time zone | default now() 14 | Indexes: 15 | "pk_report_id" PRIMARY KEY, btree (report_id) 16 | "reports_unique_status_idx" UNIQUE, btree (exam_id, status, status_timestamp) 17 | "reports_status_timestamp_idx" btree (status_timestamp) 18 | Foreign-key constraints: 19 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 20 | Referenced by: 21 | TABLE "jobs" CONSTRAINT "fk_report_id" FOREIGN KEY (report_id) REFERENCES reports(report_id) 22 | 23 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/roles.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.roles" 2 | Column | Type | Modifiers 3 | ------------------+-----------------------+--------------- 4 | role_id | integer | not null 5 | role_description | character varying(50) | not null 6 | modified_date | time with time zone | default now() 7 | Indexes: 8 | "pk_role_id" PRIMARY KEY, btree (role_id) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/schema_version.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.schema_version" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+------------------------------------------------------------- 4 | id | integer | not null default nextval('schema_version_id_seq'::regclass) 5 | version | character varying | 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_id" PRIMARY KEY, btree (id) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/status_codes.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.status_codes" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------- 4 | status_code | integer | not null 5 | description | character varying(255) | 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_status_code" PRIMARY KEY, btree (status_code) 9 | Referenced by: 10 | TABLE "transactions" CONSTRAINT "fk_status_code" FOREIGN KEY (status_code) REFERENCES status_codes(status_code) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/studies.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.studies" 2 | Column | Type | Modifiers 3 | -------------------+-----------------------------+------------------------------------------------------------ 4 | study_id | integer | not null default nextval('studies_study_id_seq'::regclass) 5 | study_uid | character varying(255) | not null 6 | exam_id | integer | not null 7 | study_description | character varying(255) | 8 | study_date | timestamp without time zone | 9 | modified_date | timestamp with time zone | default now() 10 | Indexes: 11 | "pk_study_id" PRIMARY KEY, btree (study_id) 12 | Foreign-key constraints: 13 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/transactions.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.transactions" 2 | Column | Type | Modifiers 3 | ----------------+--------------------------+----------------------------------------------------------------------- 4 | transaction_id | integer | not null default nextval('transactions_transaction_id_seq'::regclass) 5 | job_id | integer | not null 6 | status_code | integer | not null 7 | comments | character varying | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_transaction_id" PRIMARY KEY, btree (transaction_id) 11 | Foreign-key constraints: 12 | "fk_job_id" FOREIGN KEY (job_id) REFERENCES jobs(job_id) 13 | "fk_status_code" FOREIGN KEY (status_code) REFERENCES status_codes(status_code) 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/users.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.users" 2 | Column | Type | Modifiers 3 | ---------------------------+--------------------------+--------------------------------------------------------- 4 | user_id | integer | not null default nextval('users_user_id_seq'::regclass) 5 | user_login | character varying(40) | default NULL::character varying 6 | user_name | character varying(100) | default ''::character varying 7 | email | character varying(100) | default NULL::character varying 8 | crypted_password | character varying(40) | default NULL::character varying 9 | salt | character varying(40) | default NULL::character varying 10 | created_at | timestamp with time zone | 11 | updated_at | timestamp with time zone | 12 | remember_token | character varying(40) | default NULL::character varying 13 | remember_token_expires_at | timestamp with time zone | 14 | role_id | integer | not null 15 | modified_date | timestamp with time zone | default now() 16 | active | boolean | default true 17 | Indexes: 18 | "pk_user_id" PRIMARY KEY, btree (user_id) 19 | "uq_login" UNIQUE, btree (user_login) 20 | Referenced by: 21 | TABLE "job_sets" CONSTRAINT "fk_user_id" FOREIGN KEY (user_id) REFERENCES users(user_id) 22 | 23 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/v_exam_status.schema.txt: -------------------------------------------------------------------------------- 1 | View "public.v_exam_status" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+----------- 4 | patient_id | integer | 5 | mrn | character varying(50) | 6 | patient_name | character varying | 7 | dob | date | 8 | sex | character(1) | 9 | street | character varying | 10 | city | character varying(50) | 11 | state | character varying(30) | 12 | zip_code | character varying(30) | 13 | exam_id | integer | 14 | accession_number | character varying(50) | 15 | exam_description | character varying(256) | 16 | report_id | integer | 17 | status | character varying | 18 | status_timestamp | timestamp with time zone | 19 | report_text | text | 20 | dictator | character varying | 21 | transcriber | character varying | 22 | signer | character varying | 23 | View definition: 24 | SELECT p.patient_id, p.mrn, p.patient_name, p.dob, p.sex, p.street, p.city, p.state, p.zip_code, e.exam_id, e.accession_number, e.exam_description, r.report_id, r.status, r.status_timestamp, r.report_text, r.dictator, r.transcriber, r.signer 25 | FROM patients p 26 | JOIN exams e ON p.patient_id = e.patient_id 27 | JOIN ( SELECT r1.report_id, r1.exam_id, r1.proc_code, r1.status, r1.status_timestamp, r1.report_text, r1.signer, r1.dictator, r1.transcriber, r1.modified_date 28 | FROM reports r1 29 | WHERE r1.report_id = (( SELECT r2.report_id 30 | FROM reports r2 31 | WHERE r2.exam_id = r1.exam_id 32 | ORDER BY r2.status_timestamp DESC, r2.modified_date DESC 33 | LIMIT 1))) r ON e.exam_id = r.exam_id; 34 | 35 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/2.1_schema/v_job_status.schema.txt: -------------------------------------------------------------------------------- 1 | View "public.v_job_status" 2 | Column | Type | Modifiers 3 | ----------------------------+--------------------------+----------- 4 | job_id | integer | 5 | exam_id | integer | 6 | delay_in_hrs | integer | 7 | status | integer | 8 | status_message | character varying(255) | 9 | last_transaction_timestamp | timestamp with time zone | 10 | single_use_patient_id | character varying(64) | 11 | comments | character varying | 12 | View definition: 13 | SELECT j.job_id, j.exam_id, js.delay_in_hrs, t.status, t.status_message, t.modified_date AS last_transaction_timestamp, js.single_use_patient_id, t.comments 14 | FROM jobs j 15 | JOIN job_sets js ON j.job_set_id = js.job_set_id 16 | JOIN ( SELECT t1.job_id, t1.status_code AS status, sc.description AS status_message, t1.comments, t1.modified_date 17 | FROM transactions t1 18 | JOIN status_codes sc ON t1.status_code = sc.status_code 19 | WHERE t1.modified_date = (( SELECT max(t2.modified_date) AS max 20 | FROM transactions t2 21 | WHERE t2.job_id = t1.job_id))) t ON j.job_id = t.job_id; 22 | 23 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/3.1_schema/README.txt: -------------------------------------------------------------------------------- 1 | Folder contains output when dumping the 3.1 schema. 2 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/configurations.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.configurations" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------- 4 | key | character varying | not null 5 | value | character varying | not null 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_key" PRIMARY KEY, btree (key) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/devices.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.devices" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+------------------------------------------------------------- 4 | device_id | integer | not null default nextval('devices_device_id_seq'::regclass) 5 | ae_title | character varying(256) | not null 6 | host | character varying(256) | not null 7 | port_number | character varying(10) | not null 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_device_id" PRIMARY KEY, btree (device_id) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/devices_device_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.devices_device_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+----------------------- 4 | sequence_name | name | devices_device_id_seq 5 | last_value | bigint | 1 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/exams.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.exams" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+--------------------------------------------------------- 4 | exam_id | integer | not null default nextval('exams_exam_id_seq'::regclass) 5 | accession_number | character varying(50) | not null 6 | patient_id | integer | not null 7 | exam_description | character varying(256) | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_exam_id" PRIMARY KEY, btree (exam_id) 11 | "uq_exam" UNIQUE, btree (accession_number, patient_id) 12 | "exams_accession_number_idx" btree (accession_number) 13 | Foreign-key constraints: 14 | "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 15 | Referenced by: 16 | TABLE "jobs" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 17 | TABLE "studies" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 18 | TABLE "reports" CONSTRAINT "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/exams_exam_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.exams_exam_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+--------------------- 4 | sequence_name | name | exams_exam_id_seq 5 | last_value | bigint | 101 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_accession_numbers.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_accession_numbers" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+---------------------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_accession_numbers_id_seq'::regclass) 5 | view_id | integer | 6 | accession_number | character varying(100) | 7 | modified_date | timestamp with time zone | default now() 8 | Indexes: 9 | "pk_hipaa_audit_accession_number_id" PRIMARY KEY, btree (id) 10 | 11 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_accession_numbers_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.hipaa_audit_accession_numbers_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+-------------------------------------- 4 | sequence_name | name | hipaa_audit_accession_numbers_id_seq 5 | last_value | bigint | 388 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_mrns.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_mrns" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_mrns_id_seq'::regclass) 5 | view_id | integer | 6 | mrn | character varying(100) | 7 | modified_date | timestamp with time zone | default now() 8 | Indexes: 9 | "pk_hipaa_audit_mrn_id" PRIMARY KEY, btree (id) 10 | 11 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_mrns_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.hipaa_audit_mrns_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+------------------------- 4 | sequence_name | name | hipaa_audit_mrns_id_seq 5 | last_value | bigint | 2220 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_views.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.hipaa_audit_views" 2 | Column | Type | Modifiers 3 | ---------------------+--------------------------+---------------------------------------------------------------- 4 | id | integer | not null default nextval('hipaa_audit_views_id_seq'::regclass) 5 | requesting_ip | character varying(15) | 6 | requesting_username | character varying(100) | 7 | requesting_uri | text | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_hipaa_audit_view_id" PRIMARY KEY, btree (id) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/hipaa_audit_views_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.hipaa_audit_views_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+-------------------------- 4 | sequence_name | name | hipaa_audit_views_id_seq 5 | last_value | bigint | 1672 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 31 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/job_sets.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.job_sets" 2 | Column | Type | Modifiers 3 | -----------------------+--------------------------+--------------------------------------------------------------- 4 | job_set_id | integer | not null default nextval('job_sets_job_set_id_seq'::regclass) 5 | patient_id | integer | not null 6 | user_id | integer | not null 7 | email_address | character varying(255) | 8 | modified_date | timestamp with time zone | default now() 9 | delay_in_hrs | integer | default 72 10 | single_use_patient_id | character varying(64) | not null 11 | send_on_complete | boolean | not null default false 12 | Indexes: 13 | "pk_job_set_id" PRIMARY KEY, btree (job_set_id) 14 | Foreign-key constraints: 15 | "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 16 | "fk_user_id" FOREIGN KEY (user_id) REFERENCES users(user_id) 17 | Referenced by: 18 | TABLE "jobs" CONSTRAINT "fk_job_set_id" FOREIGN KEY (job_set_id) REFERENCES job_sets(job_set_id) 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/job_sets_job_set_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.job_sets_job_set_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+------------------------- 4 | sequence_name | name | job_sets_job_set_id_seq 5 | last_value | bigint | 112 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/jobs.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.jobs" 2 | Column | Type | Modifiers 3 | -------------------+--------------------------+------------------------------------------------------- 4 | job_id | integer | not null default nextval('jobs_job_id_seq'::regclass) 5 | job_set_id | integer | not null 6 | exam_id | integer | not null 7 | report_id | integer | 8 | document_id | character varying(100) | 9 | remaining_retries | integer | not null 10 | modified_date | timestamp with time zone | default now() 11 | Indexes: 12 | "pk_job_id" PRIMARY KEY, btree (job_id) 13 | Foreign-key constraints: 14 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 15 | "fk_job_set_id" FOREIGN KEY (job_set_id) REFERENCES job_sets(job_set_id) 16 | "fk_report_id" FOREIGN KEY (report_id) REFERENCES reports(report_id) 17 | Referenced by: 18 | TABLE "transactions" CONSTRAINT "fk_job_id" FOREIGN KEY (job_id) REFERENCES jobs(job_id) 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/jobs_job_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.jobs_job_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+--------------------- 4 | sequence_name | name | jobs_job_id_seq 5 | last_value | bigint | 114 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/patient_merge_events.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.patient_merge_events" 2 | Column | Type | Modifiers 3 | ----------------+--------------------------+------------------------------------------------------------------------- 4 | event_id | integer | not null default nextval('patient_merge_events_event_id_seq'::regclass) 5 | old_mrn | character varying(50) | not null 6 | new_mrn | character varying(50) | not null 7 | old_patient_id | integer | not null 8 | new_patient_id | integer | not null 9 | status | integer | not null default 0 10 | modified_date | timestamp with time zone | default now() 11 | Indexes: 12 | "pk_event_id" PRIMARY KEY, btree (event_id) 13 | 14 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/patient_merge_events_event_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.patient_merge_events_event_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+----------------------------------- 4 | sequence_name | name | patient_merge_events_event_id_seq 5 | last_value | bigint | 1 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 1 12 | is_cycled | boolean | f 13 | is_called | boolean | f 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/patients.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.patients" 2 | Column | Type | Modifiers 3 | -------------------+--------------------------+--------------------------------------------------------------- 4 | patient_id | integer | not null default nextval('patients_patient_id_seq'::regclass) 5 | mrn | character varying(50) | not null 6 | patient_name | character varying | 7 | dob | date | 8 | sex | character(1) | 9 | street | character varying | 10 | city | character varying(50) | 11 | state | character varying(30) | 12 | zip_code | character varying(30) | 13 | email_address | character varying(255) | 14 | rsna_id | character varying(64) | 15 | modified_date | timestamp with time zone | default now() 16 | consent_timestamp | timestamp with time zone | 17 | Indexes: 18 | "pk_patient_id" PRIMARY KEY, btree (patient_id) 19 | "patients_dob_idx" btree (dob) 20 | "patients_mrn_idx" btree (mrn) 21 | "patients_patient_name_idx" btree (patient_name) 22 | Referenced by: 23 | TABLE "job_sets" CONSTRAINT "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 24 | TABLE "exams" CONSTRAINT "fk_patient_id" FOREIGN KEY (patient_id) REFERENCES patients(patient_id) 25 | 26 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/patients_patient_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.patients_patient_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+------------------------- 4 | sequence_name | name | patients_patient_id_seq 5 | last_value | bigint | 90 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/reports.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.reports" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+------------------------------------------------------------- 4 | report_id | integer | not null default nextval('reports_report_id_seq'::regclass) 5 | exam_id | integer | not null 6 | proc_code | character varying | 7 | status | character varying | not null 8 | status_timestamp | timestamp with time zone | not null 9 | report_text | text | 10 | signer | character varying | 11 | dictator | character varying | 12 | transcriber | character varying | 13 | modified_date | timestamp with time zone | default now() 14 | Indexes: 15 | "pk_report_id" PRIMARY KEY, btree (report_id) 16 | "reports_unique_status_idx" UNIQUE, btree (exam_id, status, status_timestamp) 17 | "reports_status_timestamp_idx" btree (status_timestamp) 18 | Foreign-key constraints: 19 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 20 | Referenced by: 21 | TABLE "jobs" CONSTRAINT "fk_report_id" FOREIGN KEY (report_id) REFERENCES reports(report_id) 22 | 23 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/reports_report_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.reports_report_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+----------------------- 4 | sequence_name | name | reports_report_id_seq 5 | last_value | bigint | 186 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/roles.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.roles" 2 | Column | Type | Modifiers 3 | ------------------+-----------------------+--------------- 4 | role_id | integer | not null 5 | role_description | character varying(50) | not null 6 | modified_date | time with time zone | default now() 7 | Indexes: 8 | "pk_role_id" PRIMARY KEY, btree (role_id) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/schema_version.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.schema_version" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+------------------------------------------------------------- 4 | id | integer | not null default nextval('schema_version_id_seq'::regclass) 5 | version | character varying | 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_id" PRIMARY KEY, btree (id) 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/schema_version_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.schema_version_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+----------------------- 4 | sequence_name | name | schema_version_id_seq 5 | last_value | bigint | 1 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 1 12 | is_cycled | boolean | f 13 | is_called | boolean | f 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/status_codes.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.status_codes" 2 | Column | Type | Modifiers 3 | ---------------+--------------------------+--------------- 4 | status_code | integer | not null 5 | description | character varying(255) | 6 | modified_date | timestamp with time zone | default now() 7 | Indexes: 8 | "pk_status_code" PRIMARY KEY, btree (status_code) 9 | Referenced by: 10 | TABLE "transactions" CONSTRAINT "fk_status_code" FOREIGN KEY (status_code) REFERENCES status_codes(status_code) 11 | 12 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/studies.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.studies" 2 | Column | Type | Modifiers 3 | -------------------+-----------------------------+------------------------------------------------------------ 4 | study_id | integer | not null default nextval('studies_study_id_seq'::regclass) 5 | study_uid | character varying(255) | not null 6 | exam_id | integer | not null 7 | study_description | character varying(255) | 8 | study_date | timestamp without time zone | 9 | modified_date | timestamp with time zone | default now() 10 | Indexes: 11 | "pk_study_id" PRIMARY KEY, btree (study_id) 12 | Foreign-key constraints: 13 | "fk_exam_id" FOREIGN KEY (exam_id) REFERENCES exams(exam_id) 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/studies_study_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.studies_study_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+---------------------- 4 | sequence_name | name | studies_study_id_seq 5 | last_value | bigint | 236 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/transactions.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.transactions" 2 | Column | Type | Modifiers 3 | ----------------+--------------------------+----------------------------------------------------------------------- 4 | transaction_id | integer | not null default nextval('transactions_transaction_id_seq'::regclass) 5 | job_id | integer | not null 6 | status_code | integer | not null 7 | comments | character varying | 8 | modified_date | timestamp with time zone | default now() 9 | Indexes: 10 | "pk_transaction_id" PRIMARY KEY, btree (transaction_id) 11 | Foreign-key constraints: 12 | "fk_job_id" FOREIGN KEY (job_id) REFERENCES jobs(job_id) 13 | "fk_status_code" FOREIGN KEY (status_code) REFERENCES status_codes(status_code) 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/transactions_transaction_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.transactions_transaction_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+--------------------------------- 4 | sequence_name | name | transactions_transaction_id_seq 5 | last_value | bigint | 16078 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 0 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/users.schema.txt: -------------------------------------------------------------------------------- 1 | Table "public.users" 2 | Column | Type | Modifiers 3 | ---------------------------+--------------------------+--------------------------------------------------------- 4 | user_id | integer | not null default nextval('users_user_id_seq'::regclass) 5 | user_login | character varying(40) | default NULL::character varying 6 | user_name | character varying(100) | default ''::character varying 7 | email | character varying(100) | default NULL::character varying 8 | crypted_password | character varying(40) | default NULL::character varying 9 | salt | character varying(40) | default NULL::character varying 10 | created_at | timestamp with time zone | 11 | updated_at | timestamp with time zone | 12 | remember_token | character varying(40) | default NULL::character varying 13 | remember_token_expires_at | timestamp with time zone | 14 | role_id | integer | not null 15 | modified_date | timestamp with time zone | default now() 16 | active | boolean | default true 17 | Indexes: 18 | "pk_user_id" PRIMARY KEY, btree (user_id) 19 | "uq_login" UNIQUE, btree (user_login) 20 | Referenced by: 21 | TABLE "job_sets" CONSTRAINT "fk_user_id" FOREIGN KEY (user_id) REFERENCES users(user_id) 22 | 23 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/users_user_id_seq.schema.txt: -------------------------------------------------------------------------------- 1 | Sequence "public.users_user_id_seq" 2 | Column | Type | Value 3 | ---------------+---------+--------------------- 4 | sequence_name | name | users_user_id_seq 5 | last_value | bigint | 14 6 | start_value | bigint | 1 7 | increment_by | bigint | 1 8 | max_value | bigint | 9223372036854775807 9 | min_value | bigint | 1 10 | cache_value | bigint | 1 11 | log_cnt | bigint | 32 12 | is_cycled | boolean | f 13 | is_called | boolean | t 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/v_exam_status.schema.txt: -------------------------------------------------------------------------------- 1 | View "public.v_exam_status" 2 | Column | Type | Modifiers 3 | ------------------+--------------------------+----------- 4 | patient_id | integer | 5 | mrn | character varying(50) | 6 | patient_name | character varying | 7 | dob | date | 8 | sex | character(1) | 9 | street | character varying | 10 | city | character varying(50) | 11 | state | character varying(30) | 12 | zip_code | character varying(30) | 13 | exam_id | integer | 14 | accession_number | character varying(50) | 15 | exam_description | character varying(256) | 16 | report_id | integer | 17 | status | character varying | 18 | status_timestamp | timestamp with time zone | 19 | report_text | text | 20 | dictator | character varying | 21 | transcriber | character varying | 22 | signer | character varying | 23 | View definition: 24 | SELECT p.patient_id, p.mrn, p.patient_name, p.dob, p.sex, p.street, p.city, p.state, p.zip_code, e.exam_id, e.accession_number, e.exam_description, r.report_id, r.status, r.status_timestamp, r.report_text, r.dictator, r.transcriber, r.signer 25 | FROM patients p 26 | JOIN exams e ON p.patient_id = e.patient_id 27 | JOIN ( SELECT r1.report_id, r1.exam_id, r1.proc_code, r1.status, r1.status_timestamp, r1.report_text, r1.signer, r1.dictator, r1.transcriber, r1.modified_date 28 | FROM reports r1 29 | WHERE r1.report_id = (( SELECT r2.report_id 30 | FROM reports r2 31 | WHERE r2.exam_id = r1.exam_id 32 | ORDER BY r2.status_timestamp DESC, r2.modified_date DESC 33 | LIMIT 1))) r ON e.exam_id = r.exam_id; 34 | 35 | -------------------------------------------------------------------------------- /verif_valid/data/A-2001/A-2001-09/3.1_schema/v_job_status.schema.txt: -------------------------------------------------------------------------------- 1 | View "public.v_job_status" 2 | Column | Type | Modifiers 3 | ----------------------------+--------------------------+----------- 4 | job_set_id | integer | 5 | job_id | integer | 6 | exam_id | integer | 7 | delay_in_hrs | integer | 8 | status | integer | 9 | status_message | character varying(255) | 10 | last_transaction_timestamp | timestamp with time zone | 11 | single_use_patient_id | character varying(64) | 12 | comments | character varying | 13 | send_on_complete | boolean | 14 | remaining_retries | integer | 15 | View definition: 16 | SELECT js.job_set_id, j.job_id, j.exam_id, js.delay_in_hrs, t.status, t.status_message, t.modified_date AS last_transaction_timestamp, js.single_use_patient_id, t.comments, js.send_on_complete, j.remaining_retries 17 | FROM jobs j 18 | JOIN job_sets js ON j.job_set_id = js.job_set_id 19 | JOIN ( SELECT t1.job_id, t1.status_code AS status, sc.description AS status_message, t1.comments, t1.modified_date 20 | FROM transactions t1 21 | JOIN status_codes sc ON t1.status_code = sc.status_code 22 | WHERE t1.modified_date = (( SELECT max(t2.modified_date) AS max 23 | FROM transactions t2 24 | WHERE t2.job_id = t1.job_id))) t ON j.job_id = t.job_id; 25 | 26 | -------------------------------------------------------------------------------- /verif_valid/data/A-3001/A-3001-01.var: -------------------------------------------------------------------------------- 1 | # A-3001-01.var 2 | # These are variables used for test A-3001-01, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = 1002001 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-3001-01^^^RSNA-Test 18 | $PATIENT_NAME$ = Clark^Wayne 19 | $DATE_TIME_BIRTH$ = 19801214 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 23 | $PATIENT_ACCOUNT_NUM$ = A-3001-01-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-3001-01-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-3001-01P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-3001-01F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-3001-01-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-3001-01-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-3001-01-SPS 63 | $UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-3001/A-3001-02.var: -------------------------------------------------------------------------------- 1 | # A-3001-02.var 2 | # These are variables used for test A-3001-02, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A300102 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-3001-02^^^RSNA-Test 18 | $PATIENT_NAME$ = Clark^Wilma 19 | $DATE_TIME_BIRTH$ = 19801216 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 23 | $PATIENT_ACCOUNT_NUM$ = A-3001-02-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-3001-02-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-3001-02P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-3001-02F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-3001-02-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-3001-02-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-3001-02-SPS 63 | $UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-3001/A-3001-03.var: -------------------------------------------------------------------------------- 1 | # A-3001-03.var 2 | # These are variables used for test A-3001-03, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A300103 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = Wrong-ID^^^WrongAssigningAuthority~A-3001-03^^^RSNA-Test 18 | $PATIENT_NAME$ = Clark^Ward 19 | $DATE_TIME_BIRTH$ = 19851105 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 23 | $PATIENT_ACCOUNT_NUM$ = A-3001-03-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-3001-03-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-3001-03P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-3001-03F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-3001-03-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-3001-03-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-3001-03-SPS 63 | $UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-3001/A-3001-04.var: -------------------------------------------------------------------------------- 1 | # A-3001-04.var 2 | # These are variables used for test A-3001-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A300103 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-3001-04^^^RSNA-Test 18 | $PATIENT_NAME$ = Clark^Wanda 19 | $DATE_TIME_BIRTH$ = 19721012 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 23 | $PATIENT_ACCOUNT_NUM$ = A-3001-04-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-3001-04-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-3001-04P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-3001-04F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-3001-04-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-3001-04-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-3001-04-SPS 63 | $UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-3001/A-3001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl -w 2 | 3 | use Env; 4 | use File::Copy; 5 | use lib ".."; 6 | use lib "../../scripts"; 7 | require mesa_msgs; 8 | require image_sharing; 9 | 10 | sub fill_variables { 11 | my $path = shift; 12 | 13 | open F, ">$path" or die "Could not open $f for append"; 14 | 15 | my $dt = image_sharing::generate_date_time(); 16 | 17 | print F "\$DATE_TIME\$ = $dt\n"; 18 | print F "\$ORDER_EFFECTIVE_DATE\$ = $dt\n"; 19 | 20 | close F; 21 | } 22 | 23 | my $verbose = 0; 24 | $verbose = 1 if (scalar(@ARGV) > 0); 25 | # First, create all scheduling ORM messages 26 | @ files = ("A-3001-01", "A-3001-02", "A-3001-03", "A-3001-04"); 27 | foreach $f(@files) { 28 | print "$f\n" if ($verbose); 29 | 30 | my $tmp = "/tmp/x.var"; 31 | fill_variables($tmp); 32 | mesa_msgs::create_text_file_2_var_files( 33 | "$f-orm.txt", # This is the output 34 | "../ihe_sched.tpl", # Template for an O01 message 35 | "$f.var", # Input file 1 36 | $tmp); # Second input 37 | 38 | mesa_msgs::create_hl7("$f-orm"); 39 | print "Created: $f-orm\n" if ($verbose); 40 | 41 | mesa_msgs::create_text_file( 42 | "$f.var", # This is the output 43 | "../ihe_oru.tpl", # Template for an O01 message 44 | "$f-oru.txt"); # Input with order information 45 | mesa_msgs::create_hl7("$f-oru"); 46 | print "Created: $f-oru\n" if ($verbose); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /verif_valid/data/A-4001/A-4001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl -w 2 | 3 | use Env; 4 | use File::Copy; 5 | use lib ".."; 6 | use lib "../../scripts"; 7 | require mesa_msgs; 8 | require image_sharing; 9 | 10 | sub fill_variables { 11 | my $path = shift; 12 | 13 | open F, ">$path" or die "Could not open $f for append"; 14 | 15 | my $dt = image_sharing::generate_date_time(); 16 | 17 | print F "\$DATE_TIME\$ = $dt\n"; 18 | print F "\$ORDER_EFFECTIVE_DATE\$ = $dt\n"; 19 | print F "\$UPDATE_DATE_TIME\$ = $dt\n"; 20 | 21 | close F; 22 | } 23 | 24 | my $verbose = 0; 25 | $verbose = 1 if (scalar(@ARGV) > 0); 26 | # First, create all scheduling ORM messages 27 | @ files = ( 28 | "A-4001-20", 29 | "A-4001-21", 30 | "A-4001-22", 31 | "A-4001-23", 32 | ); 33 | foreach $f(@files) { 34 | print "$f\n" if ($verbose); 35 | 36 | my $tmp = "/tmp/x.var"; 37 | fill_variables($tmp); 38 | mesa_msgs::create_text_file_2_var_files( 39 | "$f-orm.txt", # This is the output 40 | "../ihe_sched.tpl", # Template for an O01 message 41 | "$f.var", # Input file 1 42 | $tmp); # Second input 43 | 44 | mesa_msgs::create_hl7("$f-orm"); 45 | print "Created: $f-orm\n" if ($verbose); 46 | 47 | mesa_msgs::create_text_file_2_var_files( 48 | "$f-oru.txt", # This is the output 49 | "../ihe_oru.tpl", # Template for an O01 message 50 | "$f.var", # Input file 1 51 | $tmp); # Second input 52 | 53 | mesa_msgs::create_hl7("$f-oru"); 54 | print "Created: $f-oru\n" if ($verbose); 55 | 56 | } 57 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001-04-4.var: -------------------------------------------------------------------------------- 1 | # A-5001-04-4.var 2 | # These are variables used for test A-5001-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5001044 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5001-04-4^^^RSNA-Test 18 | $PATIENT_NAME$ = Demarco^K 19 | $DATE_TIME_BIRTH$ = 19790211 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5001-04-4 E Adams^^Western^CA^41004-1000 23 | $PATIENT_ACCOUNT_NUM$ = A-5001-04-4-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5001-04-4-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5001-04-4P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5001-04-4F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5001-04-4-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5001-04-4-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5001-04-4-SPS 63 | #$UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001-04-5.var: -------------------------------------------------------------------------------- 1 | # A-5001-04-5.var 2 | # These are variables used for test A-5001-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5001045 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5001-04-4^^^RSNA-Test 18 | $PATIENT_NAME$ = Demarco^K 19 | $DATE_TIME_BIRTH$ = 19790211 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5001-04-4 E Adams^^Western^CA^41004-1000 23 | $PATIENT_ACCOUNT_NUM$ = A-5001-04-4-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5001-04-4-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5001-04-5P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5001-04-5F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5001-04-5-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5001-04-5-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5001-04-5-SPS 63 | #$UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001-04-6.var: -------------------------------------------------------------------------------- 1 | # A-5001-04-6.var 2 | # These are variables used for test A-5001-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5001046 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5001-04-6^^^RSNA-Test 18 | $PATIENT_NAME$ = Image^One 19 | $DATE_TIME_BIRTH$ = 19790211 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5001-04-6 E Adams^^Western^CA^41004-1000 23 | $PATIENT_ACCOUNT_NUM$ = A-5001-04-6-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5001-04-6-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5001-04-6P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5001-04-6F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5001-04-6-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5001-04-6-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5001-04-6-SPS 63 | #$UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001-04.var: -------------------------------------------------------------------------------- 1 | # A-5005-04.var 2 | # These are variables used for test A-5005-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = 1002001 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5005-04^^^RSNA-Test 18 | $PATIENT_NAME$ = Walters^Edwin 19 | $DATE_TIME_BIRTH$ = 19801214 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 23 | $PATIENT_ACCOUNT_NUM$ = A-5005-04-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5005-04-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201102011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5005-04P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5005-04F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5005-04-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5005-04-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5005-04-SPS 63 | #$UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001-08-1.var: -------------------------------------------------------------------------------- 1 | # A-5001-08-1.var 2 | # These are variables used for test A-5001-08, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5001081 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5001-08-1^^^RSNA-Test 18 | $PATIENT_NAME$ = Expedited^Turner 19 | $DATE_TIME_BIRTH$ = 19801218 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5001-08-1 E Adams^^Wabash^CA^41008 23 | $PATIENT_ACCOUNT_NUM$ = A-5001-08-1-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5001-08-1-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201701011800 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5001-08-1P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5001-08-1F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5001-08-1-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5001-08-1-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5001-08-1-SPS 63 | #$UPDATE_DATE_TIME$ = 201102011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5001/A-5001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/perl -w 2 | 3 | use Env; 4 | use File::Copy; 5 | use lib ".."; 6 | use lib "../../scripts"; 7 | require mesa_msgs; 8 | require image_sharing; 9 | 10 | sub fill_variables { 11 | my $path = shift; 12 | 13 | open F, ">$path" or die "Could not open $f for append"; 14 | 15 | my $dt = image_sharing::generate_date_time(); 16 | 17 | print F "\$DATE_TIME\$ = $dt\n"; 18 | print F "\$ORDER_EFFECTIVE_DATE\$ = $dt\n"; 19 | print F "\$UPDATE_DATE_TIME\$ = $dt\n"; 20 | 21 | close F; 22 | } 23 | 24 | my $verbose = 0; 25 | $verbose = 1 if (scalar(@ARGV) > 0); 26 | # First, create all scheduling ORM messages 27 | @ files = ( 28 | "A-5001-04-1", "A-5001-04-2", "A-5001-04-3", "A-5001-04-4", 29 | "A-5001-04-5", 30 | "A-5001-04-6", 31 | "A-5001-08-1", 32 | "A-5001-14-1","A-5001-14-2" 33 | ); 34 | foreach $f(@files) { 35 | print "$f\n" if ($verbose); 36 | 37 | my $tmp = "/tmp/x.var"; 38 | fill_variables($tmp); 39 | mesa_msgs::create_text_file_2_var_files( 40 | "$f-orm.txt", # This is the output 41 | "../ihe_sched.tpl", # Template for an O01 message 42 | "$f.var", # Input file 1 43 | $tmp); # Second input 44 | 45 | mesa_msgs::create_hl7("$f-orm"); 46 | print "Created: $f-orm\n" if ($verbose); 47 | 48 | mesa_msgs::create_text_file_2_var_files( 49 | "$f-oru.txt", # This is the output 50 | "../ihe_oru.tpl", # Template for an O01 message 51 | "$f.var", # Input file 1 52 | $tmp); # Second input 53 | 54 | mesa_msgs::create_hl7("$f-oru"); 55 | print "Created: $f-oru\n" if ($verbose); 56 | 57 | } 58 | -------------------------------------------------------------------------------- /verif_valid/data/A-5005/A-5005-04-2a.var: -------------------------------------------------------------------------------- 1 | # A-5005-04-2.var 2 | # These are variables used for test A-5005-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005042 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5005-04-2^^^RSNA-Test 18 | $PATIENT_NAME$ = Lincoln^Mary 19 | $DATE_TIME_BIRTH$ = 19710908 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5005-04-2 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5005-04-2-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5005-04-2-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201302011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5005-04-2P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5005-04-2F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5005-04-2-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5005-04-2-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5005-04-2-SPS 63 | $UPDATE_DATE_TIME$ = 201302011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5005/A-5005-04-3a.var: -------------------------------------------------------------------------------- 1 | # A-5005-04-3.var 2 | # These are variables used for test A-5005-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005043 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5005-04-3^^^RSNA-Test 18 | $PATIENT_NAME$ = Grant^Julia 19 | $DATE_TIME_BIRTH$ = 19901123 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5005-04-3 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5005-04-3-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5005-04-3-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201302011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5005-04-3P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5005-04-3F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5005-04-3-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5005-04-3-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5005-04-3-SPS 63 | $UPDATE_DATE_TIME$ = 201302011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5005/A-5005-04-4.var: -------------------------------------------------------------------------------- 1 | # A-5005-04-4.var 2 | # These are variables used for test A-5005-04, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005044 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5005-04-4^^^RSNA-Test 18 | $PATIENT_NAME$ = Johnson^Eliza 19 | $DATE_TIME_BIRTH$ = 19850712 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5005-04-4 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5005-04-4-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5005-04-4-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201302011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5005-04-4P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5005-04-4F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5005-04-4-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5005-04-4-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5005-04-4-SPS 63 | $UPDATE_DATE_TIME$ = 201302011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5005/cancel.var: -------------------------------------------------------------------------------- 1 | # cancel.var 2 | # This is one line that gives a new order status: CA for cancel 3 | # This .var file will be appended to the end of an existing order 4 | # .var file so we can build a cancel message 5 | $ORDER_STATUS$ = CA 6 | -------------------------------------------------------------------------------- /verif_valid/data/A-5005/complete.var: -------------------------------------------------------------------------------- 1 | # complete.var 2 | # This is one line that gives a new order status: CM for COMPLETED 3 | # This .var file will be appended to the end of an existing order 4 | # .var file so we can build a COMPLETED message 5 | $ORDER_STATUS$ = CM 6 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-xx-1.var: -------------------------------------------------------------------------------- 1 | # A-5006-xx-1.var 2 | # These are variables used for test A-5006-xx, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5006001 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-xx-1^^^RSNA-Test 18 | $PATIENT_NAME$ = Elm^William 19 | $DATE_TIME_BIRTH$ = 19801214 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-xx-1 E Elm^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-xx-1-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-xx-1-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-xx-1P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-xx-1F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-xx-1-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-xx-1-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-xx-1-SPS 63 | $UPDATE_DATE_TIME$ = 201309011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-xx-2.var: -------------------------------------------------------------------------------- 1 | # A-5006-xx-2.var 2 | # These are variables used for test A-5006-xx, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005042 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-xx-2^^^RSNA-Test 18 | $PATIENT_NAME$ = Beech^Robert 19 | $DATE_TIME_BIRTH$ = 19710908 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-xx-2 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-xx-2-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-xx-2-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309021300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-xx-2P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-xx-2F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201309021510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201309021510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-xx-2-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-xx-2-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-xx-2-SPS 63 | $UPDATE_DATE_TIME$ = 201309021300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-xx-3.var: -------------------------------------------------------------------------------- 1 | # A-5006-xx-3.var 2 | # These are variables used for test A-5006-xx, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005043 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-xx-3^^^RSNA-Test 18 | $PATIENT_NAME$ = Pine^Sarah 19 | $DATE_TIME_BIRTH$ = 19901123 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-xx-3 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-xx-3-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-xx-3-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309031300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-xx-3P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-xx-3F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201309031510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201309031510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-xx-3-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-xx-3-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-xx-3-SPS 63 | $UPDATE_DATE_TIME$ = 201309031300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-xx-4.var: -------------------------------------------------------------------------------- 1 | # A-5006-xx-4.var 2 | # These are variables used for test A-5006-xx, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5005044 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-xx-4^^^RSNA-Test 18 | $PATIENT_NAME$ = Redwood^Karen 19 | $DATE_TIME_BIRTH$ = 19850712 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-xx-4 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-xx-4-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-xx-4-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309041300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-xx-4P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-xx-4F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201309041510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201309041510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = xxx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-xx-4-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-xx-4-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-xx-4-SPS 63 | $UPDATE_DATE_TIME$ = 201309041300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-yy-1.var: -------------------------------------------------------------------------------- 1 | # A-5006-yy-1.var 2 | # These are variables used for test A-5006-yy, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5006011 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-yy-1^^^RSNA-Test 18 | $PATIENT_NAME$ = Turner^William 19 | $DATE_TIME_BIRTH$ = 19801215 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-yy-1 E Elm^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-yy-1-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-yy-1-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309011300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-yy-1P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-yy-1F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201102011510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201102011510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = yyx 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-yy-1-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-yy-1-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-yy-1-SPS 63 | $UPDATE_DATE_TIME$ = 201309011300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-yy-2.var: -------------------------------------------------------------------------------- 1 | # A-5006-yy-2.var 2 | # These are variables used for test A-5006-yy, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5006012 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-yy-2^^^RSNA-Test 18 | $PATIENT_NAME$ = Warner^Robert 19 | $DATE_TIME_BIRTH$ = 19710909 20 | $SEX$ = M 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-yy-2 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-yy-2-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-yy-2-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309021300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-yy-2P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-yy-2F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201309021510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201309021510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = yyy 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-yy-2-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-yy-2-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-yy-2-SPS 63 | $UPDATE_DATE_TIME$ = 201309021300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/A-5006-yy-4.var: -------------------------------------------------------------------------------- 1 | # A-5006-yy-4.var 2 | # These are variables used for test A-5006-yy, including 3 | # the ORM (scheduling) and ORU (report) messages. 4 | # 5 | # MSH 6 | # 7 | $SENDING_APP$ = VALIDATION 8 | $SENDING_FACILITY$ = RSNA 9 | $RECEIVING_APP$ = EDGE-DEVICE 10 | $RECEIVING_FACILITY$ = FACILITY 11 | # 12 | $MESSAGE_CONTROL_ID$ = A5006014 13 | $CHARSET$ = #### 14 | # 15 | # PID 16 | # 17 | $PATIENT_ID$ = A-5006-yy-4^^^RSNA-Test 18 | $PATIENT_NAME$ = Mango^Karen 19 | $DATE_TIME_BIRTH$ = 19850713 20 | $SEX$ = F 21 | $RACE$ = AP 22 | $PATIENT_ADDRESS$ = 5006-yy-4 E Adams^^Washington^AL^41001 23 | $PATIENT_ACCOUNT_NUM$ = A-5006-yy-4-Acct 24 | # 25 | # PV1 26 | $PATIENT_CLASS$ = O 27 | $PATIENT_LOCATION$ = #### 28 | $ATTENDING_DOCTOR$ = #### 29 | $REFERRING_DOCTOR$ = 5101^NELL^FREDERICK^P^^DR 30 | $HOSPITAL_SERVICE$ = #### 31 | $ADMITTING_DOCTOR$ = #### 32 | $VISIT_NUMBER$ = A-5006-yy-4-Vis^^^RSNA-Test 33 | $ADMIT_DATE_TIME$ = 201309041300 34 | $VISIT_INDICATOR$ = V 35 | # 36 | # ORC 37 | # 38 | $ORDER_CONTROL$ = NW 39 | $PLACER_ORDER_NUMBER$ = A-5006-yy-4P^RSNA_ORDPLC 40 | $FILLER_ORDER_NUMBER$ = A-5006-yy-4F^RSNA_ORDFIL 41 | $ORDER_STATUS$ = SC 42 | $QUANTITY_TIMING$ = 1^once^^^^S 43 | #$DATE_TIME$ = 201309041510 44 | $ENTERED_BY$ = ^ROSEWOOD^RANDOLPH 45 | $ORDERING_PROVIDER$ = 7101^ESTRADA^JAIME^P^^DR 46 | $CALL_BACK_PHONE_NUMBER$ = (314)555-1212 47 | #$ORDER_EFFECTIVE_DATE$ = 201309041510 48 | $ENTERING_ORGANIZATION$ = 922229-10^IHE-RAD^IHE-CODE-231 49 | # 50 | # OBR 51 | # 52 | $SETID_OBR$ = 1 53 | $UNIVERSAL_SERVICE_ID$ = K99^Head MR^RSNA-Test^K99_A1^Head MR Protocol Item 1^RSNA-Test 54 | $RELEVANT_CLINICAL_INFO$ = yyy 55 | $SPECIMEN_SOURCE$ = Radiology^^^^R^ 56 | $TRANSPORTATION_MODE$ = WALK 57 | $TRANSPORT_ARRANGED$ = A 58 | $DIAG_SERV_SECT$ = MR 59 | $PROCEDURE_CODE$ = K99^Head MR^RSNA-Test 60 | $ACCESSION_NUMBER$ = A-5006-yy-4-AccN 61 | $REQUESTED_PROCEDURE_ID$ = A-5006-yy-4-RP 62 | $SCHEDULED_PROCEDURE_STEP_ID$ = A-5006-yy-4-SPS 63 | $UPDATE_DATE_TIME$ = 201309041300 64 | # 65 | # ZDS 66 | # 67 | #$STUDY_INSTANCE_UID$ = 1.2.1^1001.1^Application^DICOM 68 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/README.txt: -------------------------------------------------------------------------------- 1 | This folder contains data files for the A-5006 tests. 2 | These tests send data to the LifeImage Clearing House for use 3 | by others; they are not part of the formal V&V testing. 4 | 5 | For testing PHRs 6 | A-5006-xx-1.var 7 | A-5006-xx-2.var 8 | A-5006-xx-3.var 9 | A-5006-xx-4.var 10 | 11 | For demonstrating Edge GUI to potential customers 12 | A-5006-yy-1.var 13 | A-5006-yy-2.var 14 | A-5006-yy-3.var 15 | A-5006-yy-4.var 16 | 17 | Used to build all messages. 18 | complete.var 19 | -------------------------------------------------------------------------------- /verif_valid/data/A-5006/complete.var: -------------------------------------------------------------------------------- 1 | # complete.var 2 | # This is one line that gives a new order status: CM for COMPLETED 3 | # This .var file will be appended to the end of an existing order 4 | # .var file so we can build a COMPLETED message 5 | $ORDER_STATUS$ = CM 6 | -------------------------------------------------------------------------------- /verif_valid/data/ihe_oru.tpl: -------------------------------------------------------------------------------- 1 | # ihe_oru.tpl: Template for HL7 ORU messages 2 | # 3 | MSH 4 | 1 | 5 | 2 ^~\& 6 | 3 $SENDING_APP$ 7 | 4 $SENDING_FACILITY$ 8 | 5 $RECEIVING_APP$ 9 | 6 $RECEIVING_FACILITY$ 10 | 7 11 | 8 12 | 9 ORU^R01 13 | 10 $MESSAGE_CONTROL_ID$ 14 | 11 P 15 | 12 2.3.1 16 | 13 17 | 14 18 | 15 19 | 16 20 | 17 21 | 18 $CHARSET$ 22 | PID 23 | 1 24 | 2 25 | 3 $PATIENT_ID$ 26 | 4 27 | 5 $PATIENT_NAME$ 28 | 6 29 | 7 $DATE_TIME_BIRTH$ 30 | 8 $SEX$ 31 | 9 32 | 10 $RACE$ 33 | 11 $PATIENT_ADDRESS$ 34 | 12 35 | 13 36 | 14 37 | 15 38 | 16 39 | 17 40 | 18 $PATIENT_ACCOUNT_NUM$ 41 | 19 42 | 20 43 | 21 44 | 22 45 | 23 46 | 24 47 | 25 48 | 26 49 | 27 50 | 28 51 | 29 52 | 30 53 | OBR 54 | 1 $SETID_OBR$ 55 | 2 $PLACER_ORDER_NUMBER$ 56 | 3 $FILLER_ORDER_NUMBER$ 57 | 4 58 | 5 59 | 6 60 | 7 61 | 8 62 | 9 63 | 10 64 | 11 65 | 12 66 | 13 67 | 14 68 | 15 69 | 16 70 | 17 71 | 18 72 | 19 73 | 20 74 | 21 75 | 22 $UPDATE_DATE_TIME$ 76 | 23 77 | 24 78 | 25 F 79 | 26 80 | 27 81 | 28 82 | 29 83 | 30 84 | 31 85 | 32 86 | 33 87 | 34 88 | 35 89 | 36 90 | 37 91 | 38 92 | 39 93 | 40 94 | 41 95 | 42 96 | 43 97 | 44 98 | OBX 99 | 1 1 100 | 2 TX 101 | 3 Text 102 | 4 103 | 5 Text report goes here 104 | -------------------------------------------------------------------------------- /verif_valid/data/xdstoolkit/environment/EU2015/keystore/keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/data/xdstoolkit/environment/EU2015/keystore/keystore -------------------------------------------------------------------------------- /verif_valid/data/xdstoolkit/environment/EU2015/keystore/keystore.properties: -------------------------------------------------------------------------------- 1 | keyStorePassword=changeit -------------------------------------------------------------------------------- /verif_valid/data/xdstoolkit/environment/NA2015/keystore/keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/data/xdstoolkit/environment/NA2015/keystore/keystore -------------------------------------------------------------------------------- /verif_valid/data/xdstoolkit/environment/NA2015/keystore/keystore.properties: -------------------------------------------------------------------------------- 1 | keyStorePassword=nistbill -------------------------------------------------------------------------------- /verif_valid/db/clear_db.sql: -------------------------------------------------------------------------------- 1 | delete from hipaa_audit_accession_numbers; 2 | delete from hipaa_audit_views; 3 | delete from hipaa_audit_mrns; 4 | delete from transactions; 5 | delete from jobs; 6 | delete from job_sets; 7 | delete from reports; 8 | delete from exams; 9 | delete from patients; 10 | -------------------------------------------------------------------------------- /verif_valid/db/configuration_production_3.1.sql: -------------------------------------------------------------------------------- 1 | update configurations 2 | set value = 'https://clearinghouse.lifeimage.com/services/xdsrepositoryb' 3 | where key = 'iti41-endpoint-uri'; 4 | 5 | update configurations 6 | set value ='mllps://clearinghouse.lifeimage.com:8888' 7 | where key = 'iti8-pix-uri'; 8 | 9 | update configurations 10 | set value = 'mllps://clearinghouse.lifeimage.com:8890' 11 | where key = 'iti8-reg-uri'; 12 | 13 | 14 | -------------------------------------------------------------------------------- /verif_valid/db/configuration_test_3.1.sql: -------------------------------------------------------------------------------- 1 | update configurations 2 | set value = 'http://test.rsnaclearinghouse.com:9090/services/xdsrepositoryb' 3 | where key = 'iti41-endpoint-uri'; 4 | 5 | update configurations 6 | set value ='mllp://test.rsnaclearinghouse.com:8887' 7 | where key = 'iti8-pix-uri'; 8 | 9 | update configurations 10 | set value ='mllp://test.rsnaclearinghouse.com:8891' 11 | where key = 'iti8-reg-uri'; 12 | 13 | 14 | -------------------------------------------------------------------------------- /verif_valid/db/configuration_xdstools2_3.2.sql: -------------------------------------------------------------------------------- 1 | update configurations 2 | set value = 'http://localhost:28080/xdstools2/sim/a2de485d-22ea-4c42-937d-8e603e9c2266/rep/prb' 3 | where key = 'iti41-endpoint-uri'; 4 | 5 | update configurations 6 | set value ='mllp://localhost:9082' 7 | where key = 'iti8-pix-uri'; 8 | 9 | update configurations 10 | set value ='mllp://localhost:9082' 11 | where key = 'iti8-reg-uri'; 12 | 13 | 14 | -------------------------------------------------------------------------------- /verif_valid/db/configuration_xdstools2_5.0.sql: -------------------------------------------------------------------------------- 1 | -- Configuration values when we point the Edge Server 2 | -- at a local copy of the XDSTools software 3 | 4 | update configurations 5 | set value = 'http://nibib-test.wustl.edu:9280/xdstools2/sim/clearinghouse__rr/rep/prb' 6 | where key = 'iti41-doc-endpoint-uri'; 7 | 8 | update configurations 9 | set value = 'http://nibib-test.wustl.edu:9280/xdstools2/sim/clearinghouse__rr/rep/prb' 10 | where key = 'iti41-img-endpoint-uri'; 11 | 12 | update configurations 13 | set value ='mllp://nibib-test.wustl.edu:5000' 14 | where key = 'iti8-reg-uri'; 15 | 16 | update configurations 17 | set value ='mllp://nibib-test.wustl.edu:5000' 18 | where key = 'iti9-pix-uri'; 19 | 20 | -------------------------------------------------------------------------------- /verif_valid/db/delay_in_hrs.sql: -------------------------------------------------------------------------------- 1 | insert into configurations(key, value) values ('delay_in_hrs', '1'); 2 | -------------------------------------------------------------------------------- /verif_valid/db/mirthdb_schema_defs.sql: -------------------------------------------------------------------------------- 1 | \d alert 2 | \d alert_email 3 | \d attachment 4 | \d channel 5 | \d channel_alert 6 | \d channel_statistics 7 | \d code_template 8 | \d configuration 9 | \d configuration_sequence 10 | \d encryption_key 11 | \d event 12 | \d event_sequence 13 | \d message 14 | \d message_sequence 15 | \d person 16 | \d person_sequence 17 | \d preferences 18 | \d schema_info 19 | \d script 20 | \d template 21 | -------------------------------------------------------------------------------- /verif_valid/db/rsnadb_schema_defs.sql: -------------------------------------------------------------------------------- 1 | \d configurations 2 | \d devices 3 | \d devices_device_id_seq 4 | \d exams 5 | \d exams_exam_id_seq 6 | \d hipaa_audit_accession_numbers 7 | \d hipaa_audit_accession_numbers_id_seq 8 | \d hipaa_audit_mrns 9 | \d hipaa_audit_mrns_id_seq 10 | \d hipaa_audit_views 11 | \d hipaa_audit_views_id_seq 12 | \d job_sets 13 | \d job_sets_job_set_id_seq 14 | \d jobs 15 | \d jobs_job_id_seq 16 | \d patient_merge_events 17 | \d patient_merge_events_event_id_seq 18 | \d patients 19 | \d patients_patient_id_seq 20 | \d reports 21 | \d reports_report_id_seq 22 | \d roles 23 | \d schema_version 24 | \d schema_version_id_seq 25 | \d status_codes 26 | \d studies 27 | \d studies_study_id_seq 28 | \d transactions 29 | \d transactions_transaction_id_seq 30 | \d users 31 | \d users_user_id_seq 32 | \d v_exam_status 33 | \d v_job_status 34 | -------------------------------------------------------------------------------- /verif_valid/runs/t1002_x.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | echo Start at `date` 4 | echo "" 5 | 6 | @ a = 1 7 | while ($a <= 10) 8 | echo $a `date` 9 | scripts/t1002.csh 200 10 | sleep 300 11 | echo `date` 12 | echo "" 13 | @ a += 1 14 | end 15 | 16 | echo Done at `date` 17 | -------------------------------------------------------------------------------- /verif_valid/scripts/clear_database.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | 5 | sub check_environment { 6 | @ folders = ( "scripts", "db" ); 7 | foreach $f(@folders) { 8 | if (!(-e $f)) { die "Are you in the proper folder: did not find <$f>"; } 9 | } 10 | 11 | if (! $MESA_TARGET) { die "MESA_TARGET undefined"; } 12 | 13 | if (! (-e "$MESA_TARGET/bin")) { die "Is MESA properly installed in $MESA_TARGET? Missing bin folder."; } 14 | } 15 | 16 | 17 | ## Main starts here 18 | check_environment(); 19 | 20 | my $dbName = "rsnadb"; 21 | if (scalar(@ARGV) > 0) { 22 | $dbName = $ARGV[0]; 23 | } 24 | 25 | my $x = "psql $dbName < db/clear_db.sql"; 26 | print "$x\n"; 27 | print `$x`; 28 | 29 | die "Database clear failed" if $?; 30 | -------------------------------------------------------------------------------- /verif_valid/scripts/db_backup.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if ($1 == "") then 4 | echo "This script takes db name as a parameter" 5 | exit 6 | endif 7 | 8 | setenv d `date '+%Y%m%d%H%M'` 9 | 10 | setenv outfile $1.$d.backup 11 | 12 | pg_dump -Fc $1 > $outfile 13 | 14 | ls -l $outfile 15 | 16 | -------------------------------------------------------------------------------- /verif_valid/scripts/delta_terse.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if ("$1" == "") then 4 | echo "This script, delta_terse.csh, takes one file argument" 5 | exit 6 | endif 7 | 8 | if ("$2" != "") then 9 | echo "This script, delta_terse.csh, takes one file argument" 10 | exit 11 | endif 12 | 13 | diff "$1" "/usr/local/edgeserver/$1" > /dev/null 14 | 15 | if ($status != 0) then 16 | echo DIFF "$1" "/usr/local/edgeserver/$1" 17 | endif 18 | -------------------------------------------------------------------------------- /verif_valid/scripts/dicom_rcvr.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | mkdir -p ~/OBJECTS 4 | 5 | 6 | /opt/dcm4che/dcm4che-2.0.25/bin/dcmrcv STORE:9104 -dest ~/OBJECTS 7 | -------------------------------------------------------------------------------- /verif_valid/scripts/git_list_untracked.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | git ls-files --other --exclude-standard 4 | -------------------------------------------------------------------------------- /verif_valid/scripts/harvest_transactions.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | 6 | use lib "scripts"; 7 | 8 | require xx; 9 | 10 | sub usage_and_die() 11 | { 12 | my $x = 13 | "Hmmm, no parameters needed"; 14 | 15 | print "$x\n"; 16 | exit(); 17 | } 18 | 19 | sub print_header() 20 | { 21 | print "job ID\tXfer size\t30\t31\t32\t33\t34\t40\n"; 22 | } 23 | 24 | 25 | ## Main starts here 26 | image_sharing::check_environment(); 27 | 28 | 29 | # %h; 30 | # load_hash_parameters($name, $patID, $accessionNumber, $dateTime); 31 | 32 | 33 | my $jobIDMax = image_sharing::get_max_job_id_from_transactions("rsnadb"); 34 | my $jobIDMin = image_sharing::get_min_job_id_from_transactions("rsnadb"); 35 | 36 | my $jobID; 37 | print_header(); 38 | for ($jobID = $jobIDMin; $jobID <= $jobIDMax; $jobID++) { 39 | %trans = image_sharing::get_status_date_pairs_from_transactions("rsnadb", $jobID); 40 | %comments = image_sharing::get_status_comment_pairs_from_transactions("rsnadb", $jobID); 41 | $x29 = $comments{"29"}; 42 | $t30 = $trans{"30"}; 43 | $t31 = $trans{"31"}; 44 | $t32 = $trans{"32"}; 45 | $t33 = $trans{"33"}; 46 | $t34 = $trans{"34"}; 47 | $t40 = $trans{"40"}; 48 | print "$jobID\t$x29\t$t30\t$t31\t$t32\t$t33\t$t34\t$t40\n"; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /verif_valid/scripts/list_tables.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | echo "\d" > /tmp/d.sql 4 | 5 | psql rsnadb < /tmp/d.sql | grep -i -E "table|view" 6 | -------------------------------------------------------------------------------- /verif_valid/scripts/load_orm_oru_1001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | 5 | sub check_environment { 6 | @ folders = ( "scripts", "db" ); 7 | foreach $f(@folders) { 8 | if (!(-e $f)) { die "Are you in the proper folder: did not find <$f>"; } 9 | } 10 | 11 | if (! $MESA_TARGET) { die "MESA_TARGET undefined"; } 12 | 13 | if (! (-e "$MESA_TARGET/bin")) { die "Is MESA properly installed in $MESA_TARGET? Missing bin folder."; } 14 | } 15 | 16 | 17 | ## Main starts here 18 | check_environment(); 19 | 20 | chdir("data"); 21 | print `perl 1001.pl`; 22 | chdir(".."); 23 | 24 | @hl7_msgs = ("1001_1", "1001_2"); 25 | foreach $msg(@hl7_msgs) { 26 | print "$msg\n"; 27 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/$msg" . ".hl7"; 28 | print "$x\n"; 29 | print `$x`; 30 | die "Could not send HL7 message to localhost" if $?; 31 | } 32 | -------------------------------------------------------------------------------- /verif_valid/scripts/new_folder.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if ($1 == "") then 4 | echo "Usage: new_folder.csh FOLDER_NAME" 5 | exit 1 6 | endif 7 | 8 | if (-e $1) rm -r $1 9 | 10 | mkdir -p $1 11 | -------------------------------------------------------------------------------- /verif_valid/scripts/prep_xfer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ### BEGIN INIT INFO 4 | # Provides: edge-server 5 | # Should-Start: postgresql 6 | # Should-Stop: postgresql 7 | # Default-Start: 2 3 4 5 8 | # Default-Stop: 0 1 6 9 | # Short-Description: starts the edge server 10 | ### END INIT INFO 11 | 12 | set -e 13 | 14 | umask 022 15 | 16 | export RSNA_ROOT=/usr/local/edgeserver 17 | 18 | mkdir -p $RSNA_ROOT/tmp/pids 19 | 20 | TPID=$RSNA_ROOT/tmp/pids/transfer.pid 21 | PPID=$RSNA_ROOT/tmp/pids/prepare.pid 22 | 23 | USER=edge 24 | 25 | JAVA=/usr/local/jre1.6.0_24/bin/java 26 | 27 | export AS_JAVA=/usr/local/jre1.6.0_24 28 | 29 | . /lib/lsb/init-functions 30 | 31 | . $RSNA_ROOT/conf/jvm-opts 32 | 33 | case $1 in 34 | start) 35 | log_daemon_msg "Starting Edge server" 36 | 37 | if start-stop-daemon -c $USER --start -d $RSNA_ROOT --quiet -m --oknodo -b --pidfile $PPID --exec $JAVA -- -server $PREPARE_JVM_OPTS -jar $RSNA_ROOT/prep-content*.jar ; then 38 | log_progress_msg "prepare-content-app" 39 | else 40 | log_end_msg 1 41 | exit 1 42 | fi 43 | 44 | if start-stop-daemon -c $USER --start -d $RSNA_ROOT --quiet -m --oknodo -b --pidfile $TPID --exec $JAVA -- -server $TRANSFER_JVM_OPTS -jar $RSNA_ROOT/transfer-content*.jar ; then log_progress_msg "transfer-content-app" 45 | else 46 | log_end_msg 1 47 | exit 1 48 | fi 49 | log_end_msg 0 50 | ;; 51 | stop) 52 | if start-stop-daemon --stop --quiet --oknodo --pidfile $PPID; then 53 | log_progress_msg "prepare-content-app" 54 | else 55 | log_end_msg 1 56 | fi 57 | if start-stop-daemon --stop --quiet --oknodo --pidfile $TPID; then 58 | log_progress_msg "transfer-content-app" 59 | else 60 | log_end_msg 1 61 | fi 62 | log_end_msg 0 63 | ;; 64 | 65 | restart|reload) 66 | $0 stop 67 | $0 start 68 | ;; 69 | *) 70 | log_action_msg "Usage: $0 {start|stop|restart}" 71 | exit 1 72 | 73 | esac 74 | -------------------------------------------------------------------------------- /verif_valid/scripts/t1002.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | set COUNT=4 4 | 5 | if ($1 != "") set COUNT=$1 6 | 7 | perl scripts/load_dicom_images.pl RSNA-ISN localhost 4104 /rsna/test-data/DTI-001/87182445 $COUNT 8 | -------------------------------------------------------------------------------- /verif_valid/scripts/test_orm_oru_1001.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use DBI; 4 | 5 | sub select_x { 6 | my ($dbName, $mrn) = @_; 7 | 8 | my $dsn = "dbi:Pg:dbname=$dbName"; 9 | my $dbh = DBI->connect($dsn); 10 | my $str = "select patient_id, mrn, patient_name, dob, sex from patients where mrn = '$mrn'"; 11 | 12 | my $sth = $dbh->prepare($str); 13 | $sth->execute(); 14 | my @row = $sth->fetchrow_array; 15 | if (scalar(@row) != 5) { 16 | } else { 17 | $sth->fetchrow_array; 18 | } 19 | $dbh->disconnect(); 20 | return @row; 21 | } 22 | 23 | sub fillVariables { 24 | ($gMRN, $gPatientName, $gDOB, $gSex) = @_; 25 | } 26 | 27 | sub checkPatient { 28 | if (scalar(@_) != 5) { 29 | print "checkPatient: not enough columns returned from database\n"; 30 | return; 31 | } 32 | 33 | my ($id, $mrn, $patientName, $dob, $sex) = @_; 34 | if ($mrn ne $gMRN) 35 | { print "Wrong MRN: $gMRN / $mrn \n"; } else { print "MRN: $mrn\n"; } 36 | 37 | if ($patientName ne $gPatientName) 38 | { print "Wrong patient name: $gPatientName / $patientName\n"; } 39 | 40 | if ($dob ne $gDOB) 41 | { print "Wrong DOB: $gDOB / $dob \n"; } 42 | 43 | if ($sex ne $gSex) 44 | { print "Wrong sex: $gSex / $sex \n"; } 45 | } 46 | 47 | @p74321 = select_x("rsnadb", "74321"); 48 | fillVariables("74321", "Clark^Wayne^", "1980-12-14", "M"); 49 | checkPatient(@p74321); 50 | 51 | @pBC66321 = select_x("rsnadb", "BC66321"); 52 | fillVariables("BC66321", "Clark^William^", "1980-12-14", "M"); 53 | checkPatient(@pBC66321); 54 | 55 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-openam/openam-export.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This is for the password: 1947OpenAM 4 | encrypted=fdiaJt/AnVXsVxPO5ZIipEH4KH4+H1BJ 5 | 6 | sudo $RSNA_ROOT/ssoadm/openam/ssoadm export-svc-cfg -u amAdmin -e $encrypted -f pwd.txt -o config.xml 7 | 8 | sudo chown rsna:rsna config.xml 9 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-openam/openam-import.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # This is for the password: 1947OpenAM 4 | encrypted=fdiaJt/AnVXsVxPO5ZIipEH4KH4+H1BJ 5 | 6 | sudo $RSNA_ROOT/ssoadm/openam/ssoadm import-svc-cfg -u amAdmin -e $encrypted -f pwd.txt -X config.xml 7 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-openam/pwd.txt: -------------------------------------------------------------------------------- 1 | 1947OpenAM 2 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-postgres/grep-for-postgres-passwords.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | for i in N3K647A d17bK4#M 1947JAT ABCDEF123 ABCDEF456 ABCDEF789 MIRTH 4 | do 5 | echo `date` $i 6 | grep -r $i . 7 | echo "" 8 | done 9 | 10 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-postgres/postgres-password-change.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Change the postgres passwords for 3 accounts 4 | # Echo the account names, existing password and suggested new values 5 | 6 | for i in postgres edge mirth 7 | do 8 | echo $i "porstgres edge mirth " 9 | echo $i "N3K647A d17bK4#M 1947JAT$" 10 | echo $i "ABCDEF123 ABCDEF456 ABCDEF789" 11 | psql -d postgres -U $i -c "\password" 12 | echo "" 13 | done 14 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-postgres/postgres-password-files.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sudo vi \ 4 | $RSNA_ROOT/torquebox-3.1.2/jboss/standalone/configuration/standalone.xml \ 5 | $RSNA_ROOT/Mirth\ Backup.xml \ 6 | $RSNA_ROOT/monitor-scripts/edgeserver_monitor.sh \ 7 | /usr/local/mirthconnect/conf/mirth.properties \ 8 | $RSNA_ROOT/monitor-scripts/edgeserver_monitor.sh 9 | -------------------------------------------------------------------------------- /verif_valid/scripts/v4-postgres/postgres-password-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Test new postgres passwords for three accounts 4 | # Echo the account names and the new suggested values 5 | 6 | for i in postgres edge mirth 7 | do 8 | echo $i "porstgres edge mirth " 9 | echo $i "ABCDEF123 ABCDEF456 ABCDEF789" 10 | psql -U $i --list 11 | echo "" 12 | done 13 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-03/A-1001-03.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | setenv PGUSER postgres 4 | 5 | psql rsnadb << __EOF > users.txt 6 | select * from users; 7 | __EOF 8 | 9 | echo "" >> users.txt 10 | date >> users.txt 11 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-04/A-1001-04.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | setenv PGUSER postgres 4 | 5 | psql rsnadb << __EOF > configurations.txt 6 | select * from configurations; 7 | __EOF 8 | 9 | echo "" >> configurations.txt 10 | date >> configurations.txt 11 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-05/A-1001-05.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | setenv PGUSER postgres 4 | 5 | psql rsnadb << __EOF > status_codes.txt 6 | select * from status_codes; 7 | __EOF 8 | 9 | echo "" >> status_codes.txt 10 | date >> status_codes.txt 11 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-06/A-1001-06.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | setenv PGUSER postgres 4 | 5 | psql rsnadb << __EOF > devices.txt 6 | select * from devices; 7 | __EOF 8 | 9 | echo "" >> devices.txt 10 | date >> devices.txt 11 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-33/extract_2.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < ../../../db/rsnadb_schema_defs.sql > rsnadb_schema_2.1.txt 4 | 5 | psql rsnadb < ../../../db/rsnadb_dump.sql > rsnadb_dump_2.1.txt 6 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-33/extract_3.0.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < ../../../db/rsnadb_schema_defs.sql > rsnadb_schema_3.0.txt 4 | psql rsnadb < ../../../db/rsnadb_dump.sql > rsnadb_dump_3.0.txt 5 | 6 | echo Compare 2.1 to 3.0 schema 7 | diff rsnadb_schema_2.1.txt rsnadb_schema_3.0.txt 8 | if ($status == 0) then 9 | echo Unix diff found no differences in schema definitions 10 | else 11 | echo Examine the diff output for differences in schemas 12 | echo This is a failure for the 2.1 to 3.0 upgrade 13 | endif 14 | 15 | echo Compare 2.1 to 3.0 data 16 | diff rsnadb_dump_2.1.txt rsnadb_dump_3.0.txt 17 | if ($status == 0) then 18 | echo Unix diff found no differences in database content 19 | else 20 | echo Examine the diff output for differences in content 21 | echo This is a failure for the 2.1 to 3.0 upgrade 22 | endif 23 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-35/A-1001-35.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | # This script tests for differences in files after a 3.0 to 3.1 update. 4 | 5 | set BASE_3_1=/usr/local/edgeserver 6 | set BASE_3_0=/usr/local/edgeserver-3.0 7 | 8 | date 9 | 10 | # The first group are files that should differ 11 | echo Testing files that should have changed 12 | foreach i (token-app.war) 13 | echo " " $i 14 | diff $BASE_3_1/$i $BASE_3_0/$i > /dev/null 15 | if ($status == 0) then 16 | echo Error: files are the same when they should differ: $i 17 | endif 18 | end 19 | 20 | # The second group are files that should not have changed 21 | 22 | echo "" 23 | echo Checking for files that should not have changed 24 | foreach i (conf/keystore.jks conf/truststore.jks) 25 | echo " " $i 26 | diff $BASE_3_1/$i $BASE_3_0/$i > /dev/null 27 | if ($status == 1) then 28 | echo Error: files differ when they should match: $i 29 | endif 30 | end 31 | 32 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-42/A-1001-42.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | # This script tests for differences in files after a 3.0 to 3.1 update. 4 | 5 | set BASE_3_2=/usr/local/edgeserver 6 | set BASE_3_1=/usr/local/edgeserver-3.1 7 | 8 | date 9 | 10 | # The first group are files that should differ 11 | echo Testing files that should have changed 12 | foreach i (token-app.war) 13 | echo " " $i 14 | diff $BASE_3_1/$i $BASE_3_0/$i > /dev/null 15 | if ($status == 0) then 16 | echo Error: files are the same when they should differ: $i 17 | endif 18 | end 19 | 20 | # The second group are files that should not have changed 21 | 22 | echo "" 23 | echo Checking for files that should not have changed 24 | foreach i (conf/keystore.jks conf/truststore.jks) 25 | echo " " $i 26 | diff $BASE_3_1/$i $BASE_3_0/$i > /dev/null 27 | if ($status == 1) then 28 | echo Error: files differ when they should match: $i 29 | endif 30 | end 31 | 32 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-42/compare_new_install_to_upgrade_files.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | find edgeserver -type f -exec diff -q '{}' /usr/local/'{}' \; 4 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-42/extract_3.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < ../../../db/rsnadb_schema_defs.sql > rsnadb_schema_3.1.txt 4 | 5 | psql rsnadb < ../../../db/rsnadb_dump.sql > rsnadb_dump_3.1.txt 6 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-42/extract_3.2-new-install.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < ../../../db/rsnadb_schema_defs.sql > rsnadb_schema_3.2-new-install.txt 4 | psql rsnadb < ../../../db/rsnadb_dump-3.2.sql > rsnadb_dump_3.2-new-install.txt 5 | 6 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-1001/A-1001-42/extract_3.2.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < ../../../db/rsnadb_schema_defs.sql > rsnadb_schema_3.2.txt 4 | psql rsnadb < ../../../db/rsnadb_dump-3.2.sql > rsnadb_dump_3.2.txt 5 | 6 | #echo Compare 3.1 to 3.2 schema 7 | #diff rsnadb_schema_3.1.txt rsnadb_schema_3.2.txt 8 | #if ($status == 0) then 9 | # echo Unix diff found no differences in schema definitions 10 | #else 11 | # echo Examine the diff output for differences in schemas 12 | # echo This is a failure for the 3.1 to 3.2 upgrade 13 | #endif 14 | # 15 | #echo Compare 3.1 to 3.2 data 16 | #diff rsnadb_dump_3.1.txt rsnadb_dump_3.2.txt 17 | #if ($status == 0) then 18 | # echo Unix diff found no differences in database content 19 | #else 20 | # echo Examine the diff output for differences in content 21 | # echo This is a failure for the 3.1 to 3.2 upgrade 22 | #endif 23 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-03a.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | my $verbose = ""; 13 | $verbose = "1" if (scalar(@ARGV) > 0); 14 | 15 | $schemaVersion= image_sharing::select_schema_version("rsnadb"); 16 | print "$schemaVersion\n"; 17 | if (!($schemaVersion eq "3.1.0")) { 18 | print "Test A-2001-03(a) fails.\n"; 19 | print "Schema version is expected to be 3.1.0, not $schemaVersion.\n"; 20 | exit(1); 21 | } else { 22 | print "Test passes: proper schema version detected: $schemaVersion\n"; 23 | print "Go check the actual schema defintions (part b)\n"; 24 | } 25 | 26 | 27 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-03b.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | set INPUT_FOLDER=data/A-2001/2.1_schema 4 | set OUTPUT_FOLDER=data/A-2001/3.1_schema 5 | mkdir -p $OUTPUT_FOLDER 6 | foreach i ( \ 7 | configurations devices exams hipaa_audit_accession_numbers hipaa_audit_mrns \ 8 | hipaa_audit_views job_sets jobs patient_merge_events patients reports roles \ 9 | schema_version status_codes studies transactions users v_exam_status v_job_status \ 10 | ) 11 | echo $i 12 | echo "\d $i;" > /tmp/schema_def.sql 13 | psql rsnadb < /tmp/schema_def.sql > $OUTPUT_FOLDER/$i.schema.txt 14 | diff -b $INPUT_FOLDER/$i.schema.txt $OUTPUT_FOLDER/$i.schema.txt > $OUTPUT_FOLDER/$i.delta.txt 15 | end 16 | 17 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-04/extract_3.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < test-cases/A-2001/A-2001-04/extract_db_records.sql > data/A-2001/A-2001-04/extract_3.1.txt 4 | 5 | if ($status != 0) then 6 | echo Error extracting data from rsnadb 3.1 schema 7 | exit 1 8 | endif 9 | 10 | echo Now diffing data extracts from 2.1 schema and 3.1 schema 11 | diff data/A-2001/A-2001-04/extract_2.1.txt data/A-2001/A-2001-04/extract_3.1.txt 12 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-04/extract_db_records.sql: -------------------------------------------------------------------------------- 1 | \qecho users; 2 | select user_id, user_login, user_name, email, crypted_password, salt, created_at, updated_at, 3 | remember_token, remember_token_expires_at, role_id, modified_date, active 4 | from users order by user_id; 5 | 6 | \qecho configurations; 7 | select key, value, modified_date from configurations order by key; 8 | 9 | \qecho devices; 10 | select device_id, ae_title, host, port_number, modified_date from devices order by device_id; 11 | 12 | \qecho patients; 13 | select patient_id, mrn, patient_name, dob, sex, street, city, state, 14 | zip_code, modified_date, consent_timestamp 15 | from patients order by patient_id; 16 | 17 | \qecho exams; 18 | select exam_id, accession_number, patient_id, exam_description, modified_date 19 | from exams order by exam_id; 20 | 21 | \qecho reports; 22 | select report_id, exam_id, proc_code, status, status_timestamp, report_text, 23 | signer, dictator, transcriber, modified_date 24 | from reports order by report_id; 25 | 26 | \qecho studies; 27 | select study_id, study_uid, exam_id, study_description, study_date, modified_date 28 | from studies order by study_id; 29 | 30 | \qecho 'hipaa_audit_accession_numbers'; 31 | select id, view_id, accession_number, modified_date 32 | from hipaa_audit_accession_numbers order by id; 33 | 34 | \qecho job_sets; 35 | select job_set_id, patient_id, user_id, email_address, modified_date, 36 | delay_in_hrs, single_use_patient_id 37 | from job_sets order by job_set_id; 38 | 39 | \qecho jobs; 40 | select job_id, job_set_id, exam_id, report_id, document_id, modified_date 41 | from jobs order by job_id; 42 | 43 | \qecho transactions; 44 | select transaction_id, job_id, status_code, comments, modified_date 45 | from transactions order by transaction_id; 46 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-04/load_and_extract_2.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | psql rsnadb < test-cases/A-2001/A-2001-04/sample_rsnadb_records.sql 4 | 5 | if ($status != 0) then 6 | echo Error loading data into rsnadb for 2.1 schema 7 | exit 1 8 | endif 9 | 10 | psql rsnadb < test-cases/A-2001/A-2001-04/extract_db_records.sql > data/A-2001/A-2001-04/extract_2.1.txt 11 | 12 | if ($status != 0) then 13 | echo Error extracting data from rsnadb 2.1 schema 14 | exit 1 15 | endif 16 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-08/extract_3.2.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if (! -e data/A-2001) then 4 | echo "Folder data/A-2001 does not exist; you are probably in the wrong starting folder." 5 | exit 1 6 | endif 7 | 8 | if (! -e data/A-2001/A-2001-08) then 9 | mkdir data/A-2001/A-2001-08 10 | endif 11 | 12 | psql rsnadb < test-cases/A-2001/A-2001-08/extract_db_records.sql > data/A-2001/A-2001-08/extract_3.2.txt 13 | 14 | if ($status != 0) then 15 | echo Error extracting data from rsnadb 3.2 schema 16 | exit 1 17 | endif 18 | 19 | echo Now diffing data extracts from 3.1 schema and 3.2 schema 20 | diff data/A-2001/A-2001-08/extract_3.1.txt data/A-2001/A-2001-08/extract_3.2.txt 21 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-08/extract_db_records.sql: -------------------------------------------------------------------------------- 1 | \qecho users; 2 | select user_id, user_login, user_name, email, crypted_password, salt, created_at, updated_at, 3 | remember_token, remember_token_expires_at, role_id, modified_date, active 4 | from users order by user_id; 5 | 6 | \qecho configurations; 7 | select key, value, modified_date from configurations order by key; 8 | 9 | \qecho devices; 10 | select device_id, ae_title, host, port_number, modified_date from devices order by device_id; 11 | 12 | \qecho patients; 13 | select patient_id, mrn, patient_name, dob, sex, street, city, state, 14 | zip_code, modified_date, consent_timestamp 15 | from patients order by patient_id; 16 | 17 | \qecho exams; 18 | select exam_id, accession_number, patient_id, exam_description, modified_date 19 | from exams order by exam_id; 20 | 21 | \qecho reports; 22 | select report_id, exam_id, proc_code, status, status_timestamp, report_text, 23 | signer, dictator, transcriber, modified_date 24 | from reports order by report_id; 25 | 26 | \qecho studies; 27 | select study_id, study_uid, exam_id, study_description, study_date, modified_date 28 | from studies order by study_id; 29 | 30 | \qecho 'hipaa_audit_accession_numbers'; 31 | select id, view_id, accession_number, modified_date 32 | from hipaa_audit_accession_numbers order by id; 33 | 34 | \qecho job_sets; 35 | select job_set_id, patient_id, user_id, email_address, modified_date, 36 | delay_in_hrs, single_use_patient_id 37 | from job_sets order by job_set_id; 38 | 39 | \qecho jobs; 40 | select job_id, job_set_id, exam_id, report_id, document_id, modified_date 41 | from jobs order by job_id; 42 | 43 | \qecho transactions; 44 | select transaction_id, job_id, status_code, comments, modified_date 45 | from transactions order by transaction_id; 46 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-08/load_and_extract_3.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | 4 | if (! -e data/A-2001) then 5 | echo "Folder data/A-2001 does not exist; you are probably in the wrong starting folder." 6 | exit 1 7 | endif 8 | 9 | if (! -e data/A-2001/A-2001-08) then 10 | mkdir data/A-2001/A-2001-08 11 | endif 12 | 13 | psql rsnadb < test-cases/A-2001/A-2001-08/sample_rsnadb_records.sql 14 | 15 | if ($status != 0) then 16 | echo Error loading data into rsnadb for 3.1 schema 17 | exit 1 18 | endif 19 | 20 | psql rsnadb < test-cases/A-2001/A-2001-08/extract_db_records.sql > data/A-2001/A-2001-08/extract_3.1.txt 21 | 22 | if ($status != 0) then 23 | echo Error extracting data from rsnadb 3.1 schema 24 | exit 1 25 | endif 26 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-09/A-2001-09a.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | my $verbose = ""; 13 | $verbose = "1" if (scalar(@ARGV) > 0); 14 | 15 | $schemaVersion= image_sharing::select_schema_version("rsnadb"); 16 | print "$schemaVersion\n"; 17 | if (!($schemaVersion eq "3.2.0")) { 18 | print "Test A-2001-09(a) fails.\n"; 19 | print "Schema version is expected to be 3.2.0, not $schemaVersion.\n"; 20 | exit(1); 21 | } else { 22 | print "Test passes: proper schema version detected: $schemaVersion\n"; 23 | print "Go check the actual schema defintions (part b)\n"; 24 | } 25 | 26 | 27 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-09/A-2001-09b.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | set INPUT_FOLDER=data/A-2001/A-2001-09/3.1_schema 4 | set OUTPUT_FOLDER=data/A-2001/A-2001-09/3.2_schema 5 | mkdir -p $OUTPUT_FOLDER 6 | foreach i ( \ 7 | configurations \ 8 | devices \ 9 | exams \ 10 | hipaa_audit_accession_numbers \ 11 | hipaa_audit_mrns \ 12 | hipaa_audit_views \ 13 | job_sets \ 14 | jobs \ 15 | patient_merge_events \ 16 | patients \ 17 | reports \ 18 | roles \ 19 | schema_version \ 20 | status_codes \ 21 | studies \ 22 | transactions \ 23 | users \ 24 | v_exam_status \ 25 | v_job_status \ 26 | ) 27 | echo $i 28 | echo "\d $i;" > /tmp/schema_def.sql 29 | psql rsnadb < /tmp/schema_def.sql > $OUTPUT_FOLDER/$i.schema.txt 30 | diff -b $INPUT_FOLDER/$i.schema.txt $OUTPUT_FOLDER/$i.schema.txt > $OUTPUT_FOLDER/$i.delta.txt 31 | end 32 | 33 | foreach i ( \ 34 | email_configurations \ 35 | email_jobs \ 36 | v_consented \ 37 | v_exams_sent \ 38 | v_patients_sent \ 39 | ) 40 | if (-e $INPUT_FOLDER/$i.schema.txt) then 41 | echo ERROR: $i $INPUT_FOLDER/$i.schema.txt should not exist in 3.1 folder 42 | endif 43 | end 44 | 45 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-09/setup.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | if (! -e data/A-2001) then 4 | echo "Folder data/A-2001 does not exist; you are probably in the wrong folder." 5 | exit 1 6 | endif 7 | 8 | set OUTPUT_FOLDER=data/A-2001/A-2001-09/3.1_schema 9 | mkdir -p $OUTPUT_FOLDER 10 | foreach i ( \ 11 | configurations \ 12 | devices \ 13 | devices_device_id_seq \ 14 | exams \ 15 | exams_exam_id_seq \ 16 | hipaa_audit_accession_numbers \ 17 | hipaa_audit_accession_numbers_id_seq \ 18 | hipaa_audit_mrns \ 19 | hipaa_audit_mrns_id_seq \ 20 | hipaa_audit_views \ 21 | hipaa_audit_views_id_seq \ 22 | job_sets \ 23 | job_sets_job_set_id_seq \ 24 | jobs \ 25 | jobs_job_id_seq \ 26 | patient_merge_events \ 27 | patient_merge_events_event_id_seq \ 28 | patients \ 29 | patients_patient_id_seq \ 30 | reports \ 31 | reports_report_id_seq \ 32 | roles \ 33 | schema_version \ 34 | schema_version_id_seq \ 35 | status_codes \ 36 | studies \ 37 | studies_study_id_seq \ 38 | transactions \ 39 | transactions_transaction_id_seq \ 40 | users \ 41 | users_user_id_seq \ 42 | v_exam_status \ 43 | v_job_status \ 44 | ) 45 | echo $i 46 | echo "\d $i;" > /tmp/schema_def.sql 47 | psql rsnadb < /tmp/schema_def.sql > $OUTPUT_FOLDER/$i.schema.txt 48 | end 49 | 50 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18.c.txt: -------------------------------------------------------------------------------- 1 | Test A-2001-18: Step C 2 | Mon Mar 20 16:07:16 CDT 2017 3 | id | version | modified_date 4 | ----+---------+------------------------------- 5 | 0 | 4.0.0 | 2017-03-20 16:06:40.217817-05 6 | (1 row) 7 | 8 | Import database and then dump schema version 9 | id | version | modified_date 10 | ----+---------+------------------------------- 11 | 0 | 4.0.0 | 2017-03-20 16:06:40.217817-05 12 | (1 row) 13 | 14 | Update schema version 15 | id | version | modified_date 16 | ----+---------+------------------------------- 17 | 0 | 4.0.0 | 2017-03-20 16:07:21.710085-05 18 | (1 row) 19 | 20 | Mon Mar 20 16:07:21 CDT 2017 21 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18a.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Extract the RSNA database 4 | # Run this script on a 3.2 or 3.2.1 system and copy rsnadb.sql to the 4.0 system 5 | 6 | pg_dump -U postgres -Fc -f rsnadb.sql rsnadb 7 | 8 | pg_dump -U postgres -Fp -a --inserts -f rsnadb-3.2.sql rsnadb 9 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18b.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Stop the system services on the 4.0 system 4 | # Run as root 5 | 6 | systemctl stop edge-server 7 | systemctl stop mirthconnect 8 | systemctl stop torquebox 9 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18c.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | LOG=A-2001-18.c.txt 5 | 6 | echo Test A-2001-18: Step C > $LOG 7 | date >> $LOG 8 | psql -U postgres rsnadb < schema.sql >> $LOG 9 | echo Import database and then dump schema version >> $LOG 10 | 11 | # Import 3.2 database into 4.0 12 | # Run this script on a 4.0 or system 13 | 14 | dropdb -U postgres rsnadb 15 | pg_restore -Fc --create -d postgres -U postgres rsnadb.sql 16 | psql -U postgres rsnadb < schema.sql >> $LOG 17 | 18 | echo Update schema version >> $LOG 19 | psql -U postgres -d rsnadb -f $RSNA_ROOT/db/RSNADB.rollout.v4.0.0.sql 20 | psql -U postgres rsnadb < schema.sql >> $LOG 21 | 22 | date >> $LOG 23 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18d.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Start the system services on the 4.0 system 4 | # Run as root 5 | 6 | systemctl start edge-server 7 | systemctl start mirthconnect 8 | systemctl start torquebox 9 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18e.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Extract the RSNA database 4 | # Run this script on a 4.0 or system 5 | 6 | pg_dump -U postgres -Fp -a --inserts -f rsnadb-4.0-system.sql rsnadb 7 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/A-2001-18f.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | grep INSERT rsnadb-4.0-system.sql > 4.0.txt 4 | grep INSERT rsnadb-3.2.sql > 3.2.txt 5 | 6 | diff -w 4.0.txt 3.2.txt 7 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/rsnadb.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RSNA/Image-Sharing-Network-Edge-Server/2f587fcc22f6876f6a90d2cccd8dffaf719895ec/verif_valid/test-cases/A-2001/A-2001-18/rsnadb.sql -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-18/schema.sql: -------------------------------------------------------------------------------- 1 | select * from schema_version; 2 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-extract-schema.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | $schemaVersion = image_sharing::select_schema_version("rsnadb"); 13 | print "Schema version: $schemaVersion\n"; 14 | 15 | @tableNames = ( "hipaa_audit_accession_numbers", 16 | "hipaa_audit_mrns", "transactions", "jobs", 17 | "job_sets", "reports", "exams", "patients", 18 | "v_exam_status", "v_job_status"); 19 | 20 | my $verbose = ""; 21 | $verbose = "1" if (scalar(@ARGV) > 0); 22 | 23 | print "\nTable Definitions\n"; 24 | foreach $t(@tableNames) { 25 | print "\n -- $t -- \n"; 26 | @columns = image_sharing::get_column_descriptions("rsnadb", $t); 27 | foreach $c(@columns) { 28 | print "$c\n"; 29 | } 30 | } 31 | 32 | @viewNames = ("v_exam_status", "v_job_status"); 33 | 34 | print "\nView Definitions\n"; 35 | foreach $v(@viewNames) { 36 | print "\n -- $v -- \n"; 37 | $viewDescription = image_sharing::get_view_description("rsnadb", $v); 38 | print "$viewDescription\n"; 39 | } 40 | 41 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/A-2001-setup.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | set OUTPUT_FOLDER=data/A-2001/2.1_schema 4 | mkdir -p $OUTPUT_FOLDER 5 | foreach i ( \ 6 | configurations devices exams hipaa_audit_accession_numbers hipaa_audit_mrns \ 7 | hipaa_audit_views job_sets jobs patient_merge_events patients reports roles \ 8 | schema_version status_codes studies transactions users v_exam_status v_job_status \ 9 | ) 10 | echo $i 11 | echo "\d $i;" > /tmp/schema_def.sql 12 | psql rsnadb < /tmp/schema_def.sql > $OUTPUT_FOLDER/$i.schema.txt 13 | end 14 | 15 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/schema_2.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | mkdir -p data/A-2001/schemas_full 4 | perl test-cases/A-2001/A-2001-extract-schema.pl > data/A-2001/schemas_full/2.1_full.txt 5 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/schema_3.0.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | mkdir -p data/A-2001/schemas_full 4 | perl test-cases/A-2001/A-2001-extract-schema.pl > data/A-2001/schemas_full/3.0_full.txt 5 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/schema_3.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | mkdir -p data/A-2001/schemas_full 4 | perl test-cases/A-2001/A-2001-extract-schema.pl > data/A-2001/schemas_full/3.1_full.txt 5 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-2001/schema_upgrade_3.1.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | mkdir -p data/A-2001/schemas_full 4 | perl test-cases/A-2001/A-2001-extract-schema.pl > data/A-2001/schemas_full/3.1_upgrade.txt 5 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-3001/A-3001-02.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | my $verbose = ""; 13 | $verbose = "1" if (scalar(@ARGV) > 0); 14 | chdir("data/A-3001"); 15 | print `perl A-3001.pl $verbose`; 16 | die if $?; 17 | chdir("../.."); 18 | 19 | @hl7_msgs = ("A-3001-02-oru"); 20 | foreach $msg(@hl7_msgs) { 21 | print "$msg\n"; 22 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-3001/$msg" . ".hl7"; 23 | print "$x\n"; 24 | print `$x`; 25 | die "Could not send HL7 message to localhost" if $?; 26 | } 27 | 28 | @patient = image_sharing::select_patient_by_mrn("rsnadb", "A-3001-02"); 29 | 30 | print "Start patient data test\n"; 31 | my %patientHash; 32 | @localPatient = ("pid", "A-3001-02", "Clark^Wilma^", "1980-12-16", "F"); 33 | %patientHash = image_sharing::append_patient_hash_global(@patient, %patientHash); 34 | %patientHash = image_sharing::append_patient_hash_local (@localPatient, %patientHash); 35 | $pass = image_sharing::check_patient(%patientHash); 36 | 37 | die "Failed A-3001-02" if ($pass == 0); 38 | 39 | print "A-3001-02 pass\n"; 40 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-3001/A-3001-03.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | my $verbose = ""; 13 | $verbose = "1" if (scalar(@ARGV) > 0); 14 | chdir("data/A-3001"); 15 | print `perl A-3001.pl $verbose`; 16 | die if $?; 17 | chdir("../.."); 18 | 19 | @hl7_msgs = ("A-3001-03-orm"); 20 | foreach $msg(@hl7_msgs) { 21 | print "$msg\n"; 22 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-3001/$msg" . ".hl7"; 23 | print "$x\n"; 24 | print `$x`; 25 | die "Could not send HL7 message to localhost" if $?; 26 | } 27 | 28 | $testMRN = "A-3001-03"; 29 | @patient = image_sharing::select_patient_by_mrn("rsnadb", $testMRN); 30 | if (scalar(@patient) < 5) { 31 | $x = scalar(@patient); 32 | if ($x == 0) { 33 | print "No patient record returned for MRN: $testMRN\n"; 34 | } else { 35 | print "Row for patient with MRN: $testMRN has only $x columns.\n"; 36 | print " We expected at least 5\n"; 37 | } 38 | die "Failed A-3001-03"; 39 | } 40 | 41 | print "Start patient data test\n"; 42 | my %patientHash; 43 | @localPatient = ("pid", $testMRN, "Clark^Ward^", "1985-11-05", "M"); 44 | %patientHash = image_sharing::append_patient_hash_global(@patient, %patientHash); 45 | %patientHash = image_sharing::append_patient_hash_local (@localPatient, %patientHash); 46 | $pass = image_sharing::check_patient(%patientHash); 47 | 48 | die "Failed A-3001-03" if ($pass == 0); 49 | 50 | print "A-3001-03 pass\n"; 51 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-3001/A-3001.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | @ passCount = 4 4 | @ failCount= 4 5 | 6 | foreach i ( A-3001-01.pl A-3001-02.pl A-3001-03.pl A-3001-04.pl) 7 | echo $i 8 | perl test-cases/A-3001/$i 9 | if ($status != 0) @ passCount -= 1 10 | echo "" 11 | end 12 | 13 | @ failCount -= $passCount 14 | 15 | echo Total tests passed: $passCount 16 | echo Total tests failed: $failCount 17 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-4001/A-4001-20.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".4001.20\tMammo^E\tA-4001-20\tA-4001-20F", 13 | ); 14 | 15 | foreach $im(@image_sets) { 16 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 17 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 18 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 19 | my $inputFolder = "/opt/test-data/mammo_image_sets"; 20 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 21 | } 22 | 23 | } 24 | 25 | 26 | ## Main starts here 27 | image_sharing::check_environment(); 28 | image_sharing::clear_db("rsnadb"); 29 | 30 | my $ae = "DCM4CHEE"; 31 | my $host = "10.242.100.79"; 32 | my $port = "11112"; 33 | die "Set host to real value, not $host.\nSearch for $host in this script and repair it.\n " if ($host eq "10.242.100.999"); 34 | 35 | 36 | my $verbose = ""; 37 | $verbose = "1" if (scalar(@ARGV) > 0); 38 | chdir("data/A-4001"); 39 | print `perl A-4001.pl $verbose`; 40 | die if $?; 41 | chdir("../.."); 42 | 43 | @hl7_msgs = ( 44 | "A-4001-20-orm", "A-4001-20-oru", 45 | ); 46 | foreach $msg(@hl7_msgs) { 47 | print "$msg\n"; 48 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-4001/$msg" . ".hl7"; 49 | print "$x\n"; 50 | print `$x`; 51 | die "Could not send HL7 message to localhost" if $?; 52 | } 53 | 54 | send_DICOM($ae, $host, $port); 55 | 56 | my $y = 57 | "The prep part of test A-4001-20 is complete.\n" . 58 | " The database is loaded with order records. The next part of\n" . 59 | " the test process will send images to the system.\n"; 60 | 61 | print $y; 62 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-4001/A-4001-21.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".4001.21\tNuclear^Med\tA-4001-21\tA-4001-21F", 13 | ); 14 | 15 | foreach $im(@image_sets) { 16 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 17 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 18 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 19 | my $inputFolder = "/opt/test-data/nmi_image_sets"; 20 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 21 | } 22 | 23 | } 24 | 25 | 26 | ## Main starts here 27 | image_sharing::check_environment(); 28 | image_sharing::clear_db("rsnadb"); 29 | 30 | my $ae = "DCM4CHEE"; 31 | my $host = "10.242.100.79"; 32 | my $port = "11112"; 33 | die "Set host to real value, not $host.\nSearch for $host in this script and repair it.\n " if ($host eq "10.242.100.999"); 34 | 35 | 36 | my $verbose = ""; 37 | $verbose = "1" if (scalar(@ARGV) > 0); 38 | chdir("data/A-4001"); 39 | print `perl A-4001.pl $verbose`; 40 | die if $?; 41 | chdir("../.."); 42 | 43 | @hl7_msgs = ( 44 | "A-4001-21-orm", "A-4001-21-oru", 45 | ); 46 | foreach $msg(@hl7_msgs) { 47 | print "$msg\n"; 48 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-4001/$msg" . ".hl7"; 49 | print "$x\n"; 50 | print `$x`; 51 | die "Could not send HL7 message to localhost" if $?; 52 | } 53 | 54 | send_DICOM($ae, $host, $port); 55 | 56 | my $y = 57 | "The prep part of test A-4001-21 is complete.\n" . 58 | " The database is loaded with order records. The next part of\n" . 59 | " the test process will send images to the system.\n"; 60 | 61 | print $y; 62 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-4001/A-4001-22.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".4001.22\tEvidence^One\tA-4001-22\tA-4001-22F", 13 | ); 14 | 15 | foreach $im(@image_sets) { 16 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 17 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 18 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 19 | my $inputFolder = "/opt/test-data/evidence_documents"; 20 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 21 | } 22 | 23 | } 24 | 25 | 26 | ## Main starts here 27 | image_sharing::check_environment(); 28 | image_sharing::clear_db("rsnadb"); 29 | 30 | my $ae = "DCM4CHEE"; 31 | my $host = "10.242.100.79"; 32 | my $port = "11112"; 33 | die "Set host to real value, not $host.\nSearch for $host in this script and repair it.\n " if ($host eq "10.242.100.999"); 34 | 35 | 36 | my $verbose = ""; 37 | $verbose = "1" if (scalar(@ARGV) > 0); 38 | chdir("data/A-4001"); 39 | print `perl A-4001.pl $verbose`; 40 | die if $?; 41 | chdir("../.."); 42 | 43 | @hl7_msgs = ( 44 | "A-4001-22-orm", "A-4001-22-oru", 45 | ); 46 | foreach $msg(@hl7_msgs) { 47 | print "$msg\n"; 48 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-4001/$msg" . ".hl7"; 49 | print "$x\n"; 50 | print `$x`; 51 | die "Could not send HL7 message to localhost" if $?; 52 | } 53 | 54 | send_DICOM($ae, $host, $port); 55 | 56 | my $y = 57 | "The prep part of test A-4001-22 is complete.\n" . 58 | " The database is loaded with order records. The next part of\n" . 59 | " the test process will send images to the system.\n"; 60 | 61 | print $y; 62 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-4001/A-4001-23.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".4001.23\tKey^Object\tA-4001-23\tA-4001-23F", 13 | ); 14 | 15 | foreach $im(@image_sets) { 16 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 17 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 18 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 19 | my $inputFolder = "/opt/test-data/key_object_selection"; 20 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 21 | } 22 | 23 | } 24 | 25 | 26 | ## Main starts here 27 | image_sharing::check_environment(); 28 | image_sharing::clear_db("rsnadb"); 29 | 30 | my $ae = "DCM4CHEE"; 31 | my $host = "10.242.100.79"; 32 | my $port = "11112"; 33 | die "Set host to real value, not $host.\nSearch for $host in this script and repair it.\n " if ($host eq "10.242.100.999"); 34 | 35 | 36 | my $verbose = ""; 37 | $verbose = "1" if (scalar(@ARGV) > 0); 38 | chdir("data/A-4001"); 39 | print `perl A-4001.pl $verbose`; 40 | die if $?; 41 | chdir("../.."); 42 | 43 | @hl7_msgs = ( 44 | "A-4001-23-orm", "A-4001-23-oru", 45 | ); 46 | foreach $msg(@hl7_msgs) { 47 | print "$msg\n"; 48 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-4001/$msg" . ".hl7"; 49 | print "$x\n"; 50 | print `$x`; 51 | die "Could not send HL7 message to localhost" if $?; 52 | } 53 | 54 | send_DICOM($ae, $host, $port); 55 | 56 | my $y = 57 | "The prep part of test A-4001-23 is complete.\n" . 58 | " The database is loaded with order records. The next part of\n" . 59 | " the test process will send images to the system.\n"; 60 | 61 | print $y; 62 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-4001/A-4001.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | @ passCount = 0 4 | @ failCount = 0 5 | 6 | foreach i ( \ 7 | A-4001-01.pl A-4001-02.pl A-4001-03.pl A-4001-04.pl A-4001-05.pl \ 8 | A-4001-06.pl A-4001-07.pl \ 9 | A-4001-12.pl \ 10 | ) 11 | echo $i 12 | perl test-cases/A-4001/$i 13 | if ($status == 0) then 14 | @ passCount += 1 15 | else 16 | @ failCount += 1 17 | endif 18 | echo "" 19 | end 20 | 21 | echo Total tests passed: $passCount 22 | echo Total tests failed: $failCount 23 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-5001/A-5001-03.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | image_sharing::clear_db("rsnadb"); 11 | 12 | my $x = 13 | "Test A-5001-03 has cleared the database of all patients.\n" . 14 | " The remainder of the test consists of manual steps documented\n" . 15 | " in the test procedure.\n"; 16 | 17 | print $x; 18 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-5001/A-5001-05-no-consent.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | 11 | @patientList = image_sharing::select_patients_no_consent ("rsnadb"); 12 | 13 | my $x = scalar(@patientList); 14 | print "Patients no consent: $x\n"; 15 | foreach $patient(@patientList) { 16 | print " $patient\n"; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-5001/A-5001-05-with-consent.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | 11 | @patientList = image_sharing::select_patients_with_consent ("rsnadb"); 12 | 13 | my $x = scalar(@patientList); 14 | print "Patients with consent: $x\n"; 15 | foreach $patient(@patientList) { 16 | print " $patient\n"; 17 | } 18 | 19 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-5001/A-5001-08.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".5001.8\tExpedited^Turner\tA-5001-08-1\tA-5001-08-1F" 13 | ); 14 | 15 | foreach $im(@image_sets) { 16 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 17 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 18 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 19 | my $inputFolder = "$MESA_TARGET/storage/modality/MR/MR1/MR1S2"; 20 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 21 | } 22 | 23 | } 24 | 25 | 26 | ## Main starts here 27 | image_sharing::check_environment(); 28 | image_sharing::clear_db("rsnadb"); 29 | 30 | my $ae = "DCM4CHEE"; 31 | my $host = "10.242.100.999"; 32 | my $port = "11112"; 33 | die "Set host to real value, not $host.\nSearch for $host in this script and repair it.\n " if ($host eq "10.242.100.999"); 34 | 35 | 36 | my $verbose = ""; 37 | $verbose = "1" if (scalar(@ARGV) > 0); 38 | chdir("data/A-5001"); 39 | print `perl A-5001.pl $verbose`; 40 | die if $?; 41 | chdir("../.."); 42 | 43 | @hl7_msgs = ( 44 | "A-5001-08-1-orm", 45 | "A-5001-08-1-oru" 46 | ); 47 | foreach $msg(@hl7_msgs) { 48 | print "$msg\n"; 49 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-5001/$msg" . ".hl7"; 50 | print "$x\n"; 51 | print `$x`; 52 | die "Could not send HL7 message to localhost" if $?; 53 | } 54 | 55 | send_DICOM($ae, $host, $port); 56 | 57 | my $y = 58 | "The automated part of test A-5001-08 is complete.\n" . 59 | " The database is loaded with records. The next part of\n" . 60 | " the test process consists of manual steps described\n" . 61 | " in the test procedure.\n"; 62 | 63 | print $y; 64 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-5005/A-5005-04-reports.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | ## Main starts here 9 | image_sharing::check_environment(); 10 | 11 | # This is copy/paste from 2005-05-04, but we do not clear the databases here. 12 | # We are just sending the reports later. 13 | # image_sharing::clear_db("rsnadb"); 14 | 15 | my $verbose = ""; 16 | $verbose = "1" if (scalar(@ARGV) > 0); 17 | chdir("data/A-5005"); 18 | print `perl A-5005.pl $verbose`; 19 | die if $?; 20 | chdir("../.."); 21 | 22 | @hl7_msgs = ( 23 | # Washington 24 | "A-5005-04-1-oru", 25 | # Lincoln 26 | "A-5005-04-2a-complete", 27 | # Grant 28 | "A-5005-04-3a-oru", 29 | # Johnson 30 | ); 31 | foreach $msg(@hl7_msgs) { 32 | print "$msg\n"; 33 | my $x = "$MESA_TARGET/bin/send_hl7 localhost 20000 data/A-5005/$msg" . ".hl7"; 34 | print "$x\n"; 35 | print `$x`; 36 | die "Could not send HL7 message to localhost" if $?; 37 | } 38 | 39 | my $y = 40 | "The automated part of test A-5005-04 is complete.\n" . 41 | " The database is loaded with records. The next part of\n" . 42 | " the test process consists of manual steps described\n" . 43 | " in the test procedure.\n"; 44 | 45 | print $y; 46 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-7001/NistRepositoryManager.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Mar 22, 2011 3 | 4 | @author: mkelse01 5 | ''' 6 | from time import sleep 7 | import os 8 | import sys 9 | from subprocess import Popen, PIPE 10 | 11 | class NistRepositoryManager(): 12 | ''' 13 | classdocs 14 | ''' 15 | 16 | def __init__(self, scriptDirectory): 17 | self.scriptDirectory = scriptDirectory; 18 | self.process = None; 19 | 20 | def startServer(self): 21 | cmd = [self.scriptDirectory + '/startup.sh']; 22 | self.process = Popen(cmd, stdout=PIPE, stderr=PIPE); 23 | out, err = self.process.communicate(); 24 | sleep(2); 25 | print out; 26 | if err != '': 27 | print 'ERROR\n', err; 28 | return (self.process.pid > 0); 29 | 30 | def stopServer(self): 31 | print 'Stopping NIST Server' 32 | try: 33 | cmd = [self.scriptDirectory + '/shutdown.sh']; 34 | self.process = Popen(cmd, stdout=PIPE, stderr=PIPE); 35 | out, err = self.process.communicate(); 36 | sleep(2); 37 | print out; 38 | if err != '': 39 | print 'ERROR\n', err; 40 | except: 41 | None; 42 | return (self.process.pid > 0); 43 | 44 | def __del__(self): 45 | cmd = [self.scriptDirectory + '/shutdown.sh']; 46 | try: 47 | self.process = Popen(cmd, stdout=PIPE, stderr=PIPE); 48 | except: 49 | None; 50 | 51 | def main(): 52 | # run simple class test 53 | receiver = NistRepositoryManager('/usr/local/tomcat1/bin'); 54 | receiver.startServer(); 55 | sleep(5); 56 | receiver.stopServer(); 57 | 58 | 59 | if __name__ == "__main__": 60 | print 'Running NistRepositoryManager as main()' 61 | main(); 62 | sys.exit(0) # exit indicating normal execution 63 | -------------------------------------------------------------------------------- /verif_valid/test-cases/A-7002/id_file: -------------------------------------------------------------------------------- 1 | 6 -------------------------------------------------------------------------------- /verif_valid/test-cases/A-7002/setEnvironmet.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Setup environment variables used in A-7002 tests 3 | # 4 | # Local file directories 5 | 6 | export EXTERNALTOOLSDIR='/home/rsna/Image-Sharing-Network-Edge-Server/verif_valid/External-Tools' 7 | export NISTSCRIPTDIRECTORY='/usr/local/tomcat/apache-tomcat-7.0.62/bin' 8 | export TEMPROOT='/tmp' 9 | export MESADIR='/opt/mesa' 10 | export MESATOOLDIR='/opt/mesa/bin' 11 | export DATAROOT='/home/rsna/Image-Sharing-Network-Edge-Server/verif_valid/data' 12 | export DCM4CHEDIR='/opt/dcm4che/dcm4che-2.0.25' 13 | 14 | 15 | # Image Share URLs 16 | export EDGEHOST='10.242.100.64' 17 | 18 | export PACSAETITLE='DCM4CHEE' 19 | export PACSHOST='10.242.100.66' 20 | export PACSPORT='11112' 21 | 22 | export MIRTHHL7HOST='10.242.100.64' 23 | export MIRTHHL7PORT='20000' 24 | 25 | 26 | # NIST Repository URLs 27 | #export REGISTRYURL='http://localhost:3600' 28 | export REGISTRYURL='http://localhost:28080/xdstools2/sim/a2de485d-22ea-4c42-937d-8e603e9c2266/reg/prb' 29 | export REPOSITORYURL='http://localhost:28080/xdstools2/sim/a2de485d-22ea-4c42-937d-8e603e9c2266/rep/prb' 30 | export REPOSITORYUID='1.3.6.1.4.1.19376.2.840.1.1.2.1' 31 | -------------------------------------------------------------------------------- /verif_valid/test-cases/F-1004/F-1004-01.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Env; 4 | use DBI; 5 | use lib "scripts"; 6 | require image_sharing; 7 | 8 | sub send_DICOM { 9 | my ($ae, $host, $port) = @_; 10 | 11 | @image_sets = ( 12 | ".5001.1\tWalters^Edwin\tA-5001-04-1\tA-5001-04-1F", 13 | ".5001.2\tOsgood^Walter\tA-5001-04-2\tA-5001-04-2F", 14 | ".5001.3\tDewalt^Kim\tA-5001-04-3\tA-5001-04-3F", 15 | ".5001.4\tDemarco^K\tA-5001-04-4\tA-5001-04-4F", 16 | ".5001.5\tDemarco^K\tA-5001-04-4\tA-5001-04-5F" 17 | ); 18 | 19 | foreach $im(@image_sets) { 20 | my($uidSuffix, $name, $id, $acc) = split("\t", $im); 21 | $uidSuffix = $uidSuffix . image_sharing::generate_date_time(); 22 | $uidSuffix = $uidSuffix . ":" . $uidSuffix . ":" . $uidSuffix; 23 | my $inputFolder = "$MESA_TARGET/storage/modality/MR/MR1/MR1S2"; 24 | image_sharing::cstore($inputFolder, $ae, $host, $port, $name, $id, $acc, $uidSuffix); 25 | } 26 | 27 | } 28 | 29 | 30 | ## Main starts here 31 | image_sharing::check_environment(); 32 | 33 | my $ae = "CTP"; 34 | my $host = "localhost"; 35 | my $port = "1081"; 36 | 37 | 38 | my $verbose = ""; 39 | $verbose = "1" if (scalar(@ARGV) > 0); 40 | 41 | send_DICOM($ae, $host, $port); 42 | 43 | my $y = 44 | "The automated part of test F-1004-01 is complete.\n" . 45 | " The database is loaded with records. The next part of\n" . 46 | " the test process consists of manual steps described\n" . 47 | " in the test procedure.\n"; 48 | 49 | print $y; 50 | --------------------------------------------------------------------------------