2016-11-20 5 views
2

FHIRを学び、MongoDbをデータベースとして使用するMEANスタックを実装しようとしていますが、私はあなたの助けを求めています。Mongodb for HL7-FHIR

私は新しいリソース文書のPOSTリクエストを受け取ったら、それをMongoDBに挿入します。 MongoDBは_id(オブジェクトID)を一意のIDとしてリソースに追加するので、ドキュメントを取得すると、_idフィールドが追加されます。 _idがリソースに定義されていないので、それ以上のコンプライアンスではないと思う。

この問題を処理する方法を知っていますか? FHIRリソースでこの余分な数字が重要なのでしょうか?

敬具、 自動実行

答えて

0

はい、_idは準拠ではありません。それを 'id'に変更することはできませんか?

+0

ありがとうGrahame。ハッピーは感謝を与える。 Mongoは_idを使用します。さらに、最上位レベルにありますが、識別子サブコンポーネントの下にはありません。 – Autorun

+0

だから、私たちが "id"と呼んでいるのと同じことだが、名前は違う? –

+1

こんにちはグラハム、もう一度ありがとう! – Autorun

0

おそらく、Spark serverを見ることができます。Spark serverもMongoDBを使用してリソースを格納しています。 Spark.Store.Mongo名前空間では、Mongo BSON文書をFHIRリソースに変換するヘルパーメソッドがいくつか表示されます。

+0

感謝のMirjam。私はそれを調べますが、私はC#についてよく分かりません。 – Autorun

+0

さて、問題はありませんが、MongoDBからそのドキュメントをどのように取得し、Mongoが残りのデータを使用する前に追加したフィールドを取り出すことができるかを確認してください。 –

1

私はまた、Mongooseと一緒にMongoDBを使用して、nodejにFHIRを実装しています。 私はちょうどこの

import mongoose from 'mongoose'; 
import shortid from 'shortid'; 
class resource extends mongoose.Schema { 
    constructor(schema) { 
    super(); 
    this.add({ 
     // just added this to make MongoDB use shortid 
     _id: { type: String, default: shortid.generate }, 
     id: { type: {} }, 
     id_: { type: {} }, 
     implicitRules: { type: String }, 
     implicitRules_: { type: {} }, 
     language: { type: String }, 
     language_: { type: {} }, 
     ...schema 
    }); 
    } 
} 
export default resource; 

ようマングースのためのスキーマ定義にIDというフィールドを追加しましたし、その後_idフィールドがupsertingため

私のコードを、リソースを作成/更新すると、idから値を取得します患者リソース

upsert(root, params, context, ast) { 
    const projection = this.getProjection(ast); 
    if (!params.data.id) { 
     params.data.id = shortid.generate(); 
    } 
    params.data.resourceType = 'Patient'; 
    const upserted = model 
     .findByIdAndUpdate(params.data.id, params.data, { 
     new: true, 
     upsert: true, 
     select: projection 
     }) 
     .exec(); 

    if (!upserted) { 
     throw new Error('Error upserting'); 
    } 
    return upserted; 
    } 
+0

答えのShalkamありがとうございます。 – Autorun

関連する問題