Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published
Table of Contents
stylenone

...

  1. Select the last Composition sorted by Composition.date from ME DB filtered by Composition.subject=patient_id or Composition.subject=merge_person_id (all merged person of this patient_id), Composition.type= DRIVERS, Composition.status= final

    1. in case nothing found return fault with faultCode=”Server”, faultString = “Composition not found”

  2. Create a response according to schema below, populate event array with values from the Composition.event array:

    1. if event array contains only DRIVERS_GROUP2_ADMIT ($.composition.event[?(@.code.coding[].code=="DRIVERS_GROUP2_ADMIT")]):

      1. create an element in getDriversAccessStatusResponse.event

        1. getDriversAccessStatusResponse.event.code= Composition.event.code.coding.code

        2. getDriversAccessStatusResponse.event.period =Composition.event.period

      2. add additional element to event array with following values

        1. getDriversAccessStatusResponse.event.code= DRIVERS_GROUP1_ADMIT

        2. getDriversAccessStatusResponse.event.period =$.composition.event[?(@.code=="DRIVERS_GROUP2_ADMIT")].period

    2. else if `event` array contains only DRIVERS_GROUP1_DENY ($.composition.event[?(@.code.coding[].code=="DRIVERS_GROUP1_DENY")]):

      1. create an element in getDriversAccessStatusResponse.event

        1. getDriversAccessStatusResponse.event.code= Composition.event.code.coding.code

        2. getDriversAccessStatusResponse.event.period =Composition.event.period

      2. add additional element to event array in response with following values

        1. getDriversAccessStatusResponse.event.code= DRIVERS_GROUP2_DENY

        2. getDriversAccessStatusResponse.event.period =$.composition.event[?(@.code=="DRIVERS_GROUP1_DENY")].period

    3. else if `event` array contains DRIVERS_GROUP1_ADMIT or combination [ DRIVERS_GROUP1_ADMIT, DRIVERS_GROUP2_DENY ], or combination [ DRIVERS_GROUP1_DENY, DRIVERS_GROUP2_DENY ]

      1. for each element in Composition.event array create an element in getDriversAccessStatusResponse.event

        1. getDriversAccessStatusResponse.event.code= Composition.event.code.coding.code

        2. getDriversAccessStatusResponse.event.period =Composition.event.period

    4. else return faultCode=”Server”, faultString = “Could not define access status”

  3. populate additionalAdmissionCondition array for each Composition.extension item:

    1. additionalAdmissionCondition.code = Composition.extension[@].valueCodeableConcept.coding[].code

    2. if Composition.extension[@].valueCodeableConcept.extension is not null:

      1. additionalAdmissionCondition.alphabeticalValue[]= Composition.extension[@].valueCodeableConcept.extension[?(@.valueCodeableConcept)].valueCodeableConcept.coding.code

      2. additionalAdmissionCondition.numericalValue=Composition.extension[@].valueCodeableConcept.extension[?(@.valueDecimal)].valueDecimal

  4. Return response to the client

...

Key

Hierarchy level

Type

Description

Cardinality

1

getDriversAccessStatusResponse

1

object

 

0..1

2

event

2

array

Event array

1..*

3

code

3

string

Code display value from event array

1..1

4

period

3

object

Period from event array

1..1

5

start

4

dateTime

Start of period (ISO8601 format)

1..1

6

end

4

dateTime

End of period (ISO8601 format)

0..1

7

additionAdmissionCondition

2

array

Addition admission condition

0..*

8

code

3

string

Code display value from addition admission condition array

1..1

9

codeNumber

3

string

Code from addition admission condition array

1..1

10

alphabeticalValue

3

array

Alphabetical value from addition admission condition array

0..*

11

numericalValue

3

decimal

Numerical value from addition admission condition array

0..1

12

fault

1

object

 

0..1

13

faultCode

2

string

Standard code that provides more information about the fault. A set of code values is predefined by the SOAP specification, as defined below:

  • VersionMismatch—Invalid namespace defined in SOAP envelope element. The SOAP envelope must conform to the http://schemas.xmlsoap.org/soap/envelope namespace.

  • MustUnderstand—SOAP header entry not understood by processing party.

  • Client—Message was incorrectly formatted or is missing information.

  • Server—Problem with the server that prevented message from being processed.

1..1

14

faultString

2

string

A human readable explanation of the fault

1..1

...