Marand Think!EHR service interface

Marand Think!EHR service interface

Most of the API is compatible with the Ocean vEHR API.

Login, session, etc.

Description

Signature

Details

Gets Think!EHR server version

String getVersion();

 

Login

String login(String userId, String password);

Returns session id

Closes a session

void closeSession(String sessionId);

Close session with the given id

Checks if a session is open

boolean isOpenSession(String sessionId);

Returns true if session is open

Working with EHRs

Description

Signature

Details

Creates a new EHR

String createEhr(String sessionId, String committerName);

Returns newly created EHR's uid

Creates a new EHR and links it with the subject id in the given subject namespace

String createSubjectEhr(String sessionId, String subjectId, String subjectNamespace, String committerName);

Returns newly created EHR's uid

Finds EHR with the given subject id and subject namespace

String findEhr(String sessionId, String subjectId, String subjectNamespace);

Returns EHR's uid for given parameters

Finds subject id for the given ehr uid and subject namespace

String getSubjectId(String sessionId, String ehrId, String subjectNamespace);

Returns subject id

Sets EHR for session

void useEhr(String sessionId, String ehrId);

 

Contributions

Creates a new contribution in the current session

void createContribution(String sessionId);

 

Checks if given session already holds a contribution

boolean hasContribution(String sessionId);

Returns true if current session contains a contribution

Commits a contribution

void commitContribution(String sessionId, PartyIdentified committer, String comment, AuditChangeType changeType);

 

Rolls back a contribution

void rollbackContribution(String sessionId);

 

Create/update/delete of compositions

Adds a new composition to the contribution

String createComposition(String sessionId, VersionLifecycleState lifecycleState, Composition composition);

Returns new composition's uid

Adds a modification of an existing composition (with the given uid) to the contribution.

String modifyComposition(String sessionId, VersionLifecycleState lifecycleState, String precedingVersionUid, Composition composition);

Returns updated composition's uid

Adds a deletion of an existing composition to the contribution

void deleteComposition(String sessionId, String committerName, String versionedCompositionUid);

 

Data retrieval

Returns a composition with the given uid.

Composition getComposition(String sessionId, String compositionUid);

 

Returns all versions of composition for the given versioned uid

List<Composition> getAllCompositionVersions(String sessionId, String versionedCompositionUid);

 

Executes given AQL query on EHR currently associated with the session

List<Object[]> queryEhrContent(String sessionId, String aqlQuery);

Returns query results

Executes given AQL query on all EHRs - i.e. a population query

List<Object[]> queryPopulationContent(String sessionId, String aqlQuery);

Returns query results