2018年9月11日火曜日

②患者基本情報データの取得4

前回、「http://172.16.108.251:8000/api01rv2/patientgetv2?id=00001&format=json」このURLを打ち込んでも、エラーばかりが発生して、何も表示されない状況に陥ったが、その原因は、ORCA自体がおかしくなっていたということが判明して。
なので、「sudo service jma-receipt restart」このコマンドでORCAの再起動を行った。

そうすると、うまく図1のような画面が表示された。
図1:URLを入れて打ち込んだ結果
ブラウザはJSONを解釈できないから、ブラウザの機能を使って、JSONの中身を見る。今回はgoogle Chromeを使っているので、右ボタンをクリックして、「ページのソースを表示」を押すと、図2のような画面が出てきて、JSONの中身をみることができた。
図2:JSONの中身を表示した結果

これを見やすくするため、JSON整形ツールを使って、整形してみた。

{
  "patientinfores": {
    "Information_Date": "2018-09-11",
    "Information_Time": "14:45:07",
    "Api_Result": "00",
    "Api_Result_Message": "処理終了",
    "Reskey": "Patient Info",
    "Patient_Information": {
      "Patient_ID": "00001",
      "WholeName": "山下 浩介",
      "WholeName_inKana": "ヤマシタ コウスケ",
      "BirthDate": "1970-12-06",
      "Sex": "1",
      "HouseHolder_WholeName": "山下 浩介",
      "Home_Address_Information": {
        "Address_ZipCode": "*******",
        "WholeAddress1": "岡山県**市**",
        "WholeAddress2": "*丁目*−*",
        "PhoneNumber1": "***-**-****"
      },
      "Contraindication1": "********",
      "Contraindication2": "禁忌2",
      "Allergy1": "********",
      "Allergy2": "アレルギー2",
      "Infection1": "********",
      "Infection2": "感染症2",
      "Comment1": "********",
      "Comment2": "コメント2",
      "TestPatient_Flag": "0",
      "NickName": "カルテ例1 P56",
      "Reduction_Reason": "00",
      "Reduction_Reason_Name": "該当なし",
      "Discount": "00",
      "Discount_Name": "該当なし",
      "Condition1": "00",
      "Condition1_Name": "該当なし",
      "Condition2": "00",
      "Condition2_Name": "該当なし",
      "Condition3": "00",
      "Condition3_Name": "該当なし",
      "Ic_Code": "01",
      "Ic_Code_Name": "現金",
      "Community_Cid_Agree": "False",
      "FirstVisit_Date": "2017-12-18",
      "LastVisit_Date": "2018-01-17",
      "HealthInsurance_Information": [
        {
          "Insurance_Combination_Number": "0001",
          "InsuranceCombination_Rate_Admission": "0.30",
          "InsuranceCombination_Rate_Outpatient": "0.30",
          "Insurance_Nondisplay": "N",
          "InsuranceProvider_Class": "009",
          "InsuranceProvider_Number": "01400019",
          "InsuranceProvider_WholeName": "協会",
          "HealthInsuredPerson_Symbol": "41061242",
          "HealthInsuredPerson_Number": "9635",
          "RelationToInsuredPerson": "1",
          "HealthInsuredPerson_WholeName": "山下 浩介",
          "Certificate_StartDate": "2017-10-25",
          "Certificate_ExpiredDate": "9999-12-31",
          "Insurance_CheckDate": "2017-10-25"
        },
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {},
        {}
      ]
    }
  }
}

図3のORCAの画面と比較してみると
図3:ORCAの患者IDが1の患者さんの患者情報

うまくORCAから患者情報をとってこれていると分かる。

あとは、スマホからWebAPIを送って、これと同じものを取ってこれるよう、認証情報をヘッダに書いてやればいい。
前回も書いたように、あるブログのこの記事の患者基本情報のところと、HTTPリクエスト時のヘッダー情報の設定にこのサイトが参考になると考えた。
また、このサイトも参考にしてみたりした。
これらを参考にして、プログラムを行っているところである。患者情報を取得するには、あるブログのある記事に書いていたものをどのように変更していけば、うまくいくのか、よく分からないので、さまざまなパターンをプログラムしていっている段階である。ここで苦戦中なので、しっかりと研究を追い込んで、やっていきたい。

【コメント】
このサイトにはHTTPリクエスト時にヘッダー情報を設定する方法が書かれているので参考になりますね。
g_user、g_passwdをそれぞれORCAのユーザ名、パスワードとすると、次のようにして認証情報を書けばよいのでしょうね。
$http.defaults.headers.get = {
  'Authorization' : 'Basic ' + window.btoa(g_user + ':' + g_passwd)
};
試してみてください。

0 件のコメント:

コメントを投稿

レーダーチャートの表示2

前回 レーダーチャートの表示を行うことが出来たので、今回は実際の値を代入したグラフの描画を試みる。 .controller('RaderChartController', ['$scope', 'Countries', funct...