コード例 #1
0
        private void InsertOutboundMessage(OutboundMessageStore store)
        {
            string sql = "select outbounddestination_id, destinationip, destinationport from interop.outbounddestination";

            DataSet ds = DataServices.DataSetFromSQL(sql, new List <KeyValuePair <string, object> >());

            string insertSQL = "INSERT INTO interop.outboundmessagestore( " +
                               "_createdsource, _createdby, outboundmessagestore_id, message_id, message, destinationip, destinationport, " +
                               "sendstatus, person_id, encounter_id, hospitalnumber, empinumber) " +
                               "VALUES(@createdsource, @createdby, @outboundmessagestore_id, @message_id, @message, @destinationip, @destinationport, " +
                               "@sendstatus, @person_id, @encounter_id, @hospitalnumber, @empinumber) ";

            var insertParamList = new List <KeyValuePair <string, object> >()
            {
                new KeyValuePair <string, object>("createdsource", "SynapseDynamicAPI"),
                new KeyValuePair <string, object>("createdby", "SynapseDynamicAPI"),
                new KeyValuePair <string, object>("outboundmessagestore_id", store.OutboundMessageStore_Id),
                new KeyValuePair <string, object>("message_id", store.Message_Id),
                new KeyValuePair <string, object>("message", store.Message),
                new KeyValuePair <string, object>("destinationip", Convert.ToString(ds.Tables[0].Rows[0]["destinationip"])),
                new KeyValuePair <string, object>("destinationport", Convert.ToString(ds.Tables[0].Rows[0]["destinationport"])),
                new KeyValuePair <string, object>("sendstatus", store.SendStatus),
                new KeyValuePair <string, object>("person_id", store.Person_Id),
                new KeyValuePair <string, object>("encounter_id", store.Encounter_Id),
                new KeyValuePair <string, object>("hospitalnumber", store.HospitalNumber),
                new KeyValuePair <string, object>("empinumber", store.EMPINumber)
            };

            DataServices.ExcecuteNonQueryFromSQL(insertSQL, insertParamList);
        }
コード例 #2
0
        public string GenerateInpatientTransferMessage(string encounterId)
        {
            string messageControlId = null;
            string mrnpid           = _configuration["SynapseCore:Settings:MRN_ID_TYPE"];
            string empipid          = _configuration["SynapseCore:Settings:EMPI_ID_TYPE"];
            string sql = "select ebenc.wardcode, beds.baycode, beds.bedcode, to_char(ebenc.edd, 'YYYYMMDDHH24MISS') as edd, enc.visitnumber, " +
                         "enc.consultingdoctortext, exenc.consultingdoctorgmccode, exenc.consultingdoctorpasid, exenc.specialtycode, " +
                         "enc.person_id, enc.encounter_id, enc.patientclasscode, mrnpid.idnumber as mrn, nhspid.idnumber as empi, " +
                         "ebenc.bedtransferdatetime " +
                         "from entitystorematerialised.local_eboards_encounter ebenc " +
                         "inner join entitystorematerialised.core_encounter enc on enc.encounter_id = ebenc.encounter_id " +
                         "left outer join entitystorematerialised.extended_encounter exenc on enc.encounter_id = exenc.encounter_id " +
                         "left outer join entitystorematerialised.meta_wardbaybed beds on beds.wardbaybed_id = ebenc.bedcode " +
                         "left outer join entitystorematerialised.core_personidentifier mrnpid on enc.person_id = mrnpid.person_id and mrnpid.idtypecode = '" + mrnpid + "' " +
                         "left outer join entitystorematerialised.core_personidentifier nhspid on enc.person_id = nhspid.person_id and nhspid.idtypecode = '" + empipid + "' " +
                         "where enc.encounter_id = @encounter_id";

            var selectParamList = new List <KeyValuePair <string, object> >()
            {
                new KeyValuePair <string, object>("encounter_id", encounterId)
            };

            DataSet ds = new DataSet();

            ds = DataServices.DataSetFromSQL(sql, selectParamList);
            DataTable dt = ds.Tables[0];

            if (dt.Rows.Count > 0)
            {
                InpatientTransferMessageModel messageData = new InpatientTransferMessageModel()
                {
                    BayCode = Convert.ToString(dt.Rows[0]["baycode"]),
                    BedCode = Convert.ToString(dt.Rows[0]["bedcode"]),
                    ConsultingDoctorGMCCode = Convert.ToString(dt.Rows[0]["consultingdoctorgmccode"]),
                    ConsultingDoctorName    = Convert.ToString(dt.Rows[0]["consultingdoctortext"]),
                    ConsultingDoctorPASId   = Convert.ToString(dt.Rows[0]["consultingdoctorpasid"]),
                    EMPI                  = Convert.ToString(dt.Rows[0]["empi"]),
                    Encounter_id          = Convert.ToString(dt.Rows[0]["encounter_id"]),
                    ExpectedDischargeDate = Convert.ToString(dt.Rows[0]["edd"]),
                    MRN = Convert.ToString(dt.Rows[0]["mrn"]),
                    PatinetClassCode    = Convert.ToString(dt.Rows[0]["patientclasscode"]),
                    Person_Id           = Convert.ToString(dt.Rows[0]["person_id"]),
                    SpecialtyCode       = Convert.ToString(dt.Rows[0]["specialtycode"]),
                    VisitNumber         = Convert.ToString(dt.Rows[0]["visitnumber"]),
                    WardCode            = Convert.ToString(dt.Rows[0]["wardcode"]),
                    BedTransferDateTime = (dt.Rows[0]["bedtransferdatetime"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dt.Rows[0]["bedtransferdatetime"]))
                };

                var hl7Message = HL7MessageServices.GenerateInpatientTransferMessage(messageData, out messageControlId);

                OutboundMessageStore store = new OutboundMessageStore()
                {
                    EMPINumber              = Convert.ToString(dt.Rows[0]["empi"]),
                    Encounter_Id            = Convert.ToString(dt.Rows[0]["encounter_id"]),
                    HospitalNumber          = Convert.ToString(dt.Rows[0]["mrn"]),
                    Message                 = hl7Message,
                    Message_Id              = Guid.NewGuid().ToString(),
                    OutboundMessageStore_Id = Guid.NewGuid().ToString(),
                    Person_Id               = Convert.ToString(dt.Rows[0]["person_id"]),
                    SendStatus              = 0
                };

                InsertOutboundMessage(store);
            }


            return(messageControlId);
        }