まとめ
科学技術の急速な発展は人々の日常生活に大きな変化をもたらし、電子情報技術の急速な発展により、さまざまな分野で電子情報技術の応用レベルが普及し、応用されています。情報化時代の到来は、もはや止められないファッショントレンドとなり、人類の発展の歴史は新たな時代を迎えています。実際のアプリケーションでは、ソフトウェアの動作ルールと開発手順が適用され、Python テクノロジーを使用して医療製品情報推奨システムが構築されます。
この設計は主に、人間化、高効率、利便性などの利点を組み合わせた医療製品情報推奨システムを実装し、システムユーザー、リソース管理、掲示板管理、カルーセルチャート、疾患管理、医療分類、医薬品、相談記録を完了します。 、売上データおよびその他の機能モジュール。システムはブラウザを介してサーバーと通信し、データのやり取りと変更を実現します。このシステムは、科学的な管理方法と便利なサービスにより、作業効率を向上させ、データ保管のエラーや漏れを削減します。医療製品情報推奨システムは、Python 言語を使用し、MVVM モデルに基づいて Flask テクノロジーを使用して開発され、Eclipse 2017 CI 10 コンパイラーを使用して記述され、データに関しては、主に Microsoft の MySQL リレーショナル データベースをデータ記憶媒体として使用し、フロントエンドのHTML+CSSテクノロジーと連携してシステムの開発が完了します。
キーワード: 医療製品情報レコメンドシステム Python MySQL
抽象的な
科学技術の急速な発展は人々の日常生活に大きな変化をもたらしました。電子情報技術の急速な発展により、あらゆる分野における電子情報技術の応用レベルが普及し、応用されています。情報化時代の到来は抗しがたいファッショントレンドとなり、人類の発展の歴史は新たな時代を迎えています。実際のアプリケーションでは、ソフトウェアの作業ルールと開発手順を適用し、Python テクノロジーを使用して医療製品情報推奨システムを構築します。
この設計は主に、人間化、効率性、利便性の利点を統合した医療製品情報推奨システムを実現し、システムユーザー、リソース管理、掲示板管理、ローテーションチャート、疾患管理、医療分類、医薬品、受付記録、販売データ、他の機能モジュール。システムはブラウザを介してサーバーと通信し、データのやり取りと変更を実現します。科学的な管理と便利なサービスにより、作業効率を向上させ、データ保管のミスや漏れを削減します。医療製品情報推奨システムは Python 言語を使用し、開発には MVVM モードに基づく Flask テクノロジーを採用し、記述には Eclipse 2017 CI 10 コンパイラーを使用します。データに関しては、主に Microsoft の MySQL リレーショナル データベースをデータ記憶媒体として使用し、フォアグラウンドの HTML+CSS テクノロジーと連携してシステム開発を完了します。
キーワード:医療製品情報レコメンド システム Python MySQL
1 はじめに
1.1 トピック選択の背景
情報技術の急速な発展に伴い、人々は医療および健康サービスに対するより高い要求を提示しています。現在、我が国の医療機関には、医師が効果的な個別の診断や治療計画を持っていない、患者がタイムリーな保健指導を受けることが難しいなどの共通の問題があります。このため、医薬品情報推奨システムの構築が最優先課題となっている。このトピックは、医師の診断効率と患者の医療経験を向上させるために、データマイニング技術に基づいた医療製品情報推奨プラットフォームを設計および実装することを目的としています。同時に、インターネット+ビッグデータ技術を利用して、従来の病院情報システムを情報管理とインテリジェントサービスを統合した新しい医療サービスシステムにアップグレードします。高品質かつ効率的な医療およびヘルスケアサービスを一般の人々により良く提供できるようにするためです。したがって、データマイニングに基づく医薬品情報推薦システムの研究は非常に重要である。現在、国内の医療機関の多くは手作業による方法で医療製品情報を個別にカスタマイズし、推奨しています。しかし、このアプローチには多くの欠点があります。例: 情報が期限内に配信されない。情報フィードバックが十分に包括的ではないなど。これらの欠点は医療資源の利用に深刻な影響を及ぼします。それは個別化された医療サービスのさらなる推進を妨げます。また、業界全体の進歩や発展にもつながりません。患者様に的確な医療製品情報サービスをより良く提供するため。人々の増大する個別ニーズに応えるため。インテリジェントな医療製品情報プッシュプラットフォームを構築することが急務となっています。これにより、個別化された医療製品情報の効果的な管理と活用が可能になります。病院の情報化レベルとサービスレベルを向上させる。最終的な目標は、コストを削減し、効率を向上させることです。そして、良好な経済的利益、社会的利益、環境的利益を達成します。したがって。この記事では、理論的および実践的な側面の両方からこれについて説明します。本稿は主に、現在の国内の医薬品情報推奨システムの既存の問題点と原因を分析します。これらの問題について詳細な分析を実施します。最後に、実際の状況に基づいて、比較的完全なソリューションが設計されました。特定の機能モジュールが含まれます。それは一定の実用的な重要性を持っています。
1.2研究状況
レコメンドシステムは、インターネット上の情報過多の問題を解決するために提案されたインテリジェントエージェントシステムであり、システムによって取得された情報をレコメンドアルゴリズムを使用して分析し、特定のユーザーの好み、習慣、興味に基づいて該当する情報をレコメンドすることができます。ユーザーが必要とする有益な情報をすぐに入手できるようにします。パーソナライズされた情報取得に対する人々の要求が日に日に高まっているため、レコメンデーション システムはこの傾向を利用して、さまざまなユーザーにパーソナライズされたサービスを提供しています。本サービスは、ユーザーのパーソナライズされたニーズに応えることを目的としたユーザー中心のサービスであり、ユーザーニーズの変化に応じてレコメンド情報を動的に変更することができるため、ユーザー一人ひとりにパーソナライズされたレコメンドサービスが受けられます。
1992年に誕生したTapestryシステムは、学術界で本格的な実用価値を備えた初めての推薦システムと考えられており、協調フィルタリングアルゴリズムを核とした構築アルゴリズムを核とした、前例のない電子メール推薦システムでした。それ以来、コンピュータ技術とインターネット技術の成熟と発展に伴い、推奨システムは徐々に電子商取引の分野に適用され、推奨システムはますます多くの専門家や学者の注目を集めるようになりました。同時に、ACM データマイニンググループ SIGKDD は 1999 年に研究グループを設立しました。このグループのテーマは Web マイニング技術とレコメンデーション技術であり、パーソナライズされたレコメンデーション システムに関するレポートをまとめました。これは、レコメンデーション システムがすでに実用化されていることを示し、大きな注目を集めました。 2000 年に NEC 研究所の DB Kurt らが CiteSeer 検索エンジンにパーソナライズされたレコメンド機能を導入し、検索エンジンのパーソナライズされたサービス機能も実現しました。それ以来、パーソナライズされた情報レコメンデーション システムが学術界の注目の研究対象となり、この理論に基づいて多くの優れたレコメンデーション システムが生み出されてきました | 5. たとえば、大規模な電子商取引プラットフォーム EBay はユーザーの購入を利用しています。購入した製品の記録とユーザー A のスコアリング システムを使用し、同じ製品に対する他の消費者の満足度を組み合わせて、ユーザーにパーソナライズされた推奨サービスを提供します。
1.3 Flask フレームワーク
Flask は Python 言語で書かれた軽量でカスタマイズ可能なフレームワークで、同じ種類の他のフレームワークよりも柔軟で軽量、安全で使いやすいです。MVC モデルとうまく組み合わせて開発できるため、開発者が協力して小規模なチームで機能豊富な中小規模の Web サイトやWeb サービスの実装を短期間で完了できます。また、Flask は高いカスタマイズ性を備えており、ユーザーは独自のニーズに応じて対応する機能を追加することができ、コア機能をシンプルに保ちながら機能を充実および拡張できます。強力なプラグイン ライブラリにより、ユーザーはパーソナライズされた Web サイトを実装できます。強力な Web サイトをカスタマイズして開発できます。
Flask は、Python プログラミング言語を使用して関連機能を実装する非常に人気のある Web フレームワークです。マイクロフレームワークと呼ばれます. 「マイクロ」とは、Web アプリケーション全体を Python ファイルに入れるという意味ではありません. マイクロフレームワークの「マイクロ」とは、Flask がコードをシンプルにして拡張しやすいようにすることを目的としているという意味です. Flask フレームワークの主な特徴は、コア構成は比較的シンプルですが、拡張性と互換性が高く、プログラマは Python 言語を使用して Web サイトや Web サービスを迅速に実装できます。通常、データベースやテンプレートエンジンなどのオブジェクトは指定されておらず、ユーザーはニーズに応じてさまざまなデータベースを選択できます。Flask自体はフォーム検証機能を提供しておらず、プロジェクト実装時に自由に設定できるため、アプリケーション開発のためのデータベース抽象化層の基本コンポーネントを提供し、フォームデータの正当性検証、ファイルアップロード処理、ユーザー本人認証、データベース統合などの機能をサポートします。 . . Flask には主に、業務処理機能とセキュリティ機能を担う Werkzeug と Jinja2 という 2 つのコア関数ライブラリが含まれており、これらの基本機能により、Web プロジェクト開発プロセスに豊富な基本コンポーネントが提供されます。Werkzeug ライブラリは非常に強力で、比較的完全な機能を備えています。URL ルーティング リクエストの統合をサポートし、一度に複数のユーザーからのアクセス リクエストに応答できます。Cookie とセッションの管理をサポートし、ID キャッシュ データを通じて長期的な接続関係を確立し、ユーザーのアクセス速度を向上します。対話型 Javascript をサポートします。ユーザー エクスペリエンスを向上させるためのデバッグ。基本的な HTTP トランザクションを処理し、クライアントによってプッシュされたアクセス要求に迅速に応答できます。Jinja2 ライブラリは、HTML の自動転送機能をサポートしており、外部ハッカーによるスクリプト攻撃を適切に制御できます。システムは非常に高速に実行され、ページ読み込みプロセスはソース コードを Python バイトコードにコンパイルして、テンプレートの効率的な操作を実現します。テンプレート継承メカニズムは、テンプレートのコンテンツを変更および維持して、さまざまなニーズを持つユーザーに対応するテンプレートを提供します。現在、Python 用の Web フレームワークが多数あります。Flaskの他に、django、Web2pyなどもあります。その中でも、現在最もよく使われている Python フレームワークは Django です。ただし、Django は、Java の EJB (Enterprise JavaBeans JavaEE サーバー側コンポーネント モデル) と同様、主に大規模な Web サイトの開発に使用されますが、ほとんどの小規模な Web サイトの開発には SSH (Struts+Spring+Hibernat の JavaEE 統合フレームワーク) を使用して使用されます。他の軽量フレームワークと比較して、Flask フレームワークは優れた拡張性を備えており、他の Web フレームワークでは代替できません。
1.4 B/S システムの動作原理
B/S アーキテクチャは、ブラウザ要求とサーバー応答の動作モードを採用しています。
ユーザーは、ブラウザーを介して、インターネット上の Web サーバーによって生成されたテキスト、データ、画像、アニメーション、ビデオ オン デマンド、サウンド、その他の情報にアクセスできます。
各 Web サーバーはさまざまな方法でデータベース サーバーに接続でき、実際には大量のデータがデータベース サーバーに保存されます。
プログラムをWebサーバーからローカルにダウンロードして実行します。ダウンロード プロセス中にデータベースに関連する命令が見つかった場合、Web サーバーは解釈と実行のためにその命令をデータベース サーバーに渡し、Web サーバーに返します。 Web サーバーはそれをユーザーに返します。この構造では、多数のネットワークが接続されて巨大なネットワーク、つまりグローバルネットワークが形成されます。各企業はこの構造に基づいて独自のインターネットを構築できます。
B/Sモードでは、ユーザーがブラウザを介してネットワーク上に分散した多数のサーバーにアクセスを要求し、ブラウザの要求はサーバーで処理され、処理結果と対応する情報がブラウザに返されます。 その他のデータ すべての処理とリクエストWeb サーバーによって完了します。このフレームワーク構造とオペレーティング システム内に組み込まれたブラウザにより、この構造は今日のソフトウェア アプリケーションの主流の構造パターンになりました。
1.5論文の構成整理
予備データの検索と他の論文の内容の参照を通じて、この医療製品情報推奨システムの論文は主に次の章に分かれています。
第 1 章ではプロジェクトの背景と目的について説明します。
第 2 章では、システム要件を分析します。
第 3 章では、Web サイトの全体的なデザインについて説明します。
第 4 章では、主に技術機能モジュールの機能に基づいて、医療製品情報推奨システムの詳細な機能の実装を明確にします。
第 5 章では、システムのデバッグとテストの記録をいくつか示します。
2医療製品情報推奨システムの要件分析
2.1 システムの実現可能性分析
2.1.1 技術的実現可能性分析
医療製品情報推奨システムは、データ ストレージに MYSQL データベースを使用しており、医療製品情報推奨システムの開発では、Python、HTML、pycharm、Flask などの開発ツールが使用されており、作成に多くの利便性をもたらします。仕事。 。このシステムは B/S モードを使用して開発されており、システムの拡張性と保守性が向上し、システム構成コードが削減され、プログラミング コードが簡素化されます。B/S モードは現在最も一般的なモードです。
2.1.2 経済的実現可能性分析
医薬品情報レコメンドシステムの開発に使用する開発ソフトウェアには、 pycharm開発ツール、tomcatサーバー、Flask開発フレームワーク、MySQL5.7データベース、Photoshop画像処理ソフトなどがあり、これらの環境はインターネットから無料でダウンロードし、オンラインでインストールすることができます。チュートリアル, チュートリアルのステップバイステップの操作に従ってください, あなたはお金をかけずに正常にインストールすることができます. 医療製品情報推奨システムは自分で設計およびコーディングされています. データベースはデータストレージに一般的な mysql, オープンソースの mysql を使用していますなどの技術を利用してシステム開発コストを削減します。
2.1.3 運用可能性分析
このプロジェクトを設計する際、私は同様のシステムの多くの成功事例を参考にし、その操作インターフェースと機能を体系的に分析し、多くの事例を組み合わせて人間中心の操作と簡素化された操作を強調し、コンピューターの基本的な知識を持つ人がこのプロジェクトを操作できるようにしました。したがって、運用可能性に問題はない。
2.2 システム要件の分析
2.2.1 機能要件の分析
医療製品情報推奨システムの設計と実装は、ユーザーが医療に関連する一部の情報をより便利に管理できるようにすることを目的としており、また、ユーザーがWebシステムを通じて医療製品情報推奨システムの情報を閲覧し、疾患クエリをアップロードすることも容易にします。医療情報は、ユーザーが特定の情報を検索する際に多くの時間とエネルギーを節約し、不必要な検索時間を効果的に削減します。
医療製品情報推奨システムの設計と実装を検討する目的は、シンプルでフレンドリーなインターフェイス、簡単な操作、安定した動作を備えたインテリジェントなワンストップ医薬品管理方法を実現することです。システム要件は主に一般ユーザーと管理者から出されます。
一般ユーザー:
(1) ホームページ情報:利用者がこの医薬品情報推奨システムのフロントに入ると、最初に利用者の目の前に表示されるのは、ナビゲーションバー、掲示板、医療情報、病気の問い合わせ、医療の問い合わせ、マイページ(私のアカウント、私のコレクション、パーソナルセンターなど)およびその他の情報を、ユーザーは自分の個人的なニーズに応じて表示できます。
(2) 登録とログイン: システムの右上隅にログイン + 登録ボタンがあり、ユーザーがシステムにログインしたい場合は、「ログイン」ボタンをクリックし、ユーザー名 + パスワードを入力します。 , 「ログイン」ボタンをクリックすると、ユーザー名とパスワードがチェックされます。正しければ、正常にログインできます。アカウントをお持ちでない場合は、右上隅の「登録」ボタンをクリックしてください。次に、プロンプトに従ってユーザー情報を入力し、アカウント番号とパスワードを取得します。
(3) お知らせボード:バックグラウンド管理者が公開するお知らせ情報を閲覧することができ、知りたいお知らせ情報を見つけた場合は、入力して詳細な紹介文を閲覧することができます。
(4) 医療情報:医療情報を閲覧することができ、知りたい医療情報が見つかった場合は、詳細な紹介文を入力して閲覧し、コメント、いいね、収集することができます。
(5) 疾患クエリ: 疾患情報を閲覧することができ、知りたい疾患が見つかった場合は、詳細な紹介を入力・閲覧することができ、疾患情報詳細画面では、好みの疾患情報をクリックして収集することもできます。機能のようなもの。
(6) 医療照会:医療情報の閲覧や、キーワード検索による医療情報の照会をサポートし、知りたい医療情報が見つかった場合には、詳細な紹介文を入力して閲覧することができます。
(7) マイアカウント: フロントデスクの「マイ」の下にある「マイアカウント」をクリックして、個人情報+パスワード変更+あなた自身の収集情報を管理および制御します。
(8) パーソナル センター: ユーザーが右上隅の「マイ」ボタンをクリックすると、情報管理のための対応するバックエンドに入ります。
管理者:
(1) ログイン: 管理者は、アカウントとパスワードを使用してバックグラウンドでログインできます。管理者のアカウントとパスワードはデータベースに直接設定されます。パスワードを忘れた場合は、「パスワードを忘れた場合」をクリックしてパスワードを取得できます。
(2) 個人情報: ログイン後、管理者は自分の個人情報を変更し、自分のアカウントにログインするためのパスワードを変更できます。
(3) 掲示板管理: 管理者が「掲示板管理」メニューをクリックすると、掲示板サブメニューが表示され、このモジュールの追加、削除、変更、確認を行うことができます。
(4) システムユーザー: 管理者が「システムユーザー」メニューをクリックすると、管理者と一般ユーザーの 2 つのサブメニューが表示され、これら 2 つの役割の情報の追加、削除、変更、確認を行うことができます。
(5) モジュール管理:「モジュール」メニューをクリックすると、疾患管理、医療分類、医薬品、入院記録、売上データの5つのサブメニューが表示され、管理者は5つのモジュールを追加、削除、変更、確認することができます。 ;
(6) リソース管理:「リソース管理」メニューをクリックすると、医療情報と情報分類の2つのサブメニューが表示され、利用者が窓口で提出した医療情報を管理すると同時に、医療情報の管理を行うことができます。フロントに表示される医療情報の追加・削除・変更・確認操作。
2.2.2 非機能要件の分析
医療製品情報推奨システムの非機能要件には、医療製品情報推奨システムの安全性、信頼性、性能、拡張性などが含まれる。詳細は次の 2.1 表で表すことができます。
表2.1医療製品情報推奨システムの非機能要件表
安全性 |
主に医薬品情報推奨システムデータベースの導入を指し、データベースの利用やパスワードの設定などは規格に準拠する必要があります。 |
信頼性 |
信頼性とは、医薬品情報推奨システムがユーザーの指示に従って動作することを意味し、テストの結果、信頼性は90%以上です。 |
パフォーマンス |
医療製品情報推奨システムが市場を占有するには性能が必須条件であり、性能が良いことが望ましい。 |
スケーラビリティ |
たとえば、データベースは、システムの非機能要件を確実に満たすために、インターフェイスの使用などの複数の属性を予約します。 |
使いやすさ |
利用者は、医薬品情報推奨システムのページ表示内容に従うだけで済みます。 |
保守性 |
医薬品情報推奨システムを開発する場合、保守性は非常に重要ですが、テスト後の保守性は問題ありません。 |
2.3 システムのユースケース分析
医療製品情報推奨システムにおける一般ユーザーの役割のユースケース図を図 2.1 に示します。
図 2.1一般的なユーザー役割の使用例図
医療製品情報推奨システムにおける管理者の役割のユースケース図を図 2.2 に示します。
図 2.2管理者の役割の使用例図
3医薬品情報推奨システムの全体設計
前章では、医療製品情報推奨システムの機能要件とシステム性能要件を分析し、その要件に基づいて医療製品情報推奨システムのユースケースを分析しました。次に、医療製品情報推奨システムのアーキテクチャ、主要機能、データベースの設計を開始します。
3.1 システム機能モジュールの設計
医療製品情報推奨システムの全体的な機能モジュールは、診断治療システムの関連情報の照会と管理を実現する管理者と一般ユーザーの 2 つのモジュールで構成されており、システム機能モジュールは図に示すとおりです。
図3.1 医療品情報レコメンドシステムの機能モジュール図
3.2 データベース設計
3.2.1 データベースの概念構造設計
医薬品情報推奨システムのER図は、主に一般ユーザー、疾患管理者、管理者の実際のニーズに基づいて設計されており、ユーザーは登録後に疾患情報を閲覧でき、登録とログイン後にのみ医療照会が可能となります、管理者のコメントシステム全体、疾病管理、医薬品、売上データ、相談記録などを総合的に管理します。医療製品情報推奨システムは、ストレージに MYSQL データベースを使用しています。データベースには多くのテーブル情報が格納されています。主なデータベース ER モデル図をいくつか示します。
図3.2一般利用者ER関係図
図3.3疾患ER 関係図
図3. 4コメントER 関係図
図3.5医薬品ER関係図
図3.6売上データER関係図
図3.7入院記録のER 関係図
医療製品情報推奨システムの全体的なER図は以下のとおりです。
図3.8医療製品情報推奨システムのトータル ER 関係図
3.2.2 データベースの論理構造設計
テーブルコメント(コメント)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
コメントID |
整数 |
10 |
0 |
N |
Y |
コメントID: |
|
2 |
ユーザーID |
整数 |
10 |
0 |
N |
N |
0 |
コメント投稿者ID: |
3 |
Reply_to_id |
整数 |
10 |
0 |
N |
N |
0 |
返信コメントID: 空は0 |
4 |
コンテンツ |
長文 |
2147483647 |
0 |
Y |
N |
コンテンツ: |
|
5 |
ニックネーム |
可変長文字 |
255 |
0 |
Y |
N |
ニックネーム: |
|
6 |
アバター |
可変長文字 |
255 |
0 |
Y |
N |
アバターアドレス: [0,255] |
|
7 |
作成時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間: |
8 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間: |
9 |
ソーステーブル |
可変長文字 |
255 |
0 |
Y |
N |
ソーステーブル: |
|
10 |
ソースフィールド |
可変長文字 |
255 |
0 |
Y |
N |
ソースフィールド: |
|
11 |
ソースID |
整数 |
10 |
0 |
N |
N |
0 |
ソースID: |
テーブル病気_問い合わせ(病気)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
病気の問い合わせID |
整数 |
10 |
0 |
N |
Y |
疾患ID |
|
2 |
病名 |
可変長文字 |
64 |
0 |
Y |
N |
病名 |
|
3 |
薬剤名 |
可変長文字 |
64 |
0 |
Y |
N |
病気の別名 |
|
4 |
病変の場所 |
可変長文字 |
64 |
0 |
Y |
N |
病変の位置 |
|
5 |
感染力 |
可変長文字 |
64 |
0 |
Y |
N |
伝染性の |
|
6 |
頻繁に発生するグループ |
可変長文字 |
64 |
0 |
Y |
N |
頻繁に利用するグループ |
|
7 |
初期症状 |
可変長文字 |
64 |
0 |
Y |
N |
早期症状 |
|
8 |
主な症状 |
可変長文字 |
64 |
0 |
Y |
N |
主な症状 |
|
9 |
複雑な症状 |
可変長文字 |
64 |
0 |
Y |
N |
複雑な症状 |
|
10 |
訪問部門 |
可変長文字 |
64 |
0 |
Y |
N |
治療科 |
|
11 |
臨床検査 |
文章 |
65535 |
0 |
Y |
N |
臨床検査 |
|
12 |
おすすめ_薬 |
文章 |
65535 |
0 |
Y |
N |
推奨される薬 |
|
13 |
推薦する |
整数 |
10 |
0 |
N |
N |
0 |
インテリジェントな推奨事項 |
14 |
作成時間 |
日付時刻 |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間 |
15 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間 |
テーブルのヒット数 (ユーザーのクリック数)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
ヒットID |
整数 |
10 |
0 |
N |
Y |
いいねID: |
|
2 |
ユーザーID |
整数 |
10 |
0 |
N |
N |
0 |
気に入った人: |
3 |
作成時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間: |
4 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間: |
5 |
ソーステーブル |
可変長文字 |
255 |
0 |
Y |
N |
ソーステーブル: |
|
6 |
ソースフィールド |
可変長文字 |
255 |
0 |
Y |
N |
ソースフィールド: |
|
7 |
ソースID |
整数 |
10 |
0 |
N |
N |
0 |
ソースID: |
テーブル Medical_classification (医療分類)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
医療分類ID |
整数 |
10 |
0 |
N |
Y |
医薬品分類ID |
|
2 |
薬の種類 |
可変長文字 |
64 |
0 |
Y |
N |
薬の種類 |
|
3 |
推薦する |
整数 |
10 |
0 |
N |
N |
0 |
インテリジェントな推奨事項 |
4 |
作成時間 |
日付時刻 |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間 |
5 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間 |
お知らせ(お知らせ)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
通知ID |
中程度の |
8 |
0 |
N |
Y |
お知らせID: |
|
2 |
タイトル |
可変長文字 |
125 |
0 |
N |
N |
タイトル: |
|
3 |
コンテンツ |
長文 |
2147483647 |
0 |
Y |
N |
文章: |
|
4 |
作成時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
作成時間: |
5 |
更新時間 |
タイムスタンプ |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新時間: |
テーブルordinary_users (一般ユーザー)
シリアルナンバー |
名前 |
データの種類 |
長さ |
小数位 |
Null値を許可する |
主キー |
デフォルト値 |
説明する |
1 |
ordinary_users_id |
int |
10 |
0 |
N |
Y |
普通用户ID |
|
2 |
full_name |
varchar |
64 |
0 |
Y |
N |
姓名 |
|
3 |
id_number |
varchar |
255 |
0 |
Y |
N |
身份证号 |
|
4 |
examine_state |
varchar |
16 |
0 |
N |
N |
已通过 |
审核状态 |
5 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
6 |
user_id |
int |
10 |
0 |
N |
N |
0 |
用户ID |
7 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表praise (点赞)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
praise_id |
int |
10 |
0 |
N |
Y |
点赞ID: |
|
2 |
user_id |
int |
10 |
0 |
N |
N |
0 |
点赞人: |
3 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
4 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
5 |
source_table |
varchar |
255 |
0 |
Y |
N |
来源表: |
|
6 |
source_field |
varchar |
255 |
0 |
Y |
N |
来源字段: |
|
7 |
source_id |
int |
10 |
0 |
N |
N |
0 |
来源ID: |
8 |
status |
bit |
1 |
0 |
N |
N |
1 |
点赞状态:1为点赞,0已取消 |
表reception_record (接诊记录)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
reception_record_id |
int |
10 |
0 |
N |
Y |
接诊记录ID |
|
2 |
attending_doctor |
varchar |
64 |
0 |
Y |
N |
接诊医生 |
|
3 |
number_of_patients |
int |
10 |
0 |
Y |
N |
0 |
接诊人数 |
4 |
date_of_reception |
date |
10 |
0 |
Y |
N |
接诊日期 |
|
5 |
remarks |
varchar |
64 |
0 |
Y |
N |
备注信息 |
|
6 |
statistician |
varchar |
64 |
0 |
Y |
N |
统计人员 |
|
7 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表sales_data (销售数据)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
sales_data_id |
int |
10 |
0 |
N |
Y |
销售数据ID |
|
2 |
drug_name |
varchar |
64 |
0 |
Y |
N |
药品名称 |
|
3 |
sales_date |
date |
10 |
0 |
Y |
N |
销售日期 |
|
4 |
sales_volumes |
int |
10 |
0 |
Y |
N |
0 |
销售数量 |
5 |
remarks |
varchar |
64 |
0 |
Y |
N |
备注信息 |
|
6 |
statistician |
varchar |
64 |
0 |
Y |
N |
统计人员 |
|
7 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
8 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
9 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表sales_record (医药)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
sales_record_id |
int |
10 |
0 |
N |
Y |
医药ID |
|
2 |
name_of_medicine |
varchar |
64 |
0 |
Y |
N |
医药名称 |
|
3 |
type_of_medicine |
varchar |
64 |
0 |
Y |
N |
医药类型 |
|
4 |
for_disease |
varchar |
64 |
0 |
Y |
N |
针对病症 |
|
5 |
medical_cover |
varchar |
255 |
0 |
Y |
N |
医药封面 |
|
6 |
matters_needing_attention |
varchar |
64 |
0 |
Y |
N |
注意事项 |
|
7 |
number_of_medicines |
int |
10 |
0 |
Y |
N |
0 |
医药数量 |
8 |
introduction_to_medicine |
text |
65535 |
0 |
Y |
N |
医药简介 |
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
10 |
recommend |
int |
10 |
0 |
N |
N |
0 |
智能推荐 |
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表slides (轮播图)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
slides_id |
int |
10 |
0 |
N |
Y |
轮播图ID: |
|
2 |
title |
varchar |
64 |
0 |
Y |
N |
标题: |
|
3 |
content |
varchar |
255 |
0 |
Y |
N |
内容: |
|
4 |
url |
varchar |
255 |
0 |
Y |
N |
链接: |
|
5 |
img |
varchar |
255 |
0 |
Y |
N |
轮播图: |
|
6 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击量: |
7 |
create_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间: |
8 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间: |
4 关键模块的设计与实
医疗产品信息推荐系统的详细设计与实现主要是根据前面的医疗产品信息推荐系统的需求分析和医疗产品信息推荐系统的总体设计来设计页面并实现业务逻辑。主要从医疗产品信息推荐系统界面实现、业务逻辑实现这两部分进行介绍。
4.1 用户功能模块
4.1.1 前台首页界面
当进入医疗产品信息推荐系统的时候,首先映入眼帘的是系统的导航栏、轮播图以及公告栏、医药资讯,同时可以输入关键词对医疗产品信息推荐系统的内容进行检索,右上角是用户登录以及注册按钮,其主界面展示如下图4.1所示。
图4.1 首页界面图
4.1.2 注册界面
不是医疗产品信息推荐系统中用户的是可以在线进行注册的,当用户点击右上角“注册”按钮的时候,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等信息后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可注册成功。其用户注册界面展示如下图4.2所示。
图4.2 注册界面图
4.1.3 登录界面
医疗产品信息推荐系统中的前台上注册后的用户是可以通过自己的username和password进行登录的,当用户输入完整的自己的username和password信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的username和password在数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到医疗产品信息推荐系统的首页中;否则将会提示相应错误信息,登录界面如下图4.3所示。
图4.3登录界面图
4.1.4 公告栏界面
用户在点击导航栏上面的公告栏后,就可以搜索查看公告信息,用户根据自己的喜好可以进行交流,公告栏界面如下图4.4所示。
图4.4公告栏界面图
4.1.5 密码修改界面
用户使用该医疗产品信息推荐系统注册完成后,用户对登录密码有修改需求时,系统也可以提供用户修改密码权限。系统中所有的操作者能够变更自己的密码信息,执行该功能首先必须要登入系统,然后选择密码变更选项以后在给定的文本框中填写初始密码和新密码来完成修改密码的操作。在填写的时候,假如两次密码填写存在差异,那么此次密码变更操作失败,下面的图片展示的就是该板块对应的工作面。界面如下图4.5所示。
图4.5密码修改界面图
4.1.6 医药资讯界面
当访客点击医疗产品信息推荐系统中导航栏上的“医药资讯”后将会进入到该“医药资讯”列表的界面,然后选择想要看的医药资讯信息,点击进入到详细界面,在详细界面可以收藏+赞+评论等操作,医药资讯界面如下图4.6所示。
图4.6医药资讯新闻界面图
4.1.7 病症详情界面
用户可以查看病症,在查询到自己想要了解的病症的时候,可以进入查看详细的介绍,在病症详情这个界面,病症详情展示页面如图4.7所示。
图4.7病症详情界面图
4.2 管理员功能角模块
医疗产品信息推荐系统的理员拥有最高的权限,可以对用户信息、系统信息以及医疗产品信息推荐系统相关信息进行管控。
4.2.1 登录界面
管理员在后台可以通过账号和密码进行登录,管理员的账号和密码是在数据库中直接设定的,如果忘记密码可以点击“忘记密码”进行密码找回。界面展示如下图4.8所示。
图4.8登录界面图
4.2.2 轮播图管理界面
管理员点击“轮播图管理”这一菜单会显示轮播图这个子菜单,管理员可以对前台展示的轮播图进行设置,界面如下图4.9所示。
图4.9 轮播图管理界面图
4.2.3 系统用户界面
管理员点击“系统用户理”这一菜单会显示管理员和普通用户这两个子菜单,管理员可以对这两个角色的信息进行增删改查操作。界面如下图4.10所示。
图4.10 系统用户界面图
4.2.4 资源管理界面
医疗产品信息推荐系统中的管理人员在“资源管理”这一菜单中是可以对医疗产品信息推荐系统内的医药资讯、资讯分类信息进行维护和管理的,界面如下图4.11所示。
图4.11 资源管理界面图
4.2.5 模块管理界面
医疗产品信息推荐系统中的管理人员在“模块管理”这一菜单下是可以对医疗产品信息推荐系统内的病症管理、医药分类、医药、接诊记录、销售数据进行管控的,其管理界面如下图4.12所示。
图4.12 模块管理界面图
5 系统测试与结果分析
5.1 系统测试的目的
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
5.2 系统测试用例
系统测试包括:用户登录功能测试、医药展示功能测试、医药添加、医药搜索、密码修改功能测试,如表5-1、5-2、5-3、5-4、5-5所示:
表5-1 用户登录功能测试表
用例名称 |
用户登录系统 |
目的 |
测试用户通过正确的用户名和密码可否登录功能 |
前提 |
未登录的情况下 |
测试流程 |
1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 |
用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 |
实际结果与预期结果一致 |
医药查看功能测试:
表5-2 医药查看功能测试表
用例名称 |
医药查看 |
目的 |
测试医药查看功能 |
前提 |
用户登录 |
测试流程 |
点击医药列表 |
预期结果 |
可以查看到所有医药信息 |
实际结果 |
实际结果与预期结果一致 |
管理员添加医药界面测试:
表5-3 管理员添加医药界面测试表
用例名称 |
医药发布测试用例 |
目的 |
测试医药发布功能 |
前提 |
用户正常登录情况下 |
测试流程 |
1)点击医药信息管理就,然后点击添加后并填写信息。 2)点击进行提交。 |
预期结果 |
提交以后,页面首页会显示新的医药信息 |
实际结果 |
实际结果与预期结果一致 |
医药搜索功能测试:
表5-4医药搜索功能测试表
用例名称 |
医药搜索测试 |
目的 |
测试医药搜索功能 |
前提 |
无 |
测试流程 |
1)在搜索框填入搜索关键字。 2)点击搜索按钮。 |
预期结果 |
页面显示包含有搜索关键字的医药 |
实际结果 |
实际结果与预期结果一致 |
密码修改功能测试:
表5-5 密码修改功能测试表
用例名称 |
密码修改测试用例 |
目的 |
测试管理员密码修改功能 |
前提 |
管理员用户正常登录情况下 |
测试流程 |
1)管理员密码修改并完成填写。 2)点击进行提交。 |
预期结果 |
使用新的密码可以登录 |
实际结果 |
实际结果与预期结果一致 |
5.3 系统测试结果
通过编写医疗产品信息推荐系统的测试用例,已经检测完毕用户登录模块、医药查看模块、医药添加模块、医药搜索模块、密码修改功能测试,通过这5大模块为医疗产品信息推荐系统的后期推广运营提供了强力的技术支撑。
6 结论
在开发本医疗产品信息推荐系统之前我胸有成竹,觉得很简单,但在实际的开发中我发现了自身的很多问题,许多编程思想和方法都还没有掌握牢靠,比如Flask、pycharm、Javascript、HbuildX等许多python Web开发技术,通过开发这个医疗产品信息推荐系统我成长了很多,懂得了做什么事情都要脚踏实地,不能眼高手低,在本次医疗产品信息推荐系统的开发中我逐渐掌握逐渐熟悉的技术。
本次医疗产品信息推荐系统的开发中我还学会了很多,例如良好的编程思想和完善的规划思想。在着手编程之前需要罗列出程序框架的大概,脑海中构建出程序的主题框架。做好这一步我们才能胸有成竹的经行开发项目。当设计框架了熟于心之后,需要思考本次编程所需的主要知识点和技术点,并充分学习。如此一来项目的开发才能循序渐进、如丝般顺滑,长久以往就能养成良好的开发习惯。一个程序好不好还要看出的bug多不多,如果在项目完成前做好bug的查验与预防可能发生的事故才能保证程序的稳定长久性运行。如果项目在完工后出现各种问题自己,那么在进入社会后,不仅会给公司团队带来麻烦和增加不必要的工作,还会导致客户流失,公司对自己的评价下降。
在本次项目中我也暴露了诸多问题。对于python的编程知识有所欠缺,环境配置和算法上出现诸多问题,时常导致项目运行出错,或者目标的实现有问题。或者实现想法时算法未优化,使得代码冗长,程序运行不顺畅。
参考文献
[1]牛毅恒,丁孟浩. 分布式人脸相似度搜索系统[P]. 福建省:CN115658677A,2023-01-31.
[2]许灼灼.基于Python语言的标识符自主练习程序设计与实现[J].电脑编程技巧与维护,2023(01):48-49+75.DOI:10.16184/j.cnki.comprg.2023.01.030.
[3]余丙军,郭芬,张永雄,王亮明.基于OBE理念的Python语言程序设计课程教学改革[J].创新创业理论研究与实践,2023,6(01):41-43+47.
[4]姜秋香,郭伟鹏,王子龙,欧阳兴涛,隆睿睿.Python语言在水文水资源领域中的应用与展望[J/OL].计算机工程与应用:1-16[2023-02-26].http://kns.cnki.net/kcms/detail/11.2127.TP.20221229.1252.002.html
[5]陈嘉发,黄宇靖.Flask框架在数据可视化的应用[J].福建电脑,2022,38(12):44-48.DOI:10.16707/j.cnki.fjpc.2022.12.009.
[6]张宁. 基于Flask框架的四六级英语学习系统的设计与实现[D].华东师范大学,2022.DOI:10.27149/d.cnki.ghdsu.2022.002537.
[7]Mathieu Didier. Erratum: Modeling Sensitivities of Energetic Materials using the Python Language and Libraries[J]. Propellants, Explosives, Pyrotechnics,2022,47(2).
[8]李乐. 不同推荐来源的商品信息对购买意愿的影响[D].河南大学,2021.DOI:10.27114/d.cnki.ghnau.2021.001081.
[9]Uzo Izuchukwu Uchenna,Ugboaja Samuel Gregory,Ugwu Nnaemeka Virginus,Obayi Adaora Angela,Chigbundu Kanu Enyioma,Nnamdi Johnson Ezeora,Okwueze Chisom Nneoma,Anigbogu Kenechukwu,Ihedioha Uchechi Michael. Exploring a Secured Socket Python Flask Framework in Real Time Communication System[J]. Asian Journal of Research in Computer Science,2021.
[10]侯梦薇,卫荣,樊林,梁宗强,赵延红.推荐系统在医疗领域的处理模型及应用研究[J].中国数字医学,2019,14(01):80-82.
[11] Long Yuwen、Qiu Xiaoping、Flask[C]// に基づくデジタル核信号処理プラットフォームの研究、核エレクトロニクスおよび核検出技術に関する第 19 回全国学術年次会議議事録、2018: 336-341 .DOI: 10.26914/c.cnkihy.2018.001020。
[12] Wang Jianxin. 銀行金融マーケティングにおけるパーソナライズされた推奨システムの応用 [D]. 雲南財政経済大学、2018.
[13] Liu Yezheng、Xiong Qiang、Jiang Yuanchun. 多次元類似性に基づくニッチ製品推奨法 [J]. Computer Engineering, 2018, 44(03): 195-200.
[14] He Xiangni. 個別医療情報推奨システムの研究と実装 [D]. 長沙科学技術大学、2017.
[15] Huang Xiaodong. 個別化された医療情報推奨システムの設計と実装 [D]. 北京理工大学、2017.
[16] Li Qingming、Duan Fu. 医療情報サービス アプリケーションにおけるコンテキスト認識型推奨の研究と実装 [J]. Modern Electronic Technology, 2016, 39(24): 58-62. DOI: 10.16652/j.issn.1004 - 373x.2016.24.014。
謝辞
これで、医薬品情報推奨システムが完成しました。大変な作業ではありましたが、完成したときはとても誇らしく思います。設計したシステムにはまだまだ不備な点が多々ありますが、自分なりの目標を達成できるよう頑張ってきました。大学4年間が無事に終わりました。
ここでまず感謝したいのは、大学での過去 4 年間で私を指導してくださったすべての先生方であり、開発について何も知らなかった私が入学した時から、多くの専門知識と人生の原則を教えていただきました。管理システムは、フロントエンドフレームワーク、バックエンドフレームワーク、ビジネスプロセス、データ構造、オペレーティングシステムなど、さまざまな知識が含まれており、それらを統合して使用することで初めてシステム全体を統合することができます。これはすべて先生の功績です。次に、先生に感謝します。このシステムを開発するとき、私は数え切れないほどの問題に遭遇しました。オンラインでもオフラインでもよく先生に質問しました。先生のところに行くたびに、彼は答えてくれました。 「彼は決して焦りませんでした。彼はいつも私を注意深く指導し、それを達成する方法を教えてくれました。この機能はどのようにしてシステムをより完璧にし、その後、関連する情報を自分でクエリして問題を解決し、問題を自主的に解決する能力を向上させることができますか?そのほうが良いです」 「魚の釣り方を教えるのではなく、人に魚の釣り方を教えることです。このような先生の仕事の姿勢は、私にとって一生役に立つものです。私はこれからも先生に近づき、先生から学んでいきたいと思います。ここで私はただ言いたいのです。「先生」 、ありがとう、頑張ったね!」最後に、ルームメイトやクラスメートにも感謝します。4 年間一緒に学んだ間、彼らは私に勉強面で多くのアドバイスをくれただけでなく、生活面でも助けてくれました。私の大学でのキャリアは彼らの助けのおかげです。それは何ですか。完璧です。
最後になりましたが、大学での学びと先生方の丁寧な教えを胸に、これからもさらに飛躍して、春の山はどこにでもあるので、風と月を追い続けることをやめないでください。