Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify RESTful API for Patient Management services for own and external archives #2074

Closed
3 tasks done
gunterze opened this issue Jul 8, 2019 · 0 comments
Closed
3 tasks done
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@gunterze
Copy link
Member

gunterze commented Jul 8, 2019

  • Collapse services

    Method Path Name
    PUT ​/hl7apps​/{hl7App}​/hl7​/{externalHL7AppName}​/patients Update Patient in external archive
    POST /hl7apps​/{hl7App}​/hl7​/{externalHL7AppName}​/patients​/{priorPatientID}​/merge Merge Patients in external archive
    POST ​/hl7apps​/{hl7App}​/hl7​/{externalHL7AppName}​/patients​/{priorPatientID}​/changeid Change Patient ID in external archive

    to

    Method Path Name
    PUT ​/hl7apps​/{hl7App}​/hl7​/{externalHL7AppName}​/patients/{PatientID} Update Patient in external archive

    where the emitted HL7 message depends

    • if the Patient ID in the path matches with the Patient ID in the dicom+json body
    • on Query Parameter merge (default: false)
    Patient ID Query Parameter merge Emitted HL7 message
    equals false ADT^A31^ADT_A05
    equals true 400 Bad Request
    differs false ADT^A47^ADT_A30
    differs true ADT^A40^ADT_A39
  • For existing create a new Patient service, use Patient ID (if available) in dicom+json body to create the new patient instead of throwing 400 - Bad Request (Patient ID in message body), else create system generated Patient ID (current behavior)

    Method Path Name
    POST ​/aets​/{aet}​/rs​/patients​ Create patient
  • Change service

    Method Path Name
    PUT ​/aets​/{aet}​/rs​/patients/{PatientID}​ Update patient
    • perform create patient if the Patient ID in the path matches with Patient ID in the dicom+json body and merge=false and there is no such patient in database (current behaviour)
    • perform update patient if the Patient ID in the path matches with Patient ID in the dicom+json body and merge=false
    • perform a merge of two patients, if the Patient ID in the path differs from the Patient ID in the dicom+json body and Query Parameter merge=true
    • return 400 Bad Request, if the Patient ID in the path matches with the Patient ID in the dicom+json body and Query Parameter merge=true
    • perform change patient ID, if the Patient ID in the path differs with the Patient ID in the dicom+json body and Query Parameter merge=false

Required for #1802

@gunterze gunterze modified the milestones: 5.24.2, 5.25.0 Oct 1, 2021
@gunterze gunterze modified the milestones: 5.25.0, 5.26.0 Dec 15, 2021
@gunterze gunterze modified the milestones: 5.25.1, 5.26.0 Dec 28, 2021
@gunterze gunterze modified the milestones: 5.25.2, 5.26.0 Feb 14, 2022
@gunterze gunterze modified the milestones: 5.26.0, 5.26.1 Mar 23, 2022
@gunterze gunterze modified the milestones: 5.26.1, 5.26.2 Jun 9, 2022
@gunterze gunterze modified the milestones: 5.27.0, 5.27.1 Jul 27, 2022
@gunterze gunterze modified the milestones: 5.28.0, 5.28.1 Sep 13, 2022
@gunterze gunterze modified the milestones: 5.29.0, 5.29.1 Oct 19, 2022
@gunterze gunterze modified the milestones: 5.29.1, 5.29.2 Dec 22, 2022
@gunterze gunterze modified the milestones: 5.29.2, 5.29.3 Feb 27, 2023
@gunterze gunterze modified the milestones: 5.30.0, 5.31.0 Jun 6, 2023
@gunterze gunterze modified the milestones: 5.31.0, 5.31.1 Aug 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants