diff --git a/resources/seeds/Mapping/patient-edit-extract.yaml b/resources/seeds/Mapping/patient-edit-extract.yaml new file mode 100644 index 0000000..9e9832f --- /dev/null +++ b/resources/seeds/Mapping/patient-edit-extract.yaml @@ -0,0 +1,49 @@ +id: patient-edit-extract +resourceType: Mapping +body: + $let: + gender: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='gender').answer.valueCoding.code").0 + mobile: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='mobile').answer.valueString").0 + email: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='email').answer.valueString").0 + lastName: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='last-name').answer.valueString").0 + birthDate: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='birth-date').answer.valueDate").0 + firstName: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='first-name').answer.valueString").0 + patientId: >- + $ + fhirpath("QuestionnaireResponse.repeat(item).where(linkId='patient-id').answer.valueString").0 + appleIdentifier: $ fhirpath("Patient.identifier.where(system='https://appleid.apple.com')").0 + $body: + type: transaction + entry: + - request: + url: $ "/Patient/" + patientId + method: PUT + resource: + name: + - given: + - $ firstName + family: $ lastName + gender: $ gender + telecom: + - value: $ mobile + system: phone + - value: $ email + system: email + birthDate: $ birthDate + identifier: + - $ appleIdentifier + active: true + resourceType: Patient + resourceType: Bundle diff --git a/resources/seeds/Questionnaire/patient-edit.yaml b/resources/seeds/Questionnaire/patient-edit.yaml new file mode 100644 index 0000000..db238bb --- /dev/null +++ b/resources/seeds/Questionnaire/patient-edit.yaml @@ -0,0 +1,77 @@ +id: patient-edit +resourceType: Questionnaire +name: edit-patient +title: Edit patient +status: active +launchContext: + - name: + code: Patient + type: + - Patient +mapping: + - id: patient-edit-extract + resourceType: Mapping +item: + - linkId: patient-id + type: string + text: patientId + readOnly: true + hidden: true + initialExpression: + language: text/fhirpath + expression: "%Patient.id" + - linkId: first-name + type: string + text: First name + initialExpression: + language: text/fhirpath + expression: "%Patient.name.given[0]" + - linkId: last-name + type: string + text: Last name + required: true + initialExpression: + language: text/fhirpath + expression: "%Patient.name.family" + - linkId: birth-date + type: date + text: Birth date + initialExpression: + language: text/fhirpath + expression: "%Patient.birthDate" + - linkId: gender + type: choice + text: Gender + answerOption: + - value: + Coding: + code: male + system: http://hl7.org/fhir/administrative-gender + display: Male + - value: + Coding: + code: female + system: http://hl7.org/fhir/administrative-gender + display: Female + initialExpression: + language: text/fhirpath + expression: "%Questionnaire.repeat(item).where(linkId='gender').answerOption.valueCoding.where(code=%Patient.gender)" + - linkId: mobile + type: string + text: Phone number + itemControl: + coding: + - code: phoneWidget + initialExpression: + language: text/fhirpath + expression: "%Patient.telecom.where(system='phone').value" + - linkId: email + type: string + text: Email + initialExpression: + language: text/fhirpath + expression: "%Patient.telecom.where(system='email').value" +meta: + profile: + - https://beda.software/beda-emr-questionnaire +url: https://aidbox.emr.beda.software/ui/console#/entities/Questionnaire/patient-edit