// Compositionの更新のエラーを確認するためだけのプログラム
// 00_login.htmlに関数呼び出しボタンあり
function updateCompositionSample(){
globalComposition = new Composition();
globalComposition.id = '225207';
globalComposition.status = "preliminary";
globalComposition.date = new Date();
globalComposition.type = new CodeableConcept(
new Coding('http://master2016kumw1.blogspot.jp/','V0.1','MHR'),
'母子健康手帳'
);
globalComposition.section = [];
globalComposition.section.push(new Composition_Section('妊婦の健康状態等'));
globalComposition.section.push(new Composition_Section('妊婦の職業と環境'));
globalComposition.section.push(new Composition_Section('妊婦自身の記録'));
globalComposition.section.push(new Composition_Section('妊娠中の経過'));
globalComposition.section.push(new Composition_Section('検査の記録'));
globalComposition.section.push(new Composition_Section('母親学級受講記録'));
globalComposition.section.push(new Composition_Section('妊娠中と産後の歯の状態'));
globalComposition.section.push(new Composition_Section('出産の状態'));
globalComposition.section.push(new Composition_Section('出産後の母体の経過'));
globalComposition.section.push(new Composition_Section('マタニティダイアリ'));
globalComposition.section.push(new Composition_Section('母親自身の記録'));
alert(JSON.stringify(globalComposition,null,' '));
var url = 'http://fhirtest.uhn.ca/baseDstu2/Composition/225207?_format=json&_pretty=true';
alert(url);
alert('これから書き込もうとしているcomposition' + JSON.stringify(globalComposition));
$.ajax({
url: url,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(globalComposition),
async: false
})
.done(function(response) {
alert('Compositionの更新に成功' + JSON.stringify(response,null,' '));
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('Compositionの更新に失敗' + JSON.stringify(XMLHttpRequest,null,' '));
});
}
//1.端末に保存されたcompositionIdのJSONを取得したものをJSON.parseしてcompositionId変数へ
//2.compositionIdでサーバから読み込み
//3.取得したJSONを書き換え
//4.Composition更新リクエスト
function setChildToComposition(patientId){
var item = localStorage.getItem("compositionId");
var obj = JSON.parse(item);
alert('端末に保存されているcompositionIdは' + obj.compositionId +'です');
var url = 'http://fhirtest.uhn.ca/baseDstu3/Composition/'+ obj.compositionId;
alert('GETリクエスト(読み込み)を送信するURL=' + url);
$.ajax({
url: url,
type: 'GET',
data: {
_pretty: true,
},
async: false
})
.done(function(compositionObj) {
alert('Compositionの読み込みに成功しました');
alert('JSON.stringifyしたresponse(responseを代入したcompositionObjを表示⇒)' + JSON.stringify(compositionObj));
compositionObj.subject = [
{
reference : 'Patient/' + patientId,
display : '児'
}
];
alert('編集後のcompositionObj' + JSON.stringify(compositionObj));
updateComposition(obj.compositionId,compositionObj);
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('Compositionの読み込みに失敗しました' + JSON.stringify(XMLHttpRequest,null,' '));
})
}
function updateComposition(compositionId,compositionObj){
var url = 'http://fhirtest.uhn.ca/baseDstu2/Composition/' + compositionId + '?_format=json&_pretty=true';
alert(url);
alert('これから書き込もうとしているcompositionObj' + JSON.stringify(compositionObj));
$.ajax({
url: url,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(compositionObj),
async: false
})
.done(function(response) {
alert('編集したCompositionの更新に成功' + JSON.stringify(response,null,' '));
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('編集したCompositionの更新に失敗' + JSON.stringify(XMLHttpRequest,null,' '));
});
}
2017年9月30日土曜日
Composition 2017/9/30
2017年9月22日金曜日
2017/9/22 Composition.subjectの更新
//1.端末に保存されたcompositionIdのJSONを取得したものをJSON.parseしてcompositionId変数へ
//2.compositionIdでサーバから読み込み
//3.取得したJSONを書き換え
//4.Composition更新リクエスト
function updateComposition(){
var compositionId = localStorage.getItem("compositionId");
alert('端末に保存されているcompositionIdは' + compositionId +'です');
var url = 'http://fhirtest.uhn.ca/baseDstu3/Composition/'+ compositionId;
alert('GETリクエスト(読み込み)を送信するURL=' + url);
$.ajax({
url: url,
type: 'GET',
data: {
_pretty: true,
}
})
.done(function(response) {
alert('Compositionの読み込みに成功しました');
updateCmposition = response;
alert('JSON.stringifyしたresponse(responseを代入したupdateCompositionを表示⇒)' + JSON.stringify(updateComposition));
updateComposition.subject = [
{
reference : 'Patient/',
display : '児'
}
];
updateComposition(updateComposition);
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('Compositionの読み込みに失敗しました' + JSON.stringify(XMLHttpRequest,null,' '));
});
}
function updateComposition(){
var url = 'http://fhirtest.uhn.ca/baseDstu2/Composition/' + compositionId + '?_format=json&_pretty=true';
alert(url);
$.ajax({
url: url,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(updateComposition)
})
.done(function() {
alert('編集したCompositionの更新に成功');
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('編集したCompositionの更新に失敗' + JSON.stringify(XMLHttpRequest,null,' '));
});
}
function addChildInformation(){
var patient = new Patient();
patient.name = new HumanName();
patient.name.use = "official";
patient.name.text = $('#01-child-name').val();
patient.birthDate = $('#01-child-birthDate').val();
patient.gender = $('#01-child-gender').val();
var organization = new Organization();
// 出生場所
organization.name = $('#01-child-birthPlace').val();
// 市区町村長名
organization.contact = [];
organization.contact.push(
{
name : $('#01-child-Mayor').val()
}
);
patient.identifier = [];
patient.identifier[0] = new Identifier();
patient.identifier[0].assigner = "Organization/"+ putOrganization(organization);
patient.identifier[0].use = "official";
patient.identifier[0].period = new Period();
patient.identifier[0].period.start = $('#01-child-start').val();
patient.identifier[0].assigner.display = "市区町村名";
patient.identifier[0].type = new CodeableConcept();
patient.identifier[0].type.coding = [];
patient.identifier[0].type.coding.push(
{
system : "0203",
code : "BR"
}
);
patient.identifier[0].type.text = "交付証明書";
alert("patient" + JSON.stringify(patient,null,' '));
putPatient(patient);
/*
var url = 'http://fhirtest.uhn.ca/baseDstu3/Patient?_format=json&_pretty=true';
$.ajax({
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(Patient)
})
.done(function(response) {
alert('OK' + JSON.stringify(response));
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('NG' + JSON.stringify(XMLHttpRequest,null,' '));
});
*/
}
function putOrganization(organization){
var url = 'http://fhirtest.uhn.ca/baseDstu3/Organization?_format=json&_pretty=true';
var result = $.ajax({
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(organization),
async: false
}).responseText;
var response = JSON.parse(result);
var diagnostics = response.issue[0].diagnostics;
alert('diagnostics='+diagnostics);
var id = /Organization\/(\d+)\//.exec(diagnostics);
alert('id='+id[1]);
return id[1];
}
function putPatient(patient){
var url = 'http://fhirtest.uhn.ca/baseDstu3/patient?_format=json&_pretty=true';
var result = $.ajax({
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(patient),
async: false
}).responseText;
var response = JSON.parse(result);
var diagnostics = response.issue[0].diagnostics;
alert('diagnostics='+diagnostics);
var id = /patient\/(\d+)\//.exec(diagnostics);
alert('id='+id[1]);
return id[1];
}
2017年9月19日火曜日
子供の情報(Patientリソース)
function addChildInformation(){
var patient = new Patient();
patient.name = new HumanName();
patient.name.use = "official";
patient.name.text = $('#01-child-name').value;
patient.birthDate = $('#01-child-birthDate').value;
patient.gender = $('#01-child-gender').value;
var organization = new Organization();
// 出生場所
organization.name = $('#01-child-birthPlace').value;
// 市区町村長名
organization.contact = [];
organization.contact.push(
{
name : $('#01-child-Mayor').value
}
);
patient.identifier = [];
patient.identifier[0] = new Identifier();
patient.identifier[0].assigner = "Organization/"+ putOrganization(organization);
patient.identifier[0].use = "official";
patient.identifier[0].period = new Period();
patient.identifier[0].period.start = $('#01-child-start').value;
patient.identifier[0].assigner.display = "市区町村名";
patient.identifier[0].type = new CodeableConcept();
patient.identifier[0].type.coding = [];
patient.identifier[0].type.coding.push(
{
system : "0203",
code : "BR"
}
);
patient.identifier[0].type.text = "交付証明書";
alert("patient" + JSON.stringify(patient,null,' '));
var url = 'http://fhirtest.uhn.ca/baseDstu3/Patient?_format=json&_pretty=true';
$.ajax({
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(Patient)
})
.done(function(response) {
alert('OK' + JSON.stringify(response));
})
.fail(function(XMLHttpRequest, textStatus, errorThrown) {
alert('NG' + JSON.stringify(XMLHttpRequest,null,' '));
});
}
function putOrganization(organization){
var url = 'http://fhirtest.uhn.ca/baseDstu3/Organization?_format=json&_pretty=true';
var result = $.ajax({
url: url,
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(organization),
async: false
}).responseText;
var response = JSON.parse(result);
var diagnostics = response.issue[0].diagnostics;
alert('diagnostics='+diagnostics);
var id = /Organization\/(\d+)\//.exec(diagnostics);
alert('id='+id[1]);
return id[1];
}
<---入力フォームのHTML--->
<ons-page id="01_Information">
<ons-toolbar>
<div class="left">
<ons-back-button>
Back
</ons-back-button>
</div>
<div class="center">基本情報</div>
</ons-toolbar>
<ons-list>
<ons-list-item>
<ons-row class="ssec-header">子どもの情報</ons-row>
<div class="ssec-body" style="display:none;">
<ons-row>
<ons-col><center>名前</center></ons-col>
<ons-col><input type="text" id="01-child-name"></ons-col>
</ons-row>
<ons-row>
<ons-col><center>生年月日</center></ons-col>
<ons-col><input type="date" id="01-child-birthDate"></ons-col>
</ons-row>
<ons-row>
<ons-col><center>性別</center></ons-col>
<ons-col><input type="radio" id="01-child-gender" value="male">男
<input type="radio" id="01-child-gender" value="female">女</ons-col>
</ons-row>
<ons-row>
<ons-col><center>出生場所</center></ons-col>
<ons-col><input type="text" id="01-child-birthPlace"></ons-col>
</ons-row>
<ons-row>
<ons-col><center>出生届出済証明日</center></ons-col>
<ons-col><input type="date" id="01-child-start"></ons-col>
</ons-row>
<ons-row>
<ons-col><center>市区町村長名</center></ons-col>
<ons-col><input type="text" id="01-child-Mayor"></ons-col>
</ons-row>
</div>
</ons-list-item>
</ons-list>
</ons-page>
登録:
投稿 (Atom)