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>



0 件のコメント:

コメントを投稿